SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

最新イベントはこちら!

Data Tech 2024

2024年11月21日(木)オンライン開催

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

EnterpriseZine(エンタープライズジン)

EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。

『EnterpriseZine Press』

2024年秋号(EnterpriseZine Press 2024 Autumn)特集「生成AI時代に考える“真のDX人材育成”──『スキル策定』『実践』2つの観点で紐解く」

Oracle Database 12c メッタ斬り!

12cでデータのライフサイクル管理はどうなる?

003


「Oracle Database 12c メッタ斬り!」企画も3回目、今回はOracle Database 12cのもう1つの目玉、「ヒートマップ」に着目した。いわゆるデータのライフサイクル管理を実現するのがこの機能だが、ストレージで行うものとどう違うのか。さらには、ヒートマップを使っていて、新たにストレージを追加する際には、12cはどのような動きとなるのか。何ができるというメリットの観点だけではなく、実際にこの機能を使って運用しようとするとどうなるのかを掘り下げている。さらには、もう1つの目玉機能「redaction」にも話題は発展、redactionを使ったテストの話などにまで言及している。今回も、カタログなどでは触れることのない、Oracle Database 12cの真の姿に近づいた内容となっているはず。データベースエンジニアは必見だ。

ヒートマップ、どう使う?

日本オラクル 近藤暁太さん(左)、DBオンライン 谷川耕一(中央)、インサイトテクノロジー 新久保浩二さん(右)

 谷川:今回はASMやヒートマップの話をしましょうか。データライフサイクルはこれまでストレージレベルでやっていました。データベースのレベルでやるというのはすんなり理解できましたか?

 新久保:むしろストレージで管理していたILMというのはあまり機能しているのを見たことがないです。ストレージのレイヤレベルでデータを配置したところでアプリケーションのアクセス頻度とはまた違うので。

 データベースでやるなら、レコード、セグメント、さらにテーブルレベルで見ることになり、それは意味があるかなと思います。レンジパーティションとヒートマップとか使いやすそう。

 谷川:レンジパーティションなら時系列の塊でデータを管理するので、過去のものの取り扱いはアーカイブに近いからね。

 新久保:リスクも少なそう。

 谷川:ヒートマップの仕組みはASMと密接だと思うけど、必須?

 新久保:関係ないです。しかしオーバーヘッドが気になります。アクセスごとにヒートマップのディクショナリーを作るのだし。

 谷川:ヒートマップのディクショナリーってSQLとかで見られたりするのかな?

 近藤:見えます。

 新久保:「v$ ペケペケ」という感じの構文です。 (※新久保補足参照)

 谷川:見て分かるものなの?

 新久保:例えばこのテーブルで何ブロック読まれているとか、スキャンしたとか。この情報はチューニングや何かに使えるんじゃないかってやらしい気持ちが(笑)。ただライセンス的にはオプションが必要ですけど。

 近藤:Advanced Compression Optionのライセンスが必要です。

 谷川:このデータを解析するツールとか出てきそう。

 新久保:そりゃもうすぐに(笑)。

 谷川:需要ありそう。

 新久保:12c以前から「手軽に不要なインデックスを知りたい」という要望があります。インデックスをモニタすればいいのですが、負荷や設定で抵抗感あるお客さんが多くて。これからはヒートマップを見れば使われていないインデックスが分かり、安全に捨てることもできると思います。しかしそのために「Advanced Compression Optionのライセンスを買って」とは言えないんですが。

 谷川:買ってくれた相手にはコンサルができますよね。

 新久保:それで「このゴミのようなインデックスが……」と口を滑らせて怒られちゃったりして(笑)。

 一同:笑)。

 ※新久保補足

 HEAT_MAPに関して

 HEAT_MAP機能が有効化されていると様々な粒度でのアクセス統計が取得される。取得されるアクセス統計は、大きく以下の4つ

  •  ブロックレベル
  •  エクステントレベル
  •  オブジェクト/セグメントレベル
  •  テーブルスペースレベル

 これらの情報はv$heat_map_segmentやdbms_heat_mapパッケージにより確認可能。

 # ブロックレベルで対象のオブジェクト(この場合はテーブル)のアクセス統計を確認する場合

 SQL> select * from table(dbms_heat_map.block_heat_map('SOE','ORDERENTRY_METADATA'));

 OWNER SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME FILE_ID RELATIVE_FNO BLOCK_ID WRITETIME

 ----- ------------------------------ --------------- --------------- ---------- ------------ ---------- ---------

 SOE ORDERENTRY_METADATA SOE 1024 1018128

 SOE ORDERENTRY_METADATA SOE 1024 1018129

 SOE ORDERENTRY_METADATA SOE 1024 1018130

 SOE ORDERENTRY_METADATA SOE 1024 1018131

 ...

 # エクステントレベルで対象のオブジェクト(この場合はテーブル)のアクセス統計を確認する場合

 SQL> select * from table(dbms_heat_map.extent_heat_map('SOE','ORDERENTRY_METADATA'));

 OWNER SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME FILE_ID RELATIVE_FNO BLOCK_ID BLOCKS BYTES MIN_WRITE MAX_WRITE AVG_WRITE

 ----- ------------------------------ --------------- --------------- ---------- ------------ ---------- ---------- ---------- --------- --------- ---------

 SOE ORDERENTRY_METADATA SOE 1024 1018128 16 131072

 # オブジェクトレベルで対象のオブジェクト(この場合はテーブル)のアクセス統計を確認する場合

 SQL> select * from table(dbms_heat_map.object_heat_map('SOE','ORDERENTRY_METADATA'))

 OWNER SEGMENT_NAME PARTITION_NAME TABLESPACE_NAME SEGMENT_TYPE SEGMENT_SIZE MIN_WRITE MAX_WRITE AVG_WRITE MIN_READT MAX_READT AVG_READT MIN_FTSTI MAX_FTSTI AVG_FTSTI MIN_LOOKU MAX_LOOKU AVG_LOOKU

 ----- ------------------------------ --------------- --------------- -------------------- ------------ --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------

 SOE ORDERENTRY_METADATA SOE TABLE 1048576

 # テーブルスペースレベルのアクセス統計を確認する場合

 SQL> select * from table(dbms_heat_map.tablespace_heat_map('SOE'));

 TABLESPACE_NAME SEGMENT_COUNT ALLOCATED_BYTES MIN_WRITE MAX_WRITE AVG_WRITE MIN_READT MAX_READT AVG_READT MIN_FTSTI MAX_FTSTI AVG_FTSTI MIN_LOOKU MAX_LOOKU AVG_LOOKU

 --------------- ------------- --------------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- --------- ---------

 SOE 188 2.4721E+10

≪気になったら今すぐトライアル!≫
Oracle Database 12c トライアル・キャンペーン!

cap

Oracle Database 12cは、もうお試しになりましたか? 
Oracle Technology Networkでは、Oracle Database 12cのリリースを記念して、トライアル・キャンペーンを実施中です。 Oracle Database 12c 試用版ソフトウエアをお試しいただき、アンケートに回答していただいた方の中から、合計1,212名様にOracle Database 12cロゴ入りのスペシャルグッズをプレゼントします。Oracle Databaseを使用しているデータベースエンジニアの皆様、ぜひ挑戦してみてください!

Oracle Database 12cトライアル・キャンペーンに参加する!

次のページ
「replace」―じわじわくるコマンド

この記事は参考になりましたか?

  • Facebook
  • X
  • Pocket
  • note
Oracle Database 12c メッタ斬り!連載記事一覧

もっと読む

この記事の著者

谷川 耕一(タニカワ コウイチ)

EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

加山 恵美(カヤマ エミ)

EnterpriseZine/Security Online キュレーターフリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Online の取材・記事も担当しています。Webサイト:https://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/5115 2014/04/01 15:44

Job Board

AD

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング