新しいOracleデータベースでのimpdp操作の前の準備
元のデータベースのデータテーブルスペースと一時テーブルスペースのサイズを確認します
元のデータベースのデータテーブルスペースを確認してください
SQL>セットライン 500;
SELECT total.tablespace_name,
円形(total.MB, 2) AS Total_MB,
円形(total.MB – free.MB, 2) AS Used_MB,
円形(( 1 – free.MB / total.MB ) * 100, 2)
|| ‘%’ AS Used_Pct
から (SELECTtablespace_name,
和(バイト) / 1024 / 1024 AS MB
FROM dba_free_space
GROUP BYtablespace_name) 自由,
(SELECTtablespace_name,
和(バイト) / 1024 / 1024 AS MB
FROM dba_data_files
GROUP BYtablespace_name) 合計
WHERE free.tablespace_name = total.tablespace_name;
元のデータベースの一時テーブルスペースのサイズを確認します
SQL>c.tablespace_nameを選択します,
to_char(c.bytes / 1024/1024/1024、’99、999.999′) total_gb,
to_char( (c.bytes-d.bytes_used)/1024/1024/1024,’99、999.999′) free_gb,
to_char(d.bytes_used / 1024/1024/1024、’99、999.999′) use_gb,
to_char(d.bytes_used * 100 / c.bytes,’99 .99′) || '%'使用する
から (表領域名を選択,和(バイト) バイト
dba_temp_filesからtablespace_nameによるグループ化) c,
(表領域名を選択,和(bytes_cached) bytes_used
v $ temp_extent_poolGROUPからtablespace_nameで) d
ここで、c.tablespace_name = d.tablespace_name;
データ表領域と一時表領域を作成します,元のテーブルスペースと同じサイズのテーブルスペースを作成することをお勧めします
データテーブルスペースの場合
SQL>セットライン 500;
SQL>v $ datafileから名前を選択します
SQL>表領域TBデータファイル ‘/path/…/tb.dbfを作成します’ サイズxxxMは次のxxxMで自動拡張します最大サイズ無制限;
データテーブルスペースが巨大な場合, たとえば、30GBよりも大きく、100GBよりも大きいです。, 拡張表スペースを作成できます
SQL>表領域TBの変更データファイル ‘/path/…/tb_1.dbfの追加’ サイズ30000M次の自動拡張1000M最大サイズ無制限;
SQL>表領域TBの変更データファイル ‘/path/…/tb_2.dbfの追加’ サイズ30000M次の自動拡張1000M最大サイズ無制限;
…………。.
…………。.
一時テーブルスペースの場合
SQL>セットライン 500;
SQL>a80のcolfile_name;
SQL>SELECT file_name,
file_id,
表領域名,
状態,自動拡張可能,
バイト/ 1024/1024 “ファイルサイズ(M)” FROM dba_temp_files;
SQL>一時表領域を作成するTB_TEMPtempfile ‘/ path /…/ tb_temp.dbf’size xxxM autoextend on next xxxM maxsize無制限;
一時テーブルスペースが巨大な場合, たとえば、30GBよりも大きく、100GBよりも大きいです。, 拡張表スペースを作成できます.
SQL>表領域TB_TEMPを変更し、一時ファイル ‘/path/…/tb_temp_1.dbfを追加します’ サイズ30000M次の自動拡張1000M最大サイズ無制限;
SQL>表領域TB_TEMPを変更し、一時ファイル ‘/path/…/tb_temp_2.dbfを追加します’ サイズ30000M次の自動拡張1000M最大サイズ無制限;
…………。.
…………。.
一部のシステムテーブルスペースを拡張する
表領域SYSAUXの変更データファイル ‘/path/…/sysaux01_1.dbfの追加’ サイズ5000M次の自動拡張100M最大サイズ無制限;
表領域の変更SYSTEMデータファイルの追加 ‘/path/…/system01_1.dbf’ サイズ5000M次の自動拡張100M最大サイズ無制限;
表領域の変更UNDOTBS1データファイル ‘/path/…/undotbs01_1.dbfを追加’ サイズ30000M次の自動拡張500M最大サイズ無制限;
表領域の変更USERSはデータファイル ‘/path/…/users01_1.dbfを追加します’ サイズ500M次の自動拡張200M最大サイズ無制限;
元のデータテーブルスペースと元の一時テーブルスペースのユーザーを確認します
SQL>セットライン 500;
SQL>a80のcolDIRECTORY_PATH;
SQL>選択する * dba_usersから;
元のデータテーブルスペースと一時テーブルスペースを使用して、新しいユーザーと同じユーザーを作成します.
新しいユーザーを作成する
SQL>passwd1デフォルトテーブルスペースTB一時テーブルスペースTB_TEMPで識別されるユーザーnew_userを作成します;
元のテーブルスペースで同じユーザーを作成する
SQL>passwd2デフォルトテーブルスペースTB一時テーブルスペースTB_TEMPで識別されるユーザーoriginal_user1を作成します;
SQL>passwd3デフォルトテーブルスペースTB一時テーブルスペースTB_TEMPで識別されるユーザーoriginal_user2を作成します;
元のデータベースの論理ディレクトリを確認する
SQL>セットライン 500;
SQL>選択する * dba_directoriesから;
元のデータベースと同じ名前で論理ディレクトリを作成します(実際のパスは元のディレクトリとは異なる場合があります,ただし、アクセスできるようにするには、許可に注意を払う必要があります。)
SQL>ディレクトリoriginal_name1を「/path/../path1」として作成または置換します;
SQL>ディレクトリoriginal_name2を「/path/../path2」として作成または置換します;
SQL>ディレクトリoriginal_name3を「/path/../path3」として作成または置換します;
………………。.
………………。.
新しい論理ディレクトリを作成します
SQL>ディレクトリnew_directoryを「/path1/../path3」として作成または置換します;
論理ディレクトリに権限を付与する
chown -R oracle:oinstall /path1/../path3
chown -R oracle:oinstall /path/../path1
chown -R oracle:oinstall /path/../path2
chown -R oracle:oinstall /path/../path3
新規ユーザーに権限を付与する
SQL>new_userへの接続を許可します;
SQL>new_userにリソースを付与します;
SQL>new_userにdbaを付与します;
dmpファイルを新しい論理ディレクトリに配置し、権限を付与します
オラクルをchown:oinstall export_all_data.date.dmp
dmpファイルをインポートする
impdp new_user / paswd1 directory = new_directory dumpfile = export_all_data.date.dmp logfile = impdp_all_data.date.log remap_schema = original_user:new_user table_exists_action = replace full = y exclude = statistics
アタッチメント
dmpファイルからテーブルをインポートする方法?
例:
impdp dest_user / password directory = logical_directorydumpfile = full_backup.date.dmp logfile = impdp_table1.date.log remap_schema = source_user:dest_user Tables = source_user.table1 table_exists_action = replace exclude = statistics
その他の質問
元のデータベースと同じ論理ディレクトリを作成する理由?( パスは異なる場合があります,名前は同じでなければなりません)
回答: 次のエラーを回避するには.
オブジェクトタイプSCHEMA_EXPORT / TABLE / TABLEを処理しています
ORA-39083: オブジェクトタイプTABLE:”ユーザー”.”および$ 08E100290002″ エラーで作成に失敗しました:
今-06564: オブジェクト ディレクトリ 存在しない
元のテーブルスペースに関連するユーザーを作成する理由?
回答: 次のエラーを回避するには.
オブジェクトタイプSCHEMA_EXPORT / PACKAGE / GRANT / OWNER_GRANT / OBJECT_GRANTを処理しています
ORA-39083: オブジェクトタイプOBJECT_GRANTはエラーで作成できませんでした:
今-01917: ユーザーまたは役割 ‘original_user‘ 存在しない
失敗したSQLは:
GRANT EXECUTE ON “新しいユーザー”.”E_FO_PKG” に “original_user“
追加する理由 “exclude = statistics” impdpコマンドの背後 ?
回答: 次のエラーを回避するには.
オブジェクトタイプSCHEMA_EXPORT / TABLE / STATISTICS / TABLE_STATISTICSを処理しています
ORA-39014: 1人以上の労働者が時期尚早に退出した.
ORA-39029: ワーカー 1 プロセス名付き “DW00” 早期終了
ORA-31671: ワーカープロセスDW00に未処理の例外がありました.
今-04030: プロセスメモリが不足しています 割り当てようとするとき 16048 バイト (セッションヒープ,kuxLpxAlloc)
今-06512: で “SYS.KUPW $ WORKER”, ライン 1887
今-06512: ラインで 2
ORA-39097: データポンプジョブで予期しないエラーが発生しました -1427
ORA-39065: MAINで予期しないマスタープロセスの例外
今-01427: 単一行のサブクエリは複数の行を返します
ジョブ “新しいユーザー”.”SYS_IMPORT_FULL_01″ 致命的なエラーのために停止しました 11月水曜日 13 08:23:44 2019 経過 0 17:24:47