web-dev-qa-db-ja.com

テーブルとテーブルスペースOracleでユーザーをエクスポートする方法

私はOracle Worldの初心者です。

コンピューターAからテーブルとそのデータをコンピューターBにエクスポートする必要があります。

だから、私の質問は:1つのコマンドでユーザー、テーブルスペース、テーブルとそのデータをエクスポートする方法はありますか?または、コンピュータBでテーブルスペースとユーザーの前に作成してから、テーブルをインポートする必要がありますか?

申し訳ありませんが、質問は馬鹿げているように見えるかもしれませんが、私は初心者です。正しい手順や手順を完全に理解していないので、少し混乱して恐れています。ありがとうございました

1
MDP

それを行う通常の方法はデータポンプです。 copyユーザーにしたいので、スキーマモードを使用します。

この例は11gXEに基づいています。別のデータベースバージョンを使用している場合は、それを調整する必要があります。


データポンプはディレクトリ(Oracleオブジェクト)の存在を必要とするため、ソースデータベースとターゲットデータベースの両方にディレクトリを作成する必要があります。SYSとして接続し、次のように実行します。

SQL> create directory my_dir as 'c:\temp';

Directory created.

SQL> grant read, write on directory my_dir to scott;

Grant succeeded.

SQL>

物理ディレクトリ(この例ではc:\ temp)はデータベースサーバーにあります。私が11gXEを実行しているとき、私のラップトップもデータベースサーバーです

エクスポートすると、エクスポート(dmp)ファイルとログファイルがそのディレクトリに作成されます。同じことがインポートにも当てはまります。dmpファイルをインポートする必要があります。

両方のデータベースで、エクスポート/インポートを実行するユーザーを作成し、DBAロールを付与して、インポート中に-ユーザーも作成するようにします。そうでなければ、失敗します。また、datapump_exp_full_database, datapump_imp_full_databaseこれにより、ユーザーが既に持っている特権をエクスポートします(そうしないと、すべてがエクスポートされますが、新しくインポートされたユーザーはcreate session)。

SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

SQL> create user importer identified by imp
  2  default tablespace users
  3  temporary tablespace temp
  4  profile default
  5  quota unlimited on users;

User created.

SQL> grant dba, datapump_exp_full_database, datapump_imp_full_database to importer;

Grant succeeded.

オペレーティングシステムのコマンドプロンプトで、EXPDPを実行してエクスポートを実行します。

expdp importer/imp@xe schemas=scott directory=my_dir dumpfile=scotte.dmp logfile=scott_e.log

次のようになります。

c:\Temp>expdp importer/imp@xe schemas=scott directory=my_dir dumpfile=scotte.dmp logfile=scott_e.log


