Oracle Database 18c Express Editionの初期設定
インストールして使おうとしたら、11gと違って、デフォルトでPDBが設定されていた。
最初はユーザーすら作成できないので、いろいろ設定を行うことに・・・
1.最初にやるべきは、SYSユーザーでPDBに切り替えなければいけない。
/* Oracle 18C ExpressEditionの初期設定 PDBに切り替えないとユーザーが作れない。 */ --PDBの確認 select * from cdb_pdbs / --PDBオープン ALTER PLUGGABLE DATABASE XEPDB1 OPEN; --自動起動設定 ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE; / --PDB切り替え alter session set container = XEPDB1; / --PDBの確認 念のため select * from cdb_pdbs / --SQL Developerで以下を実行して状態確認 show pdbs
2.それからユーザーの作成
例は無難なところで設定。
-- USER SQL CREATE USER "TESTUSER" IDENTIFIED BY "test" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK -- QUOTAS ALTER USER "TESTUSER" QUOTA UNLIMITED ON "USERS"
3.接続はTNSを使うしかないかなと思ったので、「tnsnames.ora」に設定
SERVICE_NAMEがPDBの名前になるのね。
XEPGB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1) ) )
4.ユーザーもTNSも設定したので、接続。。。と思ったら、ユーザーに権限を割り振るのを忘れていた。
--セッション権限付与 grant create session to TESTUSER / --リソース権限付与 grant resource to TESTUSER / --テーブルスペース権限付与 grant unlimited tablespace to TESTUSER
これでようやく繋がった。
さすがにもうPDBを意識しないとダメってことなんだろうね。