Oracle 12 c pdb expdp/impdpを使用したインポートエクスポート
8847 ワード
12 cは、1つのコンテナcdbに複数のデータベースpdbが同時に存在する挿抜可能なデータベースを発売した.pdbのデータポンプインポートエクスポートでは、従来のデータベースとは少し異なります.
1,pdbにtansnamesを追加する必要がある
2、エクスポートのインポート時にuseridパラメータにtansnamesの値を指定する必要があります.たとえばuserid=user/pwd@tnsname
データポンプエクスポート
1、現在のSIDを表示し、pdbを表示し、コンテナデータベースに切り替える.ここのpluggableデータベースはpdborclである.
cdbにログインし、pdbを表示します.
pdborclに切り替え
2、サンプルユーザーscottを表示し、以降のschemaレベルのインポートエクスポートでそのユーザーのデータを使用します.
3、dba権限を単独で作成するデータポンプユーザー
4、データポンプディレクトリdp_を作成するdir、パスoracleホームディレクトリ
5、dpユーザーにデータポンプ経路に読み書き権限を与える
(dba権限のこのステップは省略できますが、試験の完全性のためにここで保持します)
6、tnsnamesを設定.ora、pdboroclを増やします.SERVICE_NAMEはpdbのインスタンス名、ここではpdborcl
7.tnsnames.oraの有効性、OK(0 msec)を返すと構成成功
8、データポンプのエクスポートユーザ名パスワードはdp/dpであり、tnsnamesを介してpdborcl を指す.データポンプディレクトリ:dp_dir,OSパスは/home/oracle エクスポートファイル:/home/oracle/scott_pdborcl.dmp エクスポートログ:/home/oracle/scott_pdborcl.log エクスポートモードはschemeであり、ユーザ:scott
10、エクスポートファイルの表示
11、エクスポートファイルが正常にインポートできるかどうかをテストするために、pdborclのscottユーザーを削除します.
ユーザーにアクセスするテーブルはもう存在しません
12、scottユーザーのインポート
13、試験導入結果
インポートに成功しました.
1,pdbにtansnamesを追加する必要がある
2、エクスポートのインポート時にuseridパラメータにtansnamesの値を指定する必要があります.たとえばuserid=user/pwd@tnsname
データポンプエクスポート
1、現在のSIDを表示し、pdbを表示し、コンテナデータベースに切り替える.ここのpluggableデータベースはpdborclである.
[oracle@test admin]$ echo $ORACLE_SID
[oracle@test admin]orcl
cdbにログインし、pdbを表示します.
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
PDB$SEED READ ONLY NO
PDBORCL MOUNTED
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
PDB$SEED READ ONLY NO
PDBORCL READ WRITE NO
pdborclに切り替え
SQL> alter session set container=pdborcl;
Session altered.
SQL>
2、サンプルユーザーscottを表示し、以降のschemaレベルのインポートエクスポートでそのユーザーのデータを使用します.
SQL> select owner, table_name from dba_tables where owner='SCOTT';
OWNER TABLE_NAME
------------------------------ ----------------------------------------
SCOTT SALGRADE
SCOTT BONUS
SCOTT EMP
SCOTT DEPT
3、dba権限を単独で作成するデータポンプユーザー
SQL> grant dba to dp identified by dp;
Grant succeeded.
4、データポンプディレクトリdp_を作成するdir、パスoracleホームディレクトリ
SQL> create or replace directory dp_dir as '/home/oracle';
Directory created.
SQL> exit
5、dpユーザーにデータポンプ経路に読み書き権限を与える
(dba権限のこのステップは省略できますが、試験の完全性のためにここで保持します)
SQL> grant read,write on directory dp_dir to dp;
Grant succeeded.
6、tnsnamesを設定.ora、pdboroclを増やします.SERVICE_NAMEはpdbのインスタンス名、ここではpdborcl
[oracle@xqzt admin]$ pwd
/data/app/oracle/product/12.1.0/dbhome_1/network/admin
[oracle@xqzt admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /data/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xqzt)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xqzt)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =pdborcl)
)
)
7.tnsnames.oraの有効性、OK(0 msec)を返すと構成成功
[oracle@xqzt admin]$ tnsping pdborcl
TNS Ping Utility for Linux: Version 12.1.0.2.0 - Production on 10-DEC-2015 09:10:34
Copyright (c) 1997, 2014, Oracle. All rights reserved.
Used parameter files:
/data/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xqzt)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =pdborcl)))
OK (0 msec)
8、データポンプのエクスポート
[oracle@xqzt ~]$ expdp dp/dp@pdborcl directory=dp_dir dumpfile=scott_pdborcl.dmp logfile=scott_pdborcl.log schemas=scott
Export: Release 12.1.0.2.0 - Production on Thu Dec 10 09:32:05 2015Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
Starting "DP"."SYS_EXPORT_SCHEMA_01": dp/********@pdborcl directory=dp_dir dumpfile=scott_pdborcl.dmp logfile=scott_pdborcl.log schemas=scott
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 192 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
. . exported "SCOTT"."DEPT" 6.023 KB 4 rows
. . exported "SCOTT"."EMP" 8.773 KB 14 rows
. . exported "SCOTT"."SALGRADE" 6.023 KB 10 rows
. . exported "SCOTT"."BONUS" 0 KB 0 rows
Master table "DP"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for DP.SYS_EXPORT_SCHEMA_01 is:
/home/oracle/scott_pdborcl.dmp
Job "DP"."SYS_EXPORT_SCHEMA_01" successfully completed at Thu Dec 10 09:32:29 2015 elapsed 0 00:00:21
[oracle@xqzt ~]$
10、エクスポートファイルの表示
[oracle@xqzt ~]$ ls -l scott_pdborcl.dmp scott_pdborcl.log
-rw-r----- 1 oracle oinstall 356352 12 10 09:32 scott_pdborcl.dmp
-rw-r--r-- 1 oracle oinstall 1960 12 10 09:32 scott_pdborcl.log
11、エクスポートファイルが正常にインポートできるかどうかをテストするために、pdborclのscottユーザーを削除します.
SQL> select count(*) from scott.DEPT;
COUNT(*)
----------
SQL> drop user scott cascade ;
User dropped.
SQL>
ユーザーにアクセスするテーブルはもう存在しません
SQL> select count(*) from scott.DEPT;
select count(*) from scott.DEPT
*ERROR at line 1:
ORA-00942: table or view does not exist
12、scottユーザーのインポート
[oracle@xqzt ~]$ impdp dp/dp@pdborcl directory=dp_dir dumpfile=scott_pdborcl.dmp logfile=scott_pdborcl_imp.log schemas=scott
Import: Release 12.1.0.2.0 - Production on Thu Dec 10 09:39:02 2015Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
Master table "DP"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "DP"."SYS_IMPORT_SCHEMA_01": dp/********@pdborcl directory=dp_dir dumpfile=scott_pdborcl.dmp logfile=scott_pdborcl_imp.log schemas=scott
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "SCOTT"."DEPT" 6.023 KB 4 rows
. . imported "SCOTT"."EMP" 8.773 KB 14 rows
. . imported "SCOTT"."SALGRADE" 6.023 KB 10 rows
. . imported "SCOTT"."BONUS" 0 KB 0 rows
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type SCHEMA_EXPORT/STATISTICS/MARKER
Job "DP"."SYS_IMPORT_SCHEMA_01" successfully completed at Thu Dec 10 09:39:06 2015 elapsed 0 00:00:04
[oracle@xqzt ~]$
13、試験導入結果
SQL> select count(*) from scott.DEPT;
COUNT(*)
----------
4
インポートに成功しました.