Oracleコマンド備忘
CDB,PDBの確認
sqlplus / as sysdba SQL> select instance_name, status from v$instance; INSTANCE_NAME STATUS -------------------------------- ------------------------ xe OPEN SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 XEPDB1 READ WRITE NO
db_unique_nameの確認
SQL>show parameter db_unique_name; NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ db_unique_name string XE
ユーザー作成
CREATE USER user_name IDENTIFIED BY "password";
ディレクトリ作成
CREATE DIRECTORY dir_name AS 'C:\temp_dir';
ディレクトリへの権限付与
grant read,write on directory dir_name to user_name;
ユーザーのパスワード変更
ALTER USER user_name IDENTIFIED BY password;
XEの初期プラカブルDBへの接続
sqlplus user_name/XXXXXXXX@//localhost:1521/XEPDB1 as sysdba
テーブル作成
CREATE TABLE examples( ID NUMBER(10,0) PRIMARY KEY, NAME VARCHAR2(64), created DATE );
データインサート
INSERT INTO examples(id,name,created) VALUES(1,'ヨシヒコ',SYSDATE); INSERT INTO examples(id,name,created) VALUES(2,'メレブ',SYSDATE);
テーブルスペースの作成
CREATE TABLESPACE sample_space DATAFILE 'C:\temp_dir\data\demo.dbf' SIZE 100M AUTOEXTEND ON NEXT 500K MAXSIZE 1024M;
expdp/impdp
expdp user_name/xxxxxx@//localhost:1521/XEPDB1 DIRECTORY=dir_name DUMPFILE=examples.dmp LOGFILE=examples.log TABLES=examples impdp user_name/xxxxxx@//localhost:1521/XEPDB1 DIRECTORY=dir_name DUMPFILE=examples.dmp LOGFILE=examples.log TABLES=examples TABLE_EXISTS_ACTION=TRUNCATE impdp user_name/xxxxxx@//localhost:1521/XEPDB1 DIRECTORY=dir_name DUMPFILE=examples.dmp LOGFILE=examples.log TABLES=examples TABLE_EXISTS_ACTION=REPLACE
sqlplusでsysdba権限で接続する(直接接続)
sqlplus sys/password@//XXX.xxx.xxx.xxx:1521/XE as sysdba
sqlplusでSQLファイルを実行
sqlplus user_name/xxxxxx@//localhost:1521/XEPDB1 @C:\temp\sample.sql
sqlファイル内のspool文に日本語のフォルダ名を指定すると、化けてしまいspoolに失敗するので注意。