私はOracle Worldの初心者です。
コンピューターAからテーブルとそのデータをコンピューターBにエクスポートする必要があります。
だから、私の質問は:1つのコマンドでユーザー、テーブルスペース、テーブルとそのデータをエクスポートする方法はありますか?または、コンピュータBでテーブルスペースとユーザーの前に作成してから、テーブルをインポートする必要がありますか?
申し訳ありませんが、質問は馬鹿げているように見えるかもしれませんが、私は初心者です。正しい手順や手順を完全に理解していないので、少し混乱して恐れています。ありがとうございました
それを行う通常の方法はデータポンプです。 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ですが、-何が起こっているのか理解するのが良いでしょう。
幸運を!