Export: Release 11.2.0.2.0 - Production on ╚et Ruj 6 21:13:55 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Starting "IMPORTER"."SYS_EXPORT_SCHEMA_01":  importer/********@xe schemas=scott directory=my_dir dum
pfile=scotte.dmp logfile=scott_e.log
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 256 KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
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/PACKAGE/PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "SCOTT"."BONUS"                             6.210 KB       1 rows
. . exported "SCOTT"."DEPT"                              5.929 KB       4 rows
. . exported "SCOTT"."EMP"                               8.484 KB      12 rows
. . exported "SCOTT"."SALGRADE"                          5.859 KB       5 rows
. . exported "SCOTT"."EMP_LOG"                               0 KB       0 rows
. . exported "SCOTT"."TABLE01"                               0 KB       0 rows
. . exported "SCOTT"."TABLE02"                               0 KB       0 rows
. . exported "SCOTT"."TABLE03"                               0 KB       0 rows
Master table "IMPORTER"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for IMPORTER.SYS_EXPORT_SCHEMA_01 is:
  C:\TEMP\SCOTTE.DMP
Job "IMPORTER"."SYS_EXPORT_SCHEMA_01" successfully completed at 21:14:18

c:\Temp>

Dmpファイルをターゲットコンピュータにコピーし、インポートを実行します。

ユーザーScottをドロップします(今、別のデータベース/サーバーにアクセスできないため):

SQL> show user
USER is "SYS"
SQL> drop user scott cascade;

User dropped.

SQL>

OK、インポートしましょう-オペレーティングシステムコマンドプロンプト;コマンドは、expdpとほぼ同じです。ソースデータベースとターゲットデータベースでテーブルスペース名が異なる場合は、REMAP_TABLESPACESパラメータが必要です。

impdp importer/imp@xe schemas=scott directory=my_dir dumpfile=scotte.dmp logfile=scott_i.log

インポートは次のようになります。

c:\Temp>impdp importer/imp@xe schemas=scott directory=my_dir dumpfile=scotte.dmp logfile=scott_i.log


Import: Release 11.2.0.2.0 - Production on ╚et Ruj 6 21:14:50 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
Master table "IMPORTER"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "IMPORTER"."SYS_IMPORT_SCHEMA_01":  importer/********@xe schemas=scott directory=my_dir dum
pfile=scotte.dmp logfile=scott_i.log
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC
ORA-39082: Object type TYPE:"SCOTT"."IBS_S_DOCUMENT_T_1" created with compilation warnings
ORA-39082: Object type TYPE:"SCOTT"."IBS_S_DOCUMENT_T_1" created with compilation warnings
Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
. . imported "SCOTT"."BONUS"                             6.210 KB       1 rows
. . imported "SCOTT"."DEPT"                              5.929 KB       4 rows
. . imported "SCOTT"."EMP"                               8.484 KB      12 rows
. . imported "SCOTT"."SALGRADE"                          5.859 KB       5 rows
. . imported "SCOTT"."EMP_LOG"                               0 KB       0 rows
. . imported "SCOTT"."TABLE01"                               0 KB       0 rows
. . imported "SCOTT"."TABLE02"                               0 KB       0 rows
. . imported "SCOTT"."TABLE03"                               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/PACKAGE/PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION
Processing object type SCHEMA_EXPORT/PROCEDURE/PROCEDURE
Processing object type SCHEMA_EXPORT/PACKAGE/COMPILE_PACKAGE/PACKAGE_SPEC/ALTER_PACKAGE_SPEC
Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."A1_P_LOG" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."OVERDUETODAY" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."PROC" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."PROC_SECOND" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."P_MATCH" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."P_SURVEY" created with compilation warnings
ORA-39082: Object type ALTER_PROCEDURE:"SCOTT"."REPORTS_ITEM_INFO" created with compilation warnings

Processing object type SCHEMA_EXPORT/PACKAGE/PACKAGE_BODY
ORA-39082: Object type PACKAGE_BODY:"SCOTT"."MY_JOIN_TEST_SP_PACKAGE_3" created with compilation war
nings
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/TRIGGER
ORA-39082: Object type TRIGGER:"SCOTT"."TRG_BU_DEPT" created with compilation warnings
ORA-39082: Object type TRIGGER:"SCOTT"."TRG_BU_DEPT" created with compilation warnings
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Job "IMPORTER"."SYS_IMPORT_SCHEMA_01" completed with 12 error(s) at 21:14:55


c:\Temp>

特定のオブジェクトが無効な状態でインポートされました。不思議ではありません。私はスコットをテストの目的で使用し、常にオブジェクトを作成およびドロップしています。あなたの場合、インポートはおそらくprettierになります。

新しくインポートされたスコットに接続してみましょう:

c:\Temp>sqlplus scott/tiger

SQL*Plus: Release 11.2.0.2.0 Production on ╚et Ruj 6 21:30:44 2018

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                          TABLE
DEPT                           TABLE
DEPT_EXT                       TABLE
EMP                            TABLE
EMP_LOG                        TABLE
SALGRADE                       TABLE
TABLE01                        TABLE
TABLE02                        TABLE
TABLE03                        TABLE

9 rows selected.

SQL> create table test (id number);

Table created.

SQL>

大丈夫のようです。試してみる;何も損なうことはできません。ターゲットデータベースで問題が発生した場合は、インポートしたユーザーを削除して再試行してください。

データポンプのドキュメントを読むことをお勧めします。例を見るとNiceですが、-何が起こっているのか理解するのが良いでしょう。

幸運を!

1
Littlefoot