TDEテーブルスペース暗号化を使用してデータベースを12Cにアップグレードする
TDEテーブルスペース暗号化機能を使用して、EBSアプリケーションからのすべてのデータが格納されているテーブルスペースを暗号化できます。 TDEはアプリケーションに対して透過的であるため、コードを書き直す必要はありません。許可されたユーザーは誰でも問題なく暗号化されたデータにアクセスできます。
許可されたユーザーは、問題なく暗号化されたデータにアクセスできます。 TDEは、データファイルやバックアップファイルなどの保存データに適用されます。
TDEテーブルスペース暗号化オプションを使用すると、EBSデータベースに保存されているすべての機密データを保護できます。暗号化されたデータにアクセスできるのは、許可されたユーザーのみです。
SYSTEMおよびSYSAUXは、表領域の作成時ではなく、DBの作成時に作成されるため、暗号化できません。表領域の作成中に暗号化オプションが追加されます。元に戻すおよびTEMPテーブルスペースも暗号化できませんが、暗号化されたテーブルスペースからTEMP/UNDOに保存されたデータは暗号化されます。
1。ソフトウェアのバージョンを確認する
•パッチ16207672-12.2.2
•パッチ20745242-R12.AD.C.Delta.7
•パッチ20784380-R12.TXK.C.Delta.7
•パッチ19597008
•パッチ20251314(12.2.5に含まれています)
•パッチ8796558
•パッチ19343134
2。 12.1.0DBホームを準備する
•12.1.0ソフトウェアをインストールします
•12cサンプルCDからOracleDatabase12c製品をインストールします(必須)
•追加の12.1.0.2RDBMSパッチを適用する
3。必要な最新のDBETCC/PSUパッチをすべて適用する
4。 4. nls / data/9idataディレクトリを作成します
perl $ ORACLE_HOME / nls / data / old / cr9idata.pl
55.パッチ16541956をに適用します。ソース管理サーバーノードでエクスポート/インポートユーティリティパッチを使用して統合されたアプリケーション。
作業ディレクトリを作成する
mkdir / u01 / expimp <
7。ターゲットデータベースインスタンス作成スクリプトaucrdb.sqlを生成します
エクスポート/インポートパッチは、aucrdb.sqlスクリプトを生成するauclondb.sqlスクリプトを提供します。 $ AU_TOP / patch / 115 / sql / auclondb.sql
をコピーします アプリノードからDBノードソースへのスクリプトを作成し、以下のように実行します。
$ sqlplus system / [system password] \ @ $ AU_TOP / patch / 115 / sql / auclondb.sql 12
8。高度なキュー設定を記録する
auque1.sql
をコピーします $ AU_TOP / patch / 115 / sql
からのスクリプト アプリノードからDBノードに移動して実行します。次のコマンドはauque2.sqlを生成します。
$ sqlplus / nolog
SQL> connect / as sysdba;
SQL> @ auque1.sql
9。空間インデックスの再構築インデックスパラメータを削除します
select * from dba_indexes where index_type =‘DOMAIN’ andupper(parameters)like‘%REBUILD%';
10。テキストインデックスを同期する
$ sqlplus'/ as sysdba'
SQL> select pnd_index_owner、pnd_index_name、count(*)
from ctxsys.ctx_pending
group by pnd_index_owner、pnd_index_name;
上記のクエリから行が返された場合は、以下のコマンドを使用します
exec ctx_ddl.sync_index('[インデックス所有者]。[インデックス名]');
11。エクスポートパラメータファイルを作成します
アプリノードから$AU_TOP/ patch / 115 / import / auexpdp.datをコピーし、要件に従って編集します。
diff auexpdp.dat auexpdp.dat.orig
«/u01 / oracle / patches / 12c_db / backup / expimp
8c8
filesize =1048576000
12,13d11
必要に応じてディレクトリを作成します。
SQL> create
または、ディレクトリdmpdirを'/ u01 / oracle / patches / 12c_db / backup / expimp / 2nditeration';
に置き換えます。
ディレクトリが作成されました。
12。パッチ適用サイクルがアクティブになっていないことを確認してください。
ノード名ノードタイプフェーズステータス開始終了終了
Appnode master PREPARE COMPLETED
2017/05/20 23:01:31 2017 / || 05/20 23:24:45 0:23:14
APPLY COMPLETED
2017/05/20 23:53:09 2017/05/20 23:53:39 0:00:30
FINALIZE COMPLETED 2017/05/20 23:55:55
2017/05/20 23:56:14 0:00:19
CUTOVER COMPLETED
2017/05/20 23:58:57 2017/05/21 00:09:50 0:10:53
CLEANUP COMPLETED 2017/05/21 01:59:13 2017/05/21 01:59:44 0:00:31
13。アプリケーションサーバープロセスをシャットダウンします
14。次のコマンドを使用して、ソースシステムスキーマに特権を付与します
SQL>システムにEXEMPTACCESSPOLICYを付与します;
付与に成功しました。
15。次のコマンドを使用してMGDSYSスキーマ(条件付き)を削除します
$ sqlplus "/ as sysdba" @?/ md / admin / catnomgdidcode.sql
16。次のコマンドを実行して、OLAP分析ワークスペースをエクスポートします(オプション)
-
SQL> col owner format a15
SQL> col aw_name format a15
SQL> select OWNER、AW_NAME、PAGESPACES from dba_aws where owner!='SYS' order by 1,2;
OWNER AW_NAME PAGESPACES
> APPS ODPCODE 1123
APPS XWDEVKIT 1106
APPS XWDEVKIT_BACKUP 1106
FPA FPAPJP 505
- SQL>ディレクトリAW_DIRを
'/u01 / oracle / patches / 12c_db / backup / MGR_DIR';
として作成または置換します。
作成されたディレクトリ
2a。 SQL> exec dbms_aw.execute('aw attach APPS.ODPCODE rw');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('allstat');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルにエクスポート''AW_DIR / ODPCODE.eif''');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.ODPCODE');
PL/SQLプロシージャが正常に完了しました。
2b。 SQL> exec dbms_aw.execute('aw attach APPS.XWDEVKIT rw');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('allstat');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルにエクスポート''AW_DIR / XWDEVKIT.eif''');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.XWDEVKIT');
PL/SQLプロシージャが正常に完了しました。
2c。 SQL> exec dbms_aw.execute('aw attach APPS.XWDEVKIT_BACKUP rw');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('allstat');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルにエクスポート''AW_DIR / XWDEVKIT_BACKUP.eif''');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.XWDEVKIT_BACKUP');
PL/SQLプロシージャが正常に完了しました。
2d。 SQL> exec dbms_aw.execute('aw attach FPA.FPAPJP rw');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('allstat');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルにエクスポート''AW_DIR / FPAPJP.eif''');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw detach FPA.FPAPJP');
PL/SQLプロシージャが正常に完了しました。
- SQLコマンドを使用して、手順2でエクスポートされた各AWを削除します。
SQL> exec dbms_aw.execute('aw delete APPS.ODPCODE');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw delete APPS.XWDEVKIT');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw delete APPS.XWDEVKIT_BACKUP');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('aw delete FPA.FPAPJP');
PL/SQLプロシージャが正常に完了しました。
- 32ビットデータベースからOLAPを削除し、次のコマンドを実行して、無効なOLAP関連オブジェクトをクリーンアップします。
cd $ ORACLE_HOME / olap / admin--->>>他のスクリプトへのすべての埋め込み呼び出しを見つけるために必要
conn / as sysdba
@?/ olap / admin / catnoamd.sql
@?/ olap / admin / olapidrp.plb
@?/ olap / admin / catnoaps.sql
@?/ olap / admin / catnoxoq.sql
@?/ rdbms / admin / utlrp.sql
dba_objectsからowner、object_name、object_typeを選択します。ここでstatus <>‘VALID’;
SQL> select owner、object_name、object_type、status from dba_objects where status
<>'VALID'およびobject_namelike'%OLAP%';
SYS OLAPIBOOTSTRAP FUNCTION INVALID
SYS OLAPIHANDSHAKE FUNCTION INVALID
PUBLIC OLAPIBOOTSTRAP SYNONYM INVALID
PUBLIC OLAPIHANDSHAKE SYNONYM INVALID
APPS PA_OLAP_PVT PACKAGE BODY INVALID
SQL> drop FUNCTION sys.OLAPIBOOTSTRAP;
機能が削除されました。
SQL> drop FUNCTION sys.OLAPIHANDSHAKE;
機能が削除されました。
SQL> drop PUBLIC SYNONYM OLAPIBOOTSTRAP;
同義語が削除されました。
SQL> drop PUBLIC SYNONYM OLAPIHANDSHAKE;
同義語が削除されました。
SQL>ドロップパッケージ本体apps.PA_OLAP_PVT;
パッケージ本体を落としました。
SQL> select owner、object_name、object_type、status from dba_objects where status
<>'VALID'およびobject_namelike'%OLAP%';
行が選択されていません
アップグレードを実行しているターゲット12c64ビットデータベースで次の手順を実行します。
64ビットバージョンのOracle、Oracle OLAPオプションを含め、データベースを64ビットに移行します。
データベース「/assysdba」に接続して実行することにより、OLAPをデータベースに追加し直します。
SQL> spool olap_install.log
SQL> set echo on
SQL> show user
SQL> @?/olap/admin/olap.sql SYSAUX TEMP;
SQL> spool off
次のSQLコマンドを使用して、エクスポートされた各AWをインポートします。
注:すべての引用符は一重引用符であり、EIFファイルとOWNER.AW_NAMEの正しい組み合わせを使用していることを確認してください
SQL>ディレクトリAW_DIRを'/u01 / oracle / patches / 12c_db / backup/MGR_DIR'として作成または置換します;
ディレクトリが作成されました。
-
SQL> exec dbms_aw.execute('aw create APPS.ODPCODE');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルからインポート''AW_DIR / ODPCODE.eif''data dfns');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('update');
PL/SQLプロシージャが正常に完了しました。
SQL> commit;
コミットが完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.ODPCODE');
PL/SQLプロシージャが正常に完了しました。
-
SQL> exec dbms_aw.execute('aw create APPS.XWDEVKIT');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('import all from eif file''AW_DIR / XWDEVKIT.eif''data dfns');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('update');
PL/SQLプロシージャが正常に完了しました。
SQL> commit;
コミットが完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.XWDEVKIT');
PL/SQLプロシージャが正常に完了しました。
-
SQL> exec dbms_aw.execute('aw create APPS.XWDEVKIT_BACKUP');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('eifファイルからすべてをインポート''AW_DIR / XWDEVKIT_BACKUP.eif''データdfns');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('update');
PL/SQLプロシージャが正常に完了しました。
SQL> commit;
コミットが完了しました。
SQL> exec dbms_aw.execute('aw detach APPS.XWDEVKIT_BACKUP');
PL/SQLプロシージャが正常に完了しました。
-
SQL> exec dbms_aw.execute('aw create FPA.FPAPJP');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('すべてをeifファイルからインポート''AW_DIR / FPAPJP.eif''data dfns');
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_aw.execute('update');
PL/SQLプロシージャが正常に完了しました。
SQL> commit;
コミットが完了しました。
SQL> exec dbms_aw.execute('aw detach FPA.FPAPJP');
PL/SQLプロシージャが正常に完了しました。
17。 XLAパッケージの削除(オプション)
$ sqlplus apps/[APPSパスワード]
SQL> selectdistinct('drop package' ||db.owner||'。'||db.object_name ||';')
from dba_objects db、xla_subledgers xl where db.object_type ='PACKAGE BODY'anddb。
object_name like'XLA%AAD%PKG' and substr(db.object_name、1,9)='XLA_' || LPAD
(SUBSTR(TO_CHAR(ABS(xl.application_id))、1、5)、5、 '0')およびdb.object_name
NOT IN('XLA_AAD_HDR_ACCT_ATTRS_F_PKG'、'XLA_AMB_AAD_PKG')1で並べ替え;
SQL> @ drop_xla_package.sql
18。アプリケーションデータベースインスタンスをエクスポートする
$ expdp "'/ as sysdba'" parfile=[エクスポートパラメータファイル名]
19。ソースシステムスキーマから特権を取り消す
SQL>システムからEXEMPTACCESSPOLICYを取り消します;
20。 Oracle Advanced Security TDEテーブルスペース暗号化を有効にする(Oracleウォレット方式を使用)
このエントリを$ORACLE_HOME/ network / admin /
フォーマットの問題を回避するために、1行で保持してください
ENCRYPTION_WALLET_LOCATION =(SOURCE =(METHOD =FILE)(METHOD_DATA =(DIRECTORY =/u01/oracle/dbhome1/12.1.0.2/wallet)))
21。ターゲット初期化パラメータファイル/作業ディレクトリを作成します
22。ターゲットデータベースデータファイルの実際の場所に従ってaucrdb.sqlスクリプトを変更します
aucrdb.sqlの各「CREATETABLESPACE」コマンドに以下を追加します。
ENCRYPTION[USING'
可能な選択肢は、3DES168、AES128(指定されていない場合はデフォルト)、AES192、およびAES256です。
23。最後に、編集したaucrdb.sqlのコピーを2つの別々の.sqlファイルに分割します。最初のファイルにはCREATE DATABASEステートメントが含まれ、2番目のファイルにはCREATETABLESPACEステートメントが含まれます。
24。ターゲットデータベースインスタンスを作成します
$ sqlplus / nolog
SQL> connect / as sysdba;
SQL>スプールaucrdb1.log;
UNIXまたはLinuxの場合:
SQL> startup nomount;
SQL> @ aucrdb1.sql
SQL>スプールオフ
25。 DBを作成したら、テーブルスペースを作成する前に、まず暗号化キーを作成する必要があります。
Oracle Walletに基づく暗号化されたテーブルスペースおよび暗号化キー管理の場合:
SQLは、「
26。次のスクリプトを使用して暗号化されたテーブルスペースを作成します
SQL>スプールaucrdb2.log
SQL> @aucrdb2.sql<<暗号化シンテックスが含まれていることを確認してください
SQL> exit;
27。ターゲットデータベースインスタンスが作成されたら、データベースインスタンスを再起動します
すぐにシャットダウン
cp -pR wallet wallet.orig.date
orapki wallet create -wallet /u01/oracle/dbhome1/12.1.0.2/wallet -auto_login
ウォレットの自動ログインを作成する
スタートアップマウント
Oracle Walletを使用する場合:
手動walletSQL>「
の場合は、以下が必要です。」で識別されるシステムセット暗号化ウォレットオープンの変更;データベースオープンの変更;
select * from v $ encoding_wallet;
28。すべてのデータベース準備スクリプトをコピーして、システム/システムスキーマをセットアップするためのOracleホームをターゲットにします。
29。 SYSスキーマを設定する
$ sqlplus "/ as sysdba" @ audb1210.sql
30。 SYSTEMスキーマを設定する
$ sqlplus system / [system password] @ ausy1210.sql
31。 Java仮想マシンをインストールする
$ sqlplus system / [system password] @ aujv1210.sql
32。その他の必要なコンポーネントをインストールする
sqlplus system / **** @ aumsc1210.sql SYSAUX TEMP
33。パッチのインストール後の手順を実行します
SQL> conn / as sysdba
アイドル状態のインスタンスに接続しました。
SQL>スタートアップアップグレード
cd $ ORACLE_HOME / OPatch
[oracle @ dbnode OPatch] $ ./datapatch –verbose
SQL>すぐにシャットダウン
SQL>起動
SQL> @?/ rdbms / admin / utlrp.sql
34。 CTXSYSパラメータを設定します(条件付き)
$ sqlplus "/ as sysdba"
SQL> exec ctxsys.ctx_adm.set_parameter('file_access_role'、'public');
35。統計の自動収集を無効にする
$ sqlplus "/ as sysdba"
SQL>システムを変更して制限付きセッションを有効にする;
SQL> @ adstats.sql
$ sqlplus "/ as sysdba"
SQL>システムを変更して制限されたセッションを無効にする;
SQL> exit;
36。ターゲットデータベースインスタンスをバックアップします(オプション)
37。インポートパラメータファイルを作成します
SQL> show user
USERは「システム」です
SQL>ディレクトリdmpdirを'/u01 / oracle / patches / 12c_db / backup / expimp';
として作成または置換します。
ディレクトリが作成されました。
サーバーが異なる場合は、ダンプファイルをソースサーバーからターゲットサーバーにコピーします
38。アプリケーションデータベースインスタンスをインポートします
$ impdp "'/ as sysdba'" parfile =auimpdp.dat
39。 OLAP分析ワークスペースのインポート(条件付き)
ターゲット(12c)に関連する手順はここで実行する必要があります
40。ターゲットシステムスキーマから特権を取り消す
SQL>システムからEXEMPTACCESSPOLICYを取り消します;
41。高度なキューをリセットする
$ sqlplus / nolog
SQL> connect / as sysdba;
SQL> @ auque2.sql
42。 adgrants.sqlを実行します
$ sqlplus "/ as sysdba" @ adgrants.sql APPS
43。 CTXSYSでのプロシージャの作成権限を付与する
$ sqlplus apps / [APPS password] @ adctxprv.sql \
[システムパスワード]CTXSYS
44。新しいデータベースリスナーを起動します(条件付き)
45。現在のデータベースサーバーの登録を解除します
$ sqlplus apps/[APPSパスワード]
SQL> exec fnd_conc_clone.setup_clean;
46。 AutoConfigを実装して実行する
perl $ AD_TOP / bin / admkappsutil.pl
appsutil.zipをDBノードの$ORACLE_HOME/にコピーします。
unzip -o appsutil.zip
ビルド$CONTEXT_FILE
perl adbldxml.pl
./ adconfig.sh
DB/Listenerの再起動-新しいenvファイルのソース
アプリノードでautoconfigを実行しますrunfs
./ adconfig.sh
アプリノードパッチfsでautoconfigを実行します
./ adconfig.pl contextfile =$ CONTEXT_FILE run =INSET8
47。 SYSスキーマの統計を収集する
$ sqlplus "/ as sysdba"
SQL>システムを変更して制限付きセッションを有効にする;
SQL> @ adstats.sql
$ sqlplus "/ as sysdba"
SQL>システムを変更して制限されたセッションを無効にする;
SQL> exit;
48。カスタムデータベースリンクを再作成します(条件付き)
49。 ConTextオブジェクトを作成する
これらのオブジェクトを作成するには、ドライバーファイルを使用してスクリプトを呼び出す必要があります。次のコマンドを実行します:
$ perl $ AU_TOP / patch / 115 / bin /dpost_imp.pl[ドライバーファイル][ソースデータベースバージョン]
adop phase =apply hotpatch =yes
50。 CTXSYS.DR$SQEテーブルにデータを入力します
$ sqlplus apps / [apps password]
SQL> exec icx_cat_sqe_pvt.sync_sqes_for_all_zones;
51。無効なオブジェクトをコンパイルする
52。 XLAパッケージを再作成します(条件付き)
XLAパッケージをソース環境にドロップした場合は、$ XLA_TOP / patch / 115 / sql / xla6128278.sqlをソースからターゲットにコピーして、以下のように実行します。
$ sqlplus apps/[APPSパスワード]
SQL> @xla6128278.sql[スプールログファイル]
53。 APPL_TOPの実行でAutoConfigを実行します
==> echo $ FILE_EDITION
run
==> ./ adconfig.sh
54。アップグレード後のWMSパッチを適用する(条件付き)
12cより前のバージョンのRDBMSからアップグレードした場合は、パッチ19007053adop phase =apply patch =19007053 patchtop =/ home / applmgr / exp_patch apply_mode =downtime worker =12
を適用します。55。アプリケーションデータベースオブジェクトを維持する
a。 AOLテーブルのフレックスフィールドデータをコンパイルしますb。 APPSスキーマの付与と同義語を再作成する
56。アプリケーションサーバープロセスを開始する
57。 DQMインデックスを作成する
a。 「TradingCommunityManager」の責任でOracleApplicationsにログオンします
b。 [制御]>[要求]>[実行]
をクリックしますc。 「シングルリクエスト」オプションを選択
d。 「DQMステージングプログラム」の名前を入力してください
e。次のパラメータを入力します:
私。並列ステージングワーカーの数:4ii。ステージングコマンド:CREATE_INDEXESiii。前の実行を続行:NOiv。インデックス作成:SERIALf。 [送信]をクリックします
結論
上記のすべての手順に従うことで、テーブルスペースレベルの暗号化を有効にするとともに12Cデータベースのアップグレードを実行しています。
コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。
-
OracleGridを12cから19cにアップグレードします
この投稿では、2ノードのOracle®GridRealApplication Cluster(RAC)をバージョン12C(12.1.0.2)からLinux®オペレーティングシステム(OS)で実行される19C(19.7.0)にアップグレードするための段階的なアプローチについて説明します。 はじめに OracleGridRACで使用可能な最新バージョンは19cです。安定性とセキュリティを向上させるために、グリッドインフラストラクチャを19cにアップグレードすることを強くお勧めします。 19cでは、オラクルはドライランアップグレードなどの多くの新機能を導入しました。この投稿では、この新機能とグリ
-
透過的なデータ暗号化
Oracle®は、セキュリティの目的でOracle 12Cに透過的データ暗号化(TDE)機能を導入し、ユーザーが機密データのテーブルスペースおよび列レベルの暗号化を有効にできるようにしました。 はじめに データを暗号化すると、許可されたユーザーまたはアプリケーションのみがデータにアクセスできます。 Oracleは、ツールとプロセスを使用してデータベースを認証、承認、監査しますが、データを格納するOSデータファイルは使用しません。 Oracle Database Advanced Security Guide(ASOAG)によると、「TDEはデータファイルに保存されている機密データを暗号化し