geek.conf.2

あるインフラエンジニアの備忘録

ORA-28396

12cmの空洞に閉じ込められた僕です。

今宵はOracle10gR2のwalletについて。
walletはOracle Ent および Advanced Security Optionのライセンス買うと
利用できる。まぁ表領域をencryptionできるわけですな。

あんまやってるの見かけたことないけど顧客データとかあると
やっておいたほうがよいよね。

設定のやり方は

1.sqlnet.oraにwalletファイルの場所を書く。

------------------------------------------
ENCRYPTION_WALLET_LOCATION=
(SOURCE=
(METHOD=FILE)
(METHOD_DATA=
(DIRECTORY=/home/oracle/wallet)))
------------------------------------------
とか。

2.Oracle再起動

再起動後、/home/oracle/walletにewallet.p12という鍵ファイルが
できているかと。

3.walletのopen

SQL> alter system set encryption key identified by "geekconf";

4.openの確認

SQL> select * from v$encryption_wallet;

WRL_TYPE
------------------------------------------------------------
WRL_PARAMETER
--------------------------------------------------------------------------------
STATUS
---------------------------
file
/home/oracle/wallet
OPEN

※walletをcloseする場合
SQL> alter system set encryption wallet close;
とするよろし。


5.オプション
Oracle再起動後も自動でwalletがopenするようにするには
Oracle Wallet Managerでwallet設定の自動オープンにチェック
をつけchina。

て感じ。

でこれOracleRACとかLifeKeeperのように2ノードでHAするとき
どうすんのよって思うじゃん。

2ノードとも上記のように設定してもフェールオーバ後、表領域のデータ
selectしたら表題のエラー

ORA-28362: master key not found

が出ちゃって暗号化解けないワロリンwwww

まぁさ、walletファイルの格納場所を共有Disk上に再設定および
作成したら解決したって話なのよ。もう2行で終わる話。

ようするにだ。2ノードのローカル上にwalletファイル置いていたら
フェールオーバ時に異なる鍵だよって言われちゃうわけ。あーゆーおk?

owari