Oracle Database 11gR2 インストール後に設定した項目です。
- sqlplusのパス,ORACLE_HOMEを設定
- ORACLE_SIDを設定
- sqlplusの文字化け
- Oracleシステムアカウントのパスワードを無期限にする
sqlplusのパスが未設定
1 2 |
$ sqlplus -bash: sqlplus: コマンドが見つかりません |
ORACLE_HOMEが未設定
1 2 3 4 |
$ /opt/oracle/app/product/11.2.0/dbhome_1/bin/sqlplus Error 6 initializing SQL*Plus SP2-0667: Message file sp1<lang>.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory |
1 2 3 4 5 6 7 8 9 10 11 12 |
$ vi .bash_profile export ORACLE_BASE=/opt/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH $ source .bash_profile $ sqlplus SQL*Plus: Release 11.2.0.1.0 Production on 日 4月 1 15:10:10 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. ユーザー名を入力してください: |
ORACLE_SIDが未設定
1 2 3 4 5 6 |
$ sqlplus sys/password SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 29 18:09:46 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: ORA-12162: TNS:net service name is incorrectly specified |
データベース作成時に設定したSIDを環境変数RACLE_SIDに設定
1 2 3 4 5 6 |
$ vi .bash_profile export ORACLE_BASE=/opt/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=sampleDB PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH |
NLS_LANGを指定しないとsqlplusが文字化けしていました。
1 2 3 4 5 6 |
$ sqlplus sys/password as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 1 18:12:11 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production ????????? |
terminalの文字コードに合わせてNLS_LANGを設定します。
英語UTF-8
export NLS_LANG=American_America.AL32UTF8
日本語UTF-8
export NLS_LANG=Japanese_Japan.AL32UTF8
日本語SJIS
export NLS_LANG=Japanese_Japan.JA16SJIS
日本語EUC
export NLS_LANG=Japanese_Japan.JA16EUC
1 2 3 4 5 6 7 |
$ vi .bash_profile export ORACLE_BASE=/opt/oracle/app export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=sampleDB export NLS_LANG=Japanese_Japan.AL32UTF8 PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH |
確認
1 2 3 4 5 6 7 |
$ sqlplus system/password ad sysdba SQL*Plus: Release 11.2.0.1.0 Production on 日 4月 1 15:27:29 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production に接続されました。 |
以前パスワードの有効期限が切れてログイン出来なくなった痛い経験があるので無期限に設定しました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ sqlplus sys/password as sysdba SQL*Plus: Release 11.2.0.1.0 Production on 日 4月 1 15:45:12 2016 Copyright (c) 1982, 2009, Oracle. All rights reserved. Oracle Database 11g Release 11.2.0.1.0 - 64bit Production に接続されました。 SQL> select username,profile from dba_users; USERNAME -------------------------------------------------------------------------------- PROFILE -------------------------------------------------------------------------------- SYSMAN DEFAULT SYSTEM DEFAULT SYS DEFAULT (snip) |
DEFAULTプロファイルのパスワードの有効期限は180日です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SQL> select * from dba_profiles where 0=0 and profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'; PROFILE -------------------------------------------------------------------------------- RESOURCE_NAME -------------------------------------------------------------------------------- RESOURCE_TYPE ------------------------ LIMIT -------------------------------------------------------------------------------- DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 |
DEFAULTプロファイルに属しているのでこのプロファイルのパスワードを無期限に変更します。
1 |
SQL> alter profile default limit password_life_time unlimited; |
変更の確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
SQL> select * from dba_profiles where 0=0 and profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'; PROFILE -------------------------------------------------------------------------------- RESOURCE_NAME -------------------------------------------------------------------------------- RESOURCE_TYPE ------------------------ LIMIT -------------------------------------------------------------------------------- DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED |
基本的な設定はこんなところでしょうか。