読者です 読者をやめる 読者になる 読者になる

Oracleについて

DB
  • ユーザの作成方法

    sqlplus sys/oracle@teradb as sysdba
    CREATE USER hogeuser IDENTIFIED BY "hogepass";
    GRANT DBA TO hogeuser;

  • クライアント環境の文字コード設定(sqlplusでテーブル操作する前に行う)

    Windowsの場合>
    set NLS_LANG=japanese_japan.JA16SJISTILDE
    Linuxの場合>
    export NLS_LANG=Japanese_Japan.AL32UTF8

  • 作成したユーザでsqlplusに接続する

    <ローカルの場合>
    sqlplus hogeuser/hogepass@hogedb
    <リモートの場合>
    sqlplus hogeuser/hogepass@127.0.0.1:1521/hogedb
    127.0.0.1のところはリモートDBのIPアドレスで置き換える)

  • データベースにsqlを流す

    <ローカルの場合>
    sqlplus hogeuser/hogepass@hogedb @ hoge.sql
    <リモートの場合>
    sqlplus hogeuser/hogepass@127.0.0.1:1521/hogedb @hoge.sql

  • テーブル一覧の確認(sqlplusに接続して確認)
    • SELECT TABLE_NAME FROM USER_TABLES;
  • Oracle12cの場合:
    • jdbc接続するときは、サーバ側のtnsnames.oraの記述内容は影響しない ⇒ そもそもtnsnames.oraはクライアントから
  • Oracle12cの場合:
    • cdbとpdbがあって、cdbの中にpdbがある。teradbはpdbにあり、fsuserもpdbに登録されている。Jdbc接続のときにユーザ認証エラーになる(ora-01017)のは、cdbに接続しにいこうとしているのではないか
  • データベースの文字コード確認コマンド(sql)は以下。

    SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

  • oracleのバージョン確認は、sqlplusにログインして、以下のsqlを発行する

    SQL> select * from v$version;