コーソル DatabaseエンジニアのBlog へようこそ

コーソル DatabaseエンジニアのBlogでは、 コーソル所属のDatabaseエンジニアである 渡部がOracle Databaseを中心としたDatabaseに関わる技術情報を発信しています。

コーソルでは、Oracle Databaseをはじめとするデータベース全般に関わるサービス(コンサルティング、設計、構築など)、オラクル製品のプロダクトサポートサービスを提供しています。 また、不定期で無償の技術セミナーを開催しています。


コーソルでは、Oracle Databaseスペシャリストになりたいエンジニア、 Oracle Database技術を活かして働きたいエンジニアを絶賛募集中です。

hiring.png

コーソルについて知るためには・・・

エンジニアのスキル向上を支援する各種施策については・・・

コーソルのエンジニアの多くが従事する、「Oracle Database サポートエンジニアの仕事」の利点について知るためには・・・。

コーソルで働くことに興味を持たれた方は・・・

2014年10月16日

Patch Set 12.1.0.2 はターミナル・リリース

同僚から教えてもらって知ったのですが、12.1.0.2 は Oracle Database 12c Release 1 でのターミナル・リリースとなるようです。

参考情報

となると、 Oracle Database 12c Release 1 リリースされた Patch Setは1つのみということになります。1つの Patch Set 11.1.0.7 だけが リリースされた Oracle Database 11g Release 1 が思い出されますが・・・ こうなると「やはり Release 1 は・・・」という想いを抱いてしまいますね。

2014年10月08日

Oracle OpenWorld 2014 Tweetまとめました

今年コーソルからOracle OpenWorld 2014に参加した2名のメンバーが無事に帰国しました。

彼らが現地でつぶやいたTweetをtogetterにまとめました。Oracle OpenWorld の楽しさが伝われば幸いです!

2014年10月02日

12.1.0.2 RAC : Grid Infrastructure Management Repositoryについて少し

いっこうに Oracle Database 12.1.0.2 のVMテンプレートがリリースされる気配がないので、 しびれを切らして 12.1.0.2 RAC を自分でインストールして環境を構築しました。

上記の "Automatic Installation of Grid Infrastructure Management Repository" のとおり、Grid Infrastructure Management Repository関連のリソースとプロセスが増えていますね・・・

[root@lc102ru1 ~]# /u01/app/12.1.0.2/grid/bin/crsctl status resource -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CLU.dg
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
ora.DB.dg
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
ora.FRA.dg
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
ora.asm
               ONLINE  ONLINE       lc102ru1                 Started,STABLE
               ONLINE  ONLINE       lc102ru2                 Started,STABLE
               ONLINE  ONLINE       lc102ru3                 Started,STABLE
ora.net1.network
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
ora.ons
               ONLINE  ONLINE       lc102ru1                 STABLE
               ONLINE  ONLINE       lc102ru2                 STABLE
               ONLINE  ONLINE       lc102ru3                 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       lc102ru1                 STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       lc102ru1                 169.254.90.138 172.3
                                                             0.51.1,STABLE
ora.c102ru.db
      1        ONLINE  ONLINE       lc102ru1                 Open,STABLE
      2        ONLINE  ONLINE       lc102ru2                 Open,STABLE
      3        ONLINE  ONLINE       lc102ru3                 Open,STABLE
ora.cvu
      1        ONLINE  ONLINE       lc102ru1                 STABLE
ora.lc102ru1.vip
      1        ONLINE  ONLINE       lc102ru1                 STABLE
ora.lc102ru2.vip
      1        ONLINE  ONLINE       lc102ru2                 STABLE
ora.lc102ru3.vip
      1        ONLINE  ONLINE       lc102ru3                 STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       lc102ru1                 Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       lc102ru1                 STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       lc102ru1                 STABLE
