Skip to content

Instantly share code, notes, and snippets.

@mass10
Last active August 13, 2017 02:14
Show Gist options
  • Save mass10/24ffb79b0c2b93c29f7d297b3a674354 to your computer and use it in GitHub Desktop.
Save mass10/24ffb79b0c2b93c29f7d297b3a674354 to your computer and use it in GitHub Desktop.
impdp/expdp のメモ.md

oracle ユーザーの環境変数

vim ~/.bashrc
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=orcl

システムを起動する

$ sqlplus / as sysdba
SQL> STARTUP 

リスナーを起動する

  • 必要なくなっている感じ??
$ lsnrctl start

現在のユーザーを確認する

SQL> select username from user_users;

Oracle Database 12c を silent インストールできない

./runInstaller -silent -ignoreSysPrereqs

Oracle Database 12c Enterprise Manager

現在のプラガブルデータベースを変更する(12c)

  • PDB というデータベースは書き込みできない??
SHOW CON_NAME;
SELECT NAME, OPEN_MODE FROM V$PDBS;
ALTER SESSION SET CONTAINER = ORCLPDB;

ユーザーを作成して DBA にしておく

CREATE USER IDOL_ADMIN IDENTIFIED BY "idol";
GRANT DBA TO IDOL_ADMIN;
GRANT CREATE SESSION TO IDOL_ADMIN;

接続

  • 普通のユーザー
sqlplus IDOL_ADMIN/idol@ORCLPDB
  • OS 認証
sqlplus "/ as sysdba"

ディレクトリオブジェクトを作成する

CREATE DIRECTORY EXP_DIRECTORY AS '/tmp';
CREATE DIRECTORY EXP_DIRECTORY AS '/u01/app/oracle/TEMP';

Oracle Database 11g Enterprise Manager

https://192.168.187.129:1158/em sys/oracle

expdp

$ export ORACLE_SID=ORCL
$ export ORACLE_SID=ORCLPDB # 12c の場合
$ expdp \"/ as sysdba\" DIRECTORY=EXP_DIRECTORY SCHEMAS=IDOL_ADMIN DUMPFILE=IDOL.dmp REUSE_DUMPFILES=Y

impdp

レコードだけそっくり入れ替える
$ export ORACLE_SID=ORCL
$ export ORACLE_SID=ORCLPDB # 12c の場合
$ impdp \"/ as sysdba\" DIRECTORY=EXP_DIRECTORY SCHEMAS=IDOL_ADMIN DUMPFILE=IDOL.dmp TABLE_EXISTS_ACTION=TRUNCATE content=DATA_ONLY
$ impdp IDOL_ADMIN@ORCLPDB directory=EXP_DIRECTORY DUMPFILE=IDOL.dmp table_exists_action=TRUNCATE content=DATA_ONLY
DROP & CREATE
  • SEQUENCE や VIEW は 再作成されないことに注意。必要なら DROP。
  • 普通のユーザーで実行すると、DIRECTORY OBJECT への参照権限を気にする必要がある。
$ impdp \"/ as sysdba\" DIRECTORY=EXP_DIRECTORY SCHEMAS=IDOL_ADMIN DUMPFILE=IDOL.dmp TABLE_EXISTS_ACTION=REPLACE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment