概要
Oracle12cをインストールして、DB作成してSQLPLUSで接続するまでの手順を記載します。
環境
- OS: Windows10 Professional 64bit
- Oracle: 12c(12.2.0.1.0)
DB構成
ここでは下記のとおり2つのPDB構成を作成します。
※PDBとは?→http://qiita.com/AkihikoOgata/items/fdb83a1577bbf8a74cde
ホスト | ポート | CDB | PDB | SID |
---|---|---|---|---|
ローカル | 1521 | orcl | pdb1 | SRV_PDB1 |
ローカル | 1521 | orcl | pdb2 | SRV_PDB2 |
手順
①インストール
こちら↓の資料を参考に「4.3.1 Oracle EM Express の稼働確認」まで進めます。
http://www.oracle.com/technetwork/jp/database/enterprise-edition/documentation/db12-1-0-2-install-guide-winx64-2323059-ja.pdf
注意点としては、「dbca.bat」を実行する際は管理者権限(右クリックして「管理者として実行」)で実行してください。管理者権限で実行しないとリスナー起動に失敗します。
②設定変更
SIDで接続可能にするために設定を追加します。
listener.oraの変更
「ORACLE_HOME\network\admin\listener.ora」ファイルに
USE_SID_AS_SERVICE_LISTENER = ON
を追加します。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = [任意のパス])
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:[任意のパス]\bin\oraclr12.dll")
)
)
USE_SID_AS_SERVICE_LISTENER = ON
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [任意のホスト])(PORT = 1521))
)
)
sqlnet.oraの変更
「ORACLE_HOME\network\admin\sqlnet.ora」ファイルに
SQLNET.ALLOWED_LOGON_VERSION=8
を追加します。
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
SQLNET.ALLOWED_LOGON_VERSION=8
tnsnames.oraの変更
「ORACLE_HOME\network\admin\tnsnames.ora」ファイルに以下を追加します。
※SID接続名は「SRV_PDB1」と「SRV_PDB2」にしています。
SRV_PDB1=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [任意のホスト])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = [任意のPDB名])
)
)
SRV_PDB2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = [任意のホスト名])(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = [任意のPDB名])
)
)
リスナーの再起動
コマンドプロンプト(管理者権限で実行)にて、以下コマンドを実行します。
lsnrctl stop
lsnrctl start
③PDBオープン、オープン状態保持設定
コマンドプロンプトにて、以下コマンドを実行しSQL Plusを実行します。
sqlplus sys/[パスワード] as sysdba
SQL Plusにて以下コマンドを実行しPDBが「READ WRITE」であることを確認します。
ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER PLUGGABLE DATABASE ALL SAVE STATE;
ALTER SESSION SET CONTAINER=[任意のPDB名];
SHOW CON_NAME;
select name, open_mode from v$pdbs;
④ユーザ作成
PDBにユーザを作成します。コマンドプロンプトにて、以下コマンドを実行しSQLPLUSを起動します。
sqlplus / as sysdba
SQL Plusにて以下コマンドを実行しユーザを作成します。
ユーザを作成するPDBにセッションをセット
ALTER SESSION SET CONTAINER = [任意のPDB名];
SHOW CON_NAME
ユーザを作成
CREATE USER [任意のユーザ名] IDENTIFIED BY [任意のユーザパスワード];
ユーザ権限を付与
GRANT CONNECT , RESOURCE TO [任意のユーザ名];
※「pdb1」に「hoge」ユーザを「hoge_pwd」パスワードで作成した場合の例↓
⑤接続確認
コマンドプロンプトにて、以下コマンドを実行しSQLPLUSで接続できることを確認します。
sqlplus [任意のユーザ名]/[任意のユーザパスワード]@[任意のSID]
※「SRV_PDB1」のSIDに「hoge」ユーザで接続した場合の例↓
ORA-01950が発生したら・・・
alter user hoge quota unlimited on USERS;
おまけ
「A5:SQL Mk-2」ツールで接続する場合は以下の通りです。
※参照:http://a5m2.mmatsubara.com/
OCI経由
直接接続
以上です。