2017-02-21 20 views
1

私はOracleデータベースを持っています。データベース上には3つのテーブル(a、b、cテーブル)とビュー(aとbテーブルの集合)があります。Oracleのビューおよび一部の表をバックアップする方法は?

私はダンbテーブルとビューのバックアップをしたいです。私はこの構文exp user/psw file=backup.dmp tables=(a,b)を使用しましたが、ビューだけをバックアップしません。テーブルのみです。 バックアップするビューをどのように含めることができますか?

答えて

2

Oracle 10g以降、expdpは標準エクスポートコマンドであり、expは推奨されていません。

expdpinclude句ここで、エクスポートするテーブルとビューを指定できます。ここにサンプルコマンドがあります。

expdp scott/[email protected] schemas=MYSCHEMA 
include=TABLE:"IN ('A', 'B','C')",VIEW:"IN('my_view')" 
directory=MY_DIR dumpfile=Exp_ABC_MyView.dmp logfile=expdpExp_ABC_MyView.log 

さらに、オブジェクト定義またはデータ、またはその両方だけをエクスポートすることもできます。 https://oracle-base.com/articles/10g/oracle-data-pump-10g

+1

ありがとうございます。私は実際のテーブルとビューをこのように使って実装しました: 'expdp blacklizard/pswd @ mydb schemas = blacklizard include = TABLE:IN( 'DEPARTEMEN1'、 'DEPARTEMEN2'、 'DEPARTEMEN4'、... ' "、" VIEW_DEPARTEMEN2 "、" VIEW_DEPARTEMEN3 "、" VIEW_DEPARTEMEN4 "、...、 'VIEW_DEPARTEMEN20')"ディレクトリ= exp_locダンプファイル= try.dmpログファイル= try.log'、 'UDE-00014:パラメータ '' include 'の値が無効です。 – flyingbird013

+0

二重引用符で囲まれた可能性が最も高い問題です。あなたのオペレーティングシステムは引数としてexpdpに渡している間、それらを取り除いているかもしれません。私が答えで共有したリンクに示すような構文を試してみてください。 '\ 'EMP \'、\ 'DEPT \')\" 'を使用して文字をエスケープする場合は、' 'include = TABLE:\ ''のようにしてください。単にexpdpをコマンドとして与えることができます。 –

+0

私はMicrosoftのコマンドプロンプトで、以下の両方の構文を使ってそれらをテストしました。 '' system/******** @ xe schemas = platformall include = TABLE:IN( 'DIM_DIM ')、VIEW:IN(' ALL_DD ')ダンプファイル= test4.dmp'、およびシステム/ ******** @ xeスキーマ= platformall include = TABLE:\ "IN(\' DIM_DIM \ ') 、\ "IN(\ 'ALL_DD \')\" dumpfile = test5.dmp " –

1

"exp"ユーティリティを使用している間は、バックアップするビューを含めることはできません。 Oracleのexpdpユーティリティでは、エクスポート中にビューを含めるオプションが提供されています。

関連する問題