--------------------------------------------------------------------------------
[root@lc102ru1 ~]# ps -U 'oracle,grid' -o pid,cmd --sort=cmd
  PID CMD
 4586 asm_asmb_+ASM1
 4435 asm_ckpt_+ASM1
 4427 asm_dbw0_+ASM1
 4401 asm_dia0_+ASM1
 4393 asm_diag_+ASM1
 4483 asm_gcr0_+ASM1
 4381 asm_gen0_+ASM1
 4455 asm_gmon_+ASM1
 4467 asm_lck0_+ASM1
 4423 asm_lck1_+ASM1
 4431 asm_lgwr_+ASM1
 4409 asm_lmd0_+ASM1
 4419 asm_lmhb_+ASM1
 4405 asm_lmon_+ASM1
 4413 asm_lms0_+ASM1
 4443 asm_lreg_+ASM1
 4385 asm_mman_+ASM1
 4463 asm_mmnl_+ASM1
 4459 asm_mmon_+ASM1
 4397 asm_ping_+ASM1
 4367 asm_pmon_+ASM1
 4371 asm_psp0_+ASM1
 4447 asm_pxmn_+ASM1
 4451 asm_rbal_+ASM1
 4439 asm_smon_+ASM1
 4375 asm_vktm_+ASM1
 3770 /u01/app/12.1.0.2/grid/bin/evmd.bin
 3801 /u01/app/12.1.0.2/grid/bin/evmlogger.bin -o /u01/app/12.1.0.2/grid/log/[HOSTNAME
 3807 /u01/app/12.1.0.2/grid/bin/gipcd.bin
 3785 /u01/app/12.1.0.2/grid/bin/gpnpd.bin
 4901 /u01/app/12.1.0.2/grid/jdk/bin/java -server -Xms128M -Xmx384M -Djava.awt.headles
 5568 mdb_aqpc_-MGMTDB
 5240 mdb_asmb_-MGMTDB
 5594 mdb_cjq0_-MGMTDB
 5185 mdb_ckpt_-MGMTDB
 5265 mdb_d000_-MGMTDB
 5160 mdb_dbrm_-MGMTDB
 5172 mdb_dbw0_-MGMTDB
 5168 mdb_dia0_-MGMTDB
 5156 mdb_diag_-MGMTDB
 5144 mdb_gen0_-MGMTDB
 5194 mdb_lg00_-MGMTDB
 5206 mdb_lg01_-MGMTDB
 5178 mdb_lgwr_-MGMTDB
 5216 mdb_lreg_-MGMTDB
 5271 mdb_mark_-MGMTDB
 5148 mdb_mman_-MGMTDB
 5255 mdb_mmnl_-MGMTDB
 5248 mdb_mmon_-MGMTDB
 5120 mdb_pmon_-MGMTDB
 5125 mdb_psp0_-MGMTDB
 5224 mdb_pxmn_-MGMTDB
 6085 mdb_q002_-MGMTDB
 6093 mdb_q004_-MGMTDB
 6077 mdb_qm02_-MGMTDB
 5230 mdb_rbal_-MGMTDB
 5283 mdb_s000_-MGMTDB
 5534 mdb_smco_-MGMTDB
 5200 mdb_smon_-MGMTDB
 5518 mdb_tmon_-MGMTDB
 5522 mdb_tt00_-MGMTDB
 5164 mdb_vkrm_-MGMTDB
 5138 mdb_vktm_-MGMTDB
 5538 mdb_w000_-MGMTDB
 5542 mdb_w001_-MGMTDB
14478 mdb_w002_-MGMTDB
 3769 /u01/app/12.1.0.2/grid/bin/mdnsd.bin
 4038 /u01/app/12.1.0.2/grid/bin/ocssd.bin
 4823 /u01/app/12.1.0.2/grid/opmn/bin/ons -d
 4824 /u01/app/12.1.0.2/grid/opmn/bin/ons -d
 5249 ora_acms_c102ru1
 5590 ora_aqpc_c102ru1
 5371 ora_asmb_c102ru1
 5697 ora_cjq0_c102ru1
 5334 ora_ckpt_c102ru1
 5387 ora_d000_c102ru1
 5223 ora_dbrm_c102ru1
 5326 ora_dbw0_c102ru1
 5263 ora_dia0_c102ru1
 5214 ora_diag_c102ru1
 5399 ora_gcr0_c102ru1
 5188 ora_gen0_c102ru1
 5582 ora_gtx0_c102ru1
 5442 ora_lck0_c102ru1
 5322 ora_lck1_c102ru1
 5338 ora_lg00_c102ru1
 5346 ora_lg01_c102ru1
 5330 ora_lgwr_c102ru1
 5287 ora_lmd0_c102ru1
 5318 ora_lmhb_c102ru1
 5274 ora_lmon_c102ru1
 5299 ora_lms0_c102ru1
 5354 ora_lreg_c102ru1
 5391 ora_mark_c102ru1
 5196 ora_mman_c102ru1
 5381 ora_mmnl_c102ru1
 5375 ora_mmon_c102ru1
 5526 ora_p000_c102ru1
 5530 ora_p001_c102ru1
 5710 ora_p002_c102ru1
 5718 ora_p003_c102ru1
 5722 ora_p004_c102ru1
 5726 ora_p005_c102ru1
 5730 ora_p006_c102ru1
 5734 ora_p007_c102ru1
 5241 ora_ping_c102ru1
 5129 ora_pmon_c102ru1
13113 ora_ppa6_c102ru1
12973 ora_ppa7_c102ru1
 5133 ora_psp0_c102ru1
 5359 ora_pxmn_c102ru1
 6167 ora_q001_c102ru1
 6175 ora_q003_c102ru1
13071 ora_q005_c102ru1
14491 ora_q006_c102ru1
 6162 ora_qm02_c102ru1
12969 ora_qm03_c102ru1
 6171 ora_qm05_c102ru1
 5367 ora_rbal_c102ru1
 5586 ora_rcbg_c102ru1
 5350 ora_reco_c102ru1
 5311 ora_rms0_c102ru1
 5415 ora_rmv0_c102ru1
 5453 ora_rsmn_c102ru1
 5395 ora_s000_c102ru1
 5562 ora_smco_c102ru1
 5342 ora_smon_c102ru1
 5554 ora_tmon_c102ru1
 5558 ora_tt00_c102ru1
 5232 ora_vkrm_c102ru1
 5177 ora_vktm_c102ru1
 5566 ora_w000_c102ru1
 5574 ora_w001_c102ru1
14498 ora_w002_c102ru1
 3753 /u01/app/12.1.0.2/grid/bin/oraagent.bin
 4649 /u01/app/12.1.0.2/grid/bin/oraagent.bin
 5042 /u01/app/12.1.0.2/grid/bin/oraagent.bin
12906 oracle-MGMTDB (LOCAL=NO)
 4582 oracle+ASM1_ocr (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 4591 oracle+ASM1_asmb_+asm1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 4746 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 4757 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 4768 oracle+ASM1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5254 oracle+ASM1_asmb_-mgmtdb (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5379 oracle+ASM1_asmb_c102ru1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5740 oraclec102ru1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5745 oraclec102ru1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5805 oracle-MGMTDB (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
 5855 oracle-MGMTDB (LOCAL=NO)
 5889 oracle-MGMTDB (LOCAL=NO)
 4792 /u01/app/12.1.0.2/grid/bin/scriptagent.bin
 4797 /u01/app/12.1.0.2/grid/bin/tnslsnr MGMTLSNR -no_crs_notify -inherit
 4947 /u01/app/12.1.0.2/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
 4967 /u01/app/12.1.0.2/grid/bin/tnslsnr LISTENER_SCAN1 -no_crs_notify -inherit

MGMTDB は、Grid Infrastructure Management Repository に相当するOracleデータベースのようです。あまり細かく調べていませんが、構成ファイルはクラスタ共有記憶域用のASMディスクグループに作成されるようです。これに伴い記憶域に関するサイズの要件も大きくなってるような・・・

SQL> SELECT concat('+'||gname, sys_connect_by_path(aname, '/')) full_alias_path
  2    FROM (SELECT g.name gname, a.parent_index pindex,a.name aname, a.reference_index rindex
  3            FROM v$asm_alias a, v$asm_diskgroup g
  4           WHERE a.group_number = g.group_number
  5             AND g.name = 'CLU')
  6    START WITH (mod(pindex, power(2, 24))) = 0
  7    CONNECT BY PRIOR rindex = pindex;

FULL_ALIAS_PATH
----------------------------------------------------------------------------------------------------------------------------------------------------------------
+CLU/lc102ru-cluster
+CLU/lc102ru-cluster/ASMPARAMETERFILE
+CLU/lc102ru-cluster/ASMPARAMETERFILE/REGISTRY.253.859900561
+CLU/lc102ru-cluster/OCRFILE
+CLU/lc102ru-cluster/OCRFILE/REGISTRY.255.859900565
+CLU/ASM
+CLU/ASM/PASSWORD
+CLU/ASM/PASSWORD/pwdasm.256.859900563
+CLU/_MGMTDB
+CLU/_MGMTDB/DATAFILE
+CLU/_MGMTDB/DATAFILE/UNDOTBS1.259.859901875
+CLU/_MGMTDB/DATAFILE/SYSTEM.258.859901849
+CLU/_MGMTDB/DATAFILE/SYSAUX.257.859901827
+CLU/_MGMTDB/CONTROLFILE
+CLU/_MGMTDB/CONTROLFILE/Current.260.859901917
+CLU/_MGMTDB/ONLINELOG
+CLU/_MGMTDB/ONLINELOG/group_1.261.859901919
+CLU/_MGMTDB/ONLINELOG/group_3.263.859901923
+CLU/_MGMTDB/ONLINELOG/group_2.262.859901921
+CLU/_MGMTDB/TEMPFILE
+CLU/_MGMTDB/TEMPFILE/TEMP.264.859901927
+CLU/_MGMTDB/FD9AC0F7C36E4438E043B6A9E80A24D5
+CLU/_MGMTDB/FD9AC0F7C36E4438E043B6A9E80A24D5/DATAFILE
+CLU/_MGMTDB/FD9AC0F7C36E4438E043B6A9E80A24D5/DATAFILE/SYSTEM.265.859901931
+CLU/_MGMTDB/FD9AC0F7C36E4438E043B6A9E80A24D5/DATAFILE/SYSAUX.266.859901931
+CLU/_MGMTDB/FD9AC0F7C36E4438E043B6A9E80A24D5/DATAFILE/pdbseed_temp012014-10-02_01-39-20-PM.dbf
+CLU/_MGMTDB/046A33303A972A4DE05301331FAC38E3
+CLU/_MGMTDB/046A33303A972A4DE05301331FAC38E3/TEMPFILE
+CLU/_MGMTDB/046A33303A972A4DE05301331FAC38E3/TEMPFILE/TEMP.267.859901961
+CLU/_MGMTDB/PARAMETERFILE
+CLU/_MGMTDB/PARAMETERFILE/spfile.268.859902035
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/lc102ru_cluster_temp012014-10-02_01-44-31-PM.dbf
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSTEM.270.859902183
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSMGMTDATA.269.859902183
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSAUX.271.859902183
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSGRIDHOMEDATA.272.859902183
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/SYSMGMTDATADB.273.859902183
+CLU/_MGMTDB/FD9B43BF6A646F8CE043B6A9E80A2815/DATAFILE/USERS.274.859902183
+CLU/_MGMTDB/046A45BD88D43573E05301331FACC6C5
+CLU/_MGMTDB/046A45BD88D43573E05301331FACC6C5/TEMPFILE
+CLU/_MGMTDB/046A45BD88D43573E05301331FACC6C5/TEMPFILE/TEMP.275.859902271
+CLU/orapwasm

44 rows selected.

2014年09月30日

12.1.0.2で導入された初期化パラメータ

Oracle Database Referenceに記載されている12.1.0.2で導入された初期化パラメータについてまとめておきます。

大部分はインメモリ機能に関連するパラメータですが、それ以外のパラメータもあります。

COMMON_USER_PREFIX

マルチテナント環境でローカルユーザーと共通ユーザーを区別するために、 共通ユーザーのユーザー名に前置きする文字列を設定します。

12.1.0.1では、前置きする文字列は"C##"で固定でしたが、12.1.0.2では変更が可能になりました。

DB_BIG_TABLE_CACHE_PERCENT_TARGET

12.1.0.2新機能であるBig Table Cachingに使用するバッファキャッシュ内の領域を、パーセンテージで指定します。

DBFIPS_140

このパラメータをtrueに設定すると、透過的データ暗号化およびDBMS_CRYPTO パッケージによる暗号化処理が、Federal Information Processing Standard(FIPS) 互換のアルゴリズムを使用したものになります。デフォルトはfalseです。

ENABLE_GOLDENGATE_REPLICATION

Oracle GoldenGateを用いた論理レプリケ―ションを実行するために必要なサプリメンタルロギングを制御します。

このパラメータは11.2.0.4にも導入されています

INMEMORY_CLAUSE_DEFAULT

新規に作成した表およびマテリアライズドビューのINMEMORY句のデフォルト値となります。 インメモリとするかどうか、デフォルトの圧縮レベル、優先度等を設定できます。

INMEMORY_FORCE

表またはマテリアライズドビューに指定されたINMEMORY句のインメモリ指定に従うかどうかを構成します。デフォルトのINMEMORY_FORCE=DEFAULTでは、INMEMORY句のインメモリ指定に従いますが、INMEMORY_FORCE=OFFでは、INMEMORY句のインメモリ指定が無視され、インメモリとして扱われません。

INMEMORY_MAX_POPULATE_SERVERS

インメモリ用のメモリ領域を構成する処理である、ポピュレーションを実行するプロセスの最大プロセス起動数を指定します。

INMEMORY_QUERY

インメモリ検索の有効化/無効化を指定します。

INMEMORY_SIZE

SGA内のインメモリ用のメモリ領域のサイズを指定します。静的パラメータであり、起動中に変更することはできません。

INMEMORY_TRICKLE_REPOPULATE_SERVERS_PERCENT

2分間隔で実行されるポピュレート処理(トリクル再ポピュレート)のためにワーカープロセスが使用できるCPUリソースの割合(%)を設定します。"trickle" = "細い流れ"

OPTIMIZER_INMEMORY_AWARE

インメモリ向けのオプティマイザコストモデルの機能強化を有効化または無効化します。

New Features Guideに記載されていない12.1.0.2新機能

Oracle Databaseの最新パッチセット 12.1.0.2の新機能は

にまとめられています。(日本語訳はこちら

・・・なのですが、以下のつぶやきから

New Features Guideに記載されていない12.1.0.2新機能があることに気付きました。 ということで、New Features Guideに記載されていない12.1.0.2新機能を、 主要なマニュアルから抜粋してまとめてみます。

OracleR Database Administrator's Guide 12c Release 1 (12.1) E41484-10

http://docs.oracle.com/database/121/ADMIN/release_changes.htm#ADMIN14263

Big Table Cache

パラレルクエリがバッファキャッシュを使用できるようにする機能です。従来、パラレルクエリでは、データをダイレクトリードで読み取るため、バッファキャッシュを使用しませんでした。

初期化パラメータDB_BIG_TABLE_CACHE_PERCENT_TARGETで、 バッファキャッシュに占める割合(パーセンテージ)として、Big Table Cache用のキャッシュ領域を指定します。

Data Pump Support for the In-Memory Column Store

Data Pumpでオブジェクトをインポートする際に、オブジェクトのINMEMORY句について、前の状態を維持したり、上書き変更したり、削除したりすることができます。

Create a PDB by cloning a non-CDB

非CDBのデータベースをソースとして、クローンしてPDBを作成できます。

READ object privilege and READ ANY TABLE system privilege

従来からあるSELECTオブジェクト権限は、SELECT ... FOR UPDATEを含めたSELECT文の実行を許す権限でしたが、12.1.0.2から導入されたREADオブジェクト権限はSELECT ... FOR UPDATEの実行を許しません。SELECT ... FOR UPDATE以外のSELECT文の実行は許します。 READ ANY TABLE権限も同様と思われます。

Oracle Clusterware support for the Diagnosability Framework

Oracle Clusterwareのログ出力機構がADRに対応しました。詳細はこちらを。 http://www.oracle.com/technetwork/jp/ondemand/od12c-coretech-aug2014-2283256-ja.html#anc_04

OracleR Database SQL Tuning Guide 12c Release 1 (12.1) E49106-06

http://docs.oracle.com/database/121/TGSQL/release_changes.htm#TGSQL94924

SQL Monitor support for adaptive plans

SQL監視機能が12c新機能のadaptive plansに対応。詳細はこちらを。 http://www.dbi-services.com/index.php/blog/entry/sql-monitoring-12102-shows-adaptive-plans

OracleR Real Application Clusters Administration and Deployment Guide 12c Release 1 (12.1) E48838-09

http://docs.oracle.com/database/121/RACAD/release_changes.htm#RACAD8949

In-Memory Transaction Manager

rowストアとcolumnストアの同期をとる機能です。RACのマニュアルに新機能として記載されている理由が不明ですが、キャッシュフュージョンの関連で記載されているのかもしれません。

Memory Guard Does Not Require Oracle Database QoS Management to be Active

従来 Oracle Database Quality of Service Management の一部として提供されていたメモリ不足を検出し、自動的にサービスを停止する機能(Memory Guard)が、Oracle Database Quality of Service Managementを導入していなくても利用可能になった。

OracleR Clusterware Administration and Deployment Guide 12c Release 1 (12.1) E48819-07

http://docs.oracle.com/database/121/CWADD/release_changes.htm#CWADD92996

Oracle Trace File Analyzer Collector

いわゆるRAC環境におけるログ取得作業を簡単化するツールです。詳細はこちらを。 http://www.oracle.com/technetwork/jp/ondemand/od12c-coretech-aug2014-2283256-ja.html#anc_04

Automatic Installation of Grid Infrastructure Management Repository

Cluster Health Monitorによって収集されたリアルタイムOSメトリックを格納するOracle Databaseです。MySQLに置き換えてもよさそうな気がしますが、さすがにそういうわけにはいかないですかね ;-P 詳細はこちらを。 http://www.oracle.com/technetwork/jp/ondemand/od12c-coretech-aug2014-2283256-ja.html#anc_04

OracleR Automatic Storage Management Administrator's Guide 12c Release 1 (12.1) E41058-08

Oracle ASM Filter Driver

Oracle Softwareからの発行ではないASM DiskgroupへのI/Oリクエストを遮断する特殊なドライバソフトウェアです。おそらく、ボリュームマネージャなどの低レイヤのソフトウェアが、ASMディスクのヘッダ情報を誤って消してしまう問題に対応することを意図した機能と思われます。 詳細はこちらを。 http://www.oracle.com/technetwork/jp/ondemand/od12c-coretech-aug2014-2283256-ja.html#anc_04

OracleR Grid Infrastructure Installation Guide 12c Release 1 (12.1) for Linux E48914-11

Oracle RAC Cache Fusion Accelerator

RACキャッシュフュージョンを高速に、高い信頼性、高い効率で実行するための機能のようですが、詳細不明・・・・ いずれ、明らかになるのでしょうか・・・

2014年09月26日

いよいよOracle OpenWorld 2014 @ サンフランシスコ!

いよいよOracle OpenWorld 2014 @ サンフランシスコ!

さて、来週からとうとう米サンフランシスコでOracle OpenWorldが開催されます。 以前お伝えしたとおり、今年もコーソルから2名が参加します! (ちなみに私は行きません・・・)

Oracle OpenWorldの様子(とサンフランシスコ小旅行の様子)は昨年同様のコーソル 公式 Twitterアカウントより、写真を交えながらお伝えします! OOW開催期間中だけでよいので(笑)是非フォローしてみてください!

cosol_twitter.jpg

今年のAppreciation Eventは Aerosmithかぁ・・・ いいなぁ・・・。

弊社検証環境にAnsibleを使用した感想徒然

弊社では Oracle VM Server for x86 上に多数のVMを作成して、主にOracle Database関連製品のサポート業務向けとなる検証環境を構築しています。2011年ごろからコツコツVMを追加してきた結果、現時点では100近い製品導入済みのVMがホストされるまでになっています。

Oracle Databaseはバージョンアップを続けて行くでしょうから、今後もVMを追加してゆくことになるでしょう。また、嬉しいことに、Oracle Database以外の製品に関するサポートの引き合いを弊社がいただくことも増えてきており、Oracle Database以外の製品に対応するためにも、やっぱり今後 VMを多数作成してゆくことになりそうです :-)

弊社ビジネスが継続し、成長してゆくことはまったくもって良いことなのですが、毎度毎度VMを手作業で作成するは面倒ですし、私がVM作成に割ける時間も有限です。ということで、最近話題のプロビジョニングツール Ansibleを使ってLinux系VMの作成を自動化することにしました。

VM作成手順の概要は以下の通りです。

  1. ベースとなるOSのイメージを作成する。kickstartでゼロからOSをインストールするか、構築済みのOSをテンプレートとして活用する
  2. 自作スクリプトで、ベースOSイメージを特定のディレクトリにコピーする。この際、VM外部から指定する必要があるVM固有属性(VM識別名、MACアドレスなど)を設定する。必要があれば共有ディスクを追加する。
  3. VMを起動し、Ansibleで各種設定を行う

Ansibleで気に入っている点

これまで、Ansible, Chef, Puppetなどのプロビジョニングツールを使ったことはなかったのですが、Ansibleは非常に簡単に使いこなすことができました。適用領域次第の部分があるかとは思いますが、一度に多くて数台(Oracle RACクラスタ等)を構成する程度であれば、完全にフィットするはずです。

Ansibleで気に入っている点を書いておきます。

クライアント(ここでは構成しようとするVM)に求められる要件が少ない → pythonの一部モジュール、ssh接続程度

ホスト固有パラメータ、グループ固有パラメータを host_vars/[ホスト名]、group_vars/[グループ名] というファイルで簡単に定義できる。

[root@ol65n5 post]# cat hosts
[l59sdbx]
l59sdbx1 ansible_ssh_host=xxx.xxx.xxx.222
l59sdbx2 ansible_ssh_host=xxx.xxx.xxx.223
[root@ol65n5 post]# cat host_vars/l59sdbx1
vmid: 222
distribution_major_version: 5
processor_architecture: x86_64

ora_node_no: 1
[root@ol65n5 post]# cat group_vars/l59sdbx
template: false

ora_rac_group: l59sdbx

ora_db_name: b204ru
ora_db_domain: .world
ora_password: oracle
ora_db_charset: AL32UTF8
  : 

ホスト固有パラメータ、グループ固有パラメータをテンプレートで簡単に参照して 展開できる。

  • 例: /etc/sysconfig/network-scripts/ifcfg-eth0 のテンプレート
[root@ol65n5 post]# cat templates/ifcfg-eth0.j2
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
IPADDR=172.31.{{vmid}}.1
HWADDR=xx:xx:xx:00:{{ "%X"|format(vmid) }}:00
NETMASK=255.255.0.0 

Ansibleをうまく使うために

使ってみての実感ですが、プロビジョニングツールを使って、構成が異なる 多数の環境を効率的に構築するためは、構成のベース部分のテンプレート化(標準)が必要になりますね。 環境ごとにあまりにも構成が異なると、それぞれの構成に合わせてプロビジョニング定義を書く必要がでてきて、あまり省力化につながりません。

たとえば、弊社検証環境ではNICおよびセグメントの構成を以下の構成でそろえています。

eth0 : 172.31.[VM識別子].1/16   xx:xx:xx:00:[VM識別子]:00
eth1 : 172.30.[VM識別子].1/16   xx:xx:xx:00:[VM識別子]:01
eth2 : 172.29.[VM識別子].1/16   xx:xx:xx:00:[VM識別子]:02
eth3 : 172.28.[VM識別子].1/16   xx:xx:xx:00:[VM識別子]:03
eth4 : xxx.xxx.xxx.[VM識別子]/24 → DHCPで固定IPアドレスを割り当て、社内LANに接続
                                xx:xx:xx:00:[VM識別子]:04

そろえることで、プロビジョニング定義を共通化できます。逆に言うと、そろえたとしても、それぞれのVMの用途に併せた設定ができる余地があるような、構成にしておく必要があります。

細かいところではありますが、上記の構成は以下の点を気にしています。

  • 各種アドレスを体系化する。VMの識別子を導入して、これと対応付けるのが簡単でしょう。
  • Oracle RAC構成を意識して、パブリックLANとプライベートLANを構成できるように
  • さらに発展的なOracle RAC構成のために、複数のパブリックLANとプライベートLANを構成できるように
  • Oracle ClusterwareのVIPを意識して、同一のNICに対して複数のIPアドレスをVMIDと対応付けた形で割り当てられるように
  • VMに導入する製品(例: Oracle Database) が使用するNICと、VMにアクセスするNICを分ける。通常の運用でも業務LANと管理LANとわけると思いますが、そのイメージです。

その他、いくつかノウハウが見えてきたので、メモ書きレベルですがまとめておきます。

  • ベースとなるOSイメージを作成するとき、NICの設定でMACアドレスに依存しないようにしておく。依存していると、VMデプロイ時にMACアドレスが変わると、NICが上がらないので面倒。
  • Ansibleでプロビジョニングを開始するためにはssh接続が必要。ssh接続するためのネットワーク設定をVM内部から実施するのは面倒なので、DHCPを用いて VM外部から自動的にネットワーク設定するようにしておくのがよい。これは、そのVMのMACアドレスに対して、固定IPアドレスを割り当てるようにDHCPサーバを構成することで実現できる。
  • 上記のssh接続で使用するNICは、VMに導入する製品(例: Oracle Database) が使用するNICとは別のNICがよい。ssh接続後、Ansibleで、VMに導入する製品(例: Oracle Database) が使用するNICを構成する流れとする。
  • あまり 有用性が感じられなかったので gather_facts は使用していません。
  • べき等にするのは結構大変・・・。設定内容に特化したモジュールがない場合は厳しい。lineinfileモジュールを使用して、Ansibleが各種設定ファイルを事実上手編集するような場合は、特に。
  • Oracle製品のインストール自動化をするには、サイレントインストール+レスポンスファイルの知識が必要(あたりまえ)

あとはWindows VMの導入効率化を検討したいですが・・・ いつ着手できることやら。

2014年09月25日

Oracle OpenStack for Oracle Linux Release 1.0 (Icehouse) リリース

Oracle OpenStack for Oracle Linux Release 1.0 (Icehouse)がリリースされました。

OpenStackについては、私自身あまり積極的に情報の収集をしていなかったので、 残念ながら現時点であまりOpenStackの全貌を理解できていません。加えて、 Oracle OpenStack for Oracle Linuxのドキュメントをさほど読み込めているわけでもないので 理解が間違っているかもしれませんが、気になったことをメモしておきます。

Oracle OpenStack for Oracle Linux Release 1.0 Datasheet
http://www.oracle.com/technetwork/server-storage/openstack/linux/documentation/datasheet-oracle-openstack-2296038.pdf

Oracle OpenStack for Oracle Linux Release 1.0 (Icehouse) Release Notes
http://www.oracle.com/technetwork/server-storage/openstack/linux/documentation/release-notes-oracle-openstack-2296040.pdf

より

  • オラクルの独自実装ではなく、openstack.orgでリリースされたバージョン(icehouse)をベースに 作成 "This release is based on the OpenStack Icehouse release."
  • OpenStackが管理対象とするVMサービスを提供するノード(「コンピュートノード」と呼ぶようだ。)は、Oracle VM Server 3.3(実体はXenを構成したOracle Linux)と KVMを構成したOracle Linux 6.5以降。
  • ライセンスは無償。サポートは有償。
  • 検証用に、Oracle OpenStack for Oracle Linux導入済みのOracle VM VirtualBox用VMイメージが配布されている。
    http://www.oracle.com/technetwork/server-storage/openstack/linux/downloads/index.html

Oracle OpenStack for Oracle Linux Installation and User’s Guide Release 1.0
http://www.oracle.com/technetwork/server-storage/openstack/linux/documentation/oracle-openstack-user-guide-2296176.pdf
から引用

openstack_ovm.jpg

  • Oracle VM ServerのXenに対する制御は、OpenStackのエージェントとlibvirtを介して実行され、Oracle VM ManagerおよびOracle VM Agentは関与しないようだ
  • OpenStackで管理することで、Oracle VM Managerが不要となるように読める "Oracle VM Server can be managed using Oracle VM Manager, or as a standalone product with OpenStack. "。 機能的にOpenStackとOracle VM Managerは被る部分が多いため、もしかしたらOracle VM Managerが不要となるかもしれない・・・

時間を見つけて評価検討を行い、有用そうであれば、弊社検証環境に使用したいと考えています。 ポイントはOpenStackの複雑さと便利さのどちらを取るかになりそうかな・・・。

博多駅近辺B級グルメを紹介しつつ、併せて福岡オフィスもご紹介

昨年の1月に開設したばかりの、まだあたらしいコーソル福岡オフィスで、6月と8月の2回勤務する機会がありました。

コーソル福岡オフィスは博多駅のすぐ近くにあり、とてもアクセスしやすいです。 なんと、8月の夏季休暇シーズンのときには、九州旅行のついでにコーソル本社に顔を出してくれる人が何名かいました! みんな福岡勤務したくなったかもしれません

多分に個人的な趣味趣向が入りますが、博多駅のすぐ近くに、ヨドバシカメラ、丸善や紀伊國屋書店といった大規模書店、東急ハンズがあるのも好印象。とてもいい街に思えます :-)

で、新しいところへ行くと、気になるのは「食」のこと。ということで、博多駅近辺のB級グルメをご紹介 :-)

豚骨ラーメン、うどん

博多で麺類といえば、豚骨ラーメンが有名ですね。でも歳のせいか、最近豚骨ラーメンは若干重い・・・ でもせっかくだからと博多の豚骨ラーメンを試してみましたが、本場の豚骨ラーメンは東京の豚骨ラーメンよりもさらに重い・・・。

tonkotsu.jpg

しかし、博多の麺類では、うどんも有名だったりします。ということで、博多勤務中、麺類といえばもっぱらうどんでした。

東京では、うどんと一緒にお稲荷さんを出してくれる店がたまにありますが、博多のうどん屋さんでは「かしわ飯」という鶏の炊き込みごはんで作ったおにぎりを一緒に出してくれるところが多いです。

udon_kashiwameshi.jpg

いくつかの店でうどんを食べましたが、一番気に入ったのは

関連ランキング:うどん | 博多駅祇園駅

大地のうどんです。

お店はいつも混んでいます。店に入って注文してからも、料理が出てくるまで時間がかかりますが、うどんはかなり美味しいです。とてもおススメ。

daichi_udon1.jpg

daichi_udon2.jpg

daichi_udon3.jpg 特におススメなのはど迫力の「ごぼ天うどん」でしょうか。天ぷらが丼からはみ出している!!

餃子

博多で餃子といえば一口餃子が有名ですね。これまで食べたことがなかったので、博多で最も有名そうな店をえらび試してみました。

関連ランキング:餃子 | 博多駅祇園駅呉服町駅

gyoza_asahiken.jpg

見てのとおり、とても小さい餃子です。食べてみると、なんというかワンタンを焼いたような、ちょっとしたスナックのような食べごたえです。いわゆる餡の存在感は薄くて、皮を食べているような感じ・・・。

幸い(?)博多駅にはおなじみ「餃子の王将」がありましたので、餃子を食べたいときはもっぱらこの店を使っていました。せっかく、博多に来ているのに・・・という気はしますが :-)

関連ランキング:餃子 | 博多駅祇園駅呉服町駅

海鮮丼

B級グルメかというと位置づけは微妙ですが、博多といえば新鮮な魚介類は外せません。 おひるごはんに使えそうな海鮮丼の店を開拓しました。

関連ランキング:海鮮丼 | 博多駅祇園駅

isoragi.jpg

isoragi2.jpg

見ての通り、とても丁寧に仕上げられており、おいしく頂けました。

肉!

ちゃんと栄養を取るには肉でしょう。ということで肉関連のB級グルメとして、「ハンバーグこが」をご紹介。博多駅やコーソル福岡オフィスからちょっと距離がありますが、お値段もお手頃な割にボリュームがあり、とてもおススメです。

koga.jpg

koga2.jpg

関連ランキング:ハンバーグ | 祇園駅博多駅中洲川端駅

写真は撮っていませんでしたが、以下のお店も味がなかなかでした。コーソル福岡オフィス近くの博多バスターミナル ビルの8Fにあり、博多勤務者には使いやすいですね。

関連ランキング:ブラジル料理 | 博多駅祇園駅

関連ランキング:鉄板焼き | 博多駅祇園駅

こんなおいしいものばかりの博多でお仕事されたい場合は、ぜひ会社説明会へおこしください!

2014年07月26日

Oracle VMでリピータHUB - 仮想環境で Oracle Audit Vault and Database Firewall 環境を構築

Oracle Audit Vault and Database Firewall の検証環境をつくることになり、 Oracle VM 環境における仮想スイッチをリピータHUBのように動作させたくなりました。

Database Firewall Serverは、実行されたSQLの記録や置換のため、データベースサーバとクライアントでやり取りされるSQLトラフィックをキャプチャします。Database Firewall Serverの配置方法にはインラインとアウトオブバンドの2種類がありますが、現時点で一般的に使用されるのはアウトオブバンド方式のようです。

アウトオブバンド方式では、通常、スイッチのミラーポート機能を使って、データベースサーバとクライアントでやり取りされるパケットをDatabase Firewall Serverが接続されたポートにミラーリングします。そして、ミラーリングされたパケットをDatabase Firewall Serverがキャプチャします。

しかし、確認した限り、Oracle VM 環境で使用される仮想スイッチには、ミラーリングの機能が無いようでした。しかし、実現したいことは、データベースサーバとクライアントでやり取りされるパケットが、Database Firewall Serverが接続されたポートからも出力されることですので、ミラーリングの機能が無くても、仮想スイッチをリピータHUBのように動作させらればOKです。

リピータHUBでは、HUBを経由するすべてのパケットがすべてのポートから出力されます。一方、仮想スイッチは、各ポートに接続されているホストのMACアドレスを学習することによって、パケットを出力するポートを(うまく)制限してくれます。 逆にいえば、この学習機能を無効にすればよいわけです。

ということで、Oracle VM Serverから、

brctl setageing [仮想スイッチ名] 0

を実行します。すると、学習した結果を保持する期間が0になり、実質的にMACアドレスの学習機能が働かなくなります。 すなわち、スイッチがスイッチたるところの機能が実質的に無効になり、リピータHUBのように振る舞う形になります。

なお、brctl showstp [仮想スイッチ名] を実行すれば、ageing time (= 学習した結果を保持する期間) が0になっていることが確認できます。

[root@csov32s2 AVDF_lc121f]# brctl showstp 1011982358
1011982358
 bridge id              8000.000000000000
 designated root        8000.000000000000
 root port                 0                    path cost                  0
 max age                  19.99                 bridge max age            19.99
 hello time                1.99                 bridge hello time          1.99
 forward delay             0.00                 bridge forward delay       0.00
 ageing time               0.00 <====
 hello timer               0.94                 tcn timer                  0.00
 topology change timer     0.00                 gc timer                   0.94
 flags

参考

プロフィール

Ryota WATABE / 渡部 亮太

100x100.jpg

投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

  • Oracle Database 12c Administrator Certified Professional (ORACLE MASTER Gold Oracle Database 12c)
  • Oracle Database 11g Certified Master (ORACLE MASTER Platinum Oracle Database 11g)
  • Oracle Database 11g Data Warehousing Certified Implementation Specialist
  • Oracle Database 11g Security Certified Implementation Specialist
  • Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator
  • Oracle Certified Expert, Oracle Exadata X3 Administrator
  • Oracle Exadata 11g Certified Implementation Specialist
  • Oracle Database 10g Certified Master (ORACLE MASTER Platinum Oracle Database 10g)
  • Oracle Database 10g Managing Oracle on Linux Certified Expert
  • Oracle Database 10g: Real Application Clusters Administrator Certified Expert
  • Oracle PL/SQL Developer Certified Associate
  • Oracle Certified Professional, MySQL 5 Database Administrator
  • Cisco Certified Network Associate (CCNA)
  • Cisco Certified Network Associate Security (CCNA Security)
  • OSS-DB Gold (PostgreSQL 9)
  • OSS-DB Silver (PostgreSQL 9)
  • LPIC 301 Core (Linux)
  • Oracle Certified Java Programmer, Silver SE 7
  • Oracle WebLogic Server 12c Certified Implementation Specialist

カテゴリー

Powered by
Movable Type 3.34