原文はこちら。
https://blogs.oracle.com/WebLogicServer/entry/partition_import_export
このエントリではパーティションのインポート、エクスポートにおいて直面する質問の回答をしようと考えています。エクスポート、インポートに関しては、以下のドキュメントをご覧ください。
getError() は実際にJavaのExceptionオブジェクトを返すので、java.lang.Exceptionオブジェクトで利用可能なすべてのメソッドを呼び出すことができます。例えば以下のメソッドを呼び出すとスタックトレースを出力します。
exportPartitionでは、オプションとしてString(文字列)の引数に、平文で指定されているユーザー鍵のファイルの場所を指定することができます。
https://blogs.oracle.com/WebLogicServer/entry/partition_import_export
このエントリではパーティションのインポート、エクスポートにおいて直面する質問の回答をしようと考えています。エクスポート、インポートに関しては、以下のドキュメントをご覧ください。
Oracle® Fusion Middleware Using WebLogic Server Multitenant 12c (12.2.1)
Exporting and Importing Partitions
http://docs.oracle.com/middleware/1221/wls/WLSMT/export_import.htm#WLSMT636
How to know the status of exportPartition, importPartition WLST commands(WLSTコマンド[exportPartition / importPartition]の実行状態を知るには?)
エクスポートのためのWLSTコマンドは以下のようです。このコマンドはexportPartitionタスクを実行し、exportPartitionの操作の状態をオブジェクトに入れて返します。値と状態の関連付けは以下の通りです。exportPartition(partitionName, expArchPath, [includeAppsNLibs], [keyFile])
- NOT_STARTED = -1
- STARTED = 1
- FINISHED = 2
- FAILED = 3
返却されたオブジェクトには2個のメソッドgetState()とgetError()があることがわかります。名前で意味がわかりますね。expPartStatus = exportPartition('partition1','/home/partitionadmin/exportedPartitions')
while (expPartStatus.getState() != 2 and expPartStatus.getState() != 3):
os.time.sleep(10)
if(expPartStatus.getState() == 3):
raise expPartStatus.getError()
getError() は実際にJavaのExceptionオブジェクトを返すので、java.lang.Exceptionオブジェクトで利用可能なすべてのメソッドを呼び出すことができます。例えば以下のメソッドを呼び出すとスタックトレースを出力します。
importPartitionでも同様です。expPartStatus.getError().printStackTrace()
How to use user keys for encryption of secure attributes during exportPartition(exportPartition実行中に保護対象の属性の暗号化のためのユーザー鍵を使うには?)
exportPartition実行中に、ユーザーが保護すべき属性をユーザーが持つ鍵で暗号化する場合があります。同様に、importPartition実行中に保護すべき属性を復号したい、という場合があります。exportPartitionでは、オプションとしてString(文字列)の引数に、平文で指定されているユーザー鍵のファイルの場所を指定することができます。
exportPartition実行中に、このファイルを使って保護属性を暗号化することができます。cat /home/partitionadmin/exportPartition/userkey
thequickbrownfoxjumpsoverthelazydog$--|--$
importPartitionの場合も同様に属性を復号することができます。expPartStatus = exportPartition('partition1','/home/partitionadmin/exportPartition',true,'/home/partitionadmin/exportPartition/userkey')
impPartStatus = importPartition('/home/partitionadmin/exportPartition/partition1.zip',keyfile='/home/partitionadmin/exportPartition/userkey')
How to resolve ResourceGroupTemplate Name conflicts during importPartition(importPartition実行中にResourceGroupTemplateの名前が衝突した場合の解決方法)
パーティションをドメインにインポートしている際に、ドメインにすでにインポートしようとしているものと同じ名前のResourceGroupTempateが存在する可能性があります。この場合、状況にあわせて、どちらのResourceGroupTemplateをインポートされるパーティションが使うのか指示する必要があります。- ドメイン中の既存のResourceGroupTemplateがimportedPartitionが必要とするすべてのリソースを有している場合、createNewオプションで明示的にfalseを設定することで、ResourceGroupTemplateのインポートをスキップすることができます。
impPartStatus = importPartition('/home/partitionadmin/exportPartition/partition1.zip',createNew=false)
- 既存のResourceGroupTemplateがインポート対象のパーティションに合わない場合、createNewオプションにtrueを設定してimportPartitionを呼び出すことができます。これにより、新たなResourceGroupTemplateを作成しますが、その際、ResourceGroupTemplateの名前の末尾には幾何学的に増加する番号が追加されます。
例えば既存のResourceGroupTemplate名が"cokeRGT"である場合、新しいResourceGroupTemplateは"cokeRGT1"という名前で作成されます。そしてインポートされたパーティションはこの新たに作成されたResourceGroupTemplateを参照します。impPartStatus = importPartition('home/partitionadmin/exportPartition/partition1.zip',createNew=true)