2012年8月4日土曜日

ZFS Storage Appliance SimulatorでOracle11gのハイブリッド列圧縮は使えるか?

【前回】は下調べせずに撃沈したが、今回は【こちら】で事前に可能だという情報を得た上でのトライ。
結果としては、以下の通りOK。

SQL> CREATE TABLE sales_qh COMPRESS FOR QUERY HIGH AS SELECT * FROM sh.sales WHERE 1 = 0;

表が作成されました。

経過: 00:00:00.82
SQL> INSERT /* APPEND */ INTO sales_qh SELECT * FROM sh.sales;

918843行が作成されました。

経過: 00:00:12.90
SQL> SELECT compression, compress_for FROM user_tables WHERE table_name = 'SALES_QH';

COMPRESS COMPRESS_FOR
-------- ------------
ENABLED  QUERY HIGH

経過: 00:00:00.05
SQL> SELECT segment_name, sum(bytes) / 1024 / 1024 mb FROM dba_extents
2 WHERE segment_name IN ('SALES', 'SALES_QH')
3 GROUP BY segment_name;

SEGMENT_NAME         MB
--------------- -------
SALES               128
SALES_QH             32

経過: 00:00:46.97
SQL>
圧縮率に関しては、データが少なすぎてあまりHCCの効果が。。。
構築の注意点・問題点をいくつか。
  • Solaris x86-64 Oracle11.2.0.3、ZSA Simulator共にメモリ1GBで動作可能。ただし、DBインストール&作成時や後に述べるパッチ適用時は一時的に2GBに増強することが好ましい。(今回は1GBでパッチ適用してしまいスワップストリームに嵌ることにorz)
  •  ZSA Simulator上のフォルダにno_root_squash設定したかったんだけど、設定箇所が見つからずchownできなかった(単に調査不足)。そのためフォルダ作成時にユーザ、グループにoracleユーザのuid、dbaグループのgidを指定して回避。
  • DBサーバ上のmountオプションは以下。このストレージはnointrなのね。あと、なぜ未だにバージョン3しばり?
rw,bg,hard,nointr,rsize=32768,wsize=32768,proto=tcp,vers=3,actimeo=0
  •  11.2.0.3.0でZSAをNFSマウントしてHCC使う場合は、DBソフトにパッチが必要(サポート情報なので詳細はMOSを検索してください)。おそらくPillarをASMグリッドディスクに使う場合は同じパッチをGrid Infrastructureに適用することになると思う。11.2.0.3.1ならパッチは要らないと思う。
  • DirectNFSの設定必要。とはいっても、Oracle停止&NFSアンマウント状態で以下を実行するだけですが。
$ cd $ORACLE_HOME/lib
$ mv libodm11.so libodm11.so_orig
$ ln -s libnfsodm11.so libodm11.so
HCCには関係ないけど、ZSAの管理画面はWebブラウザでリアルタイムでCPU使用率やネットワーク利用状況が表示されて面白い。あのアプリがどんなライブラリを使っているか興味あるなぁ。

0 件のコメント:

コメントを投稿