FC2ブログ

オラクル R&D センター

尚、本ブログに関する情報を無断引用することを禁止します。 引用希望の場合はコメント欄に記入下さい。個別対応します。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

HWMを下げる威力

Oracle10gより、alter table xxx shrink space;
コマンドが追加されました。
これにより、テーブルのフラグメントを解消し、
未使用ブロックを解放させ、HWMを下げることができます。
つまり、HWMを下げる=TableFullScanの実行時間短縮です。

そこで検証してみました。
・CPU         500MHz×1
・OS         Windows2000
・Oracle       10gR2
・作成TBL       1行8kb程度の表
・ブロックサイズ   8k
・MultiBlockReadCnt 16
・DBバッファ     4MB
・自動SGAチューニング OFF

1.260万強のデータをINSERTして
  データファイル(セグメント)を2.6GB程度まで拡張させました。
2.テーブルをTRUNCATEします。
3.今度は100万件のデータをINSERTしました。
4.select count(*) from ; を実行したところ
  7分の時間を要しました。
5.alter table
enable row movement;
6.alter table
shrink space;
(所要時間は忘れた。。。)
7.再度 select count(*) from
; を実行したところ
  3分弱で完了しました。

結果としては、解放されたブロック率だけ、パフォーマンスが
向上する、と言えそうです。
スポンサーサイト

テーマ:オラクルデータベース - ジャンル:コンピュータ

Exp/Impの高速化

タイトルにExp/Impと書いたが主にImp時の対応だ。
ImportはDB上で実施すべきかクライアントで実施すべきかを考察する。
DB上に置くメリット
・ネットワーク負荷がない
・OracleNetを介さず、BEQ接続できる(メリットか!?)
クライアントに置くメリット
・ExpファイルのReadとImport時のデータベースに対するIOが競合しない
・IMPプロセスはクライアント上で動く

つまり、IOを気にするならクライアント上で実行し
ネットワーク帯域が気になるならサーバー上で実行ということだ。

これを実証するため検証をした。
*DBサーバーのDiskI/Oがすぐボトルネックになる構成です*
・DBサーバー
 CPU450MHz、メモリ500MB、NIC=100BASE/TX
 Windows2000+Oracle10gR2
 HDD=Maxtor 32049H2
・クライアント
 CPU450MHz、メモリ500MB、NIC=100BASE/TX
 Windows2000+Oracle10gR2
・ネットワーク
 スイッチングHUB(2つのマシンは同一セグメント内)
・対象データ
 テーブル1つ(1行約8kb(char型で構成)、100万件、サイズ=1.1G)
・Exportファイルの生成
 exp scott/tiger direct=y buffer=10000000 tables=imp_perf file=imp_perf.dmp
ダンプファイルサイズ=1G弱

~以下、実証結果~
※データファイルの拡張が起きないよう
 十分な空ORACLEブロックがある状態で実行しています。
 imp scott/tiger tables=imp_perf statistics=none file=imp_perf.dmp recordlength=1000000 buffer=1000000
 (recordrengthはimp実行時に65535に切り捨てられました)

・パターン1
 DBサーバー上でIMPを実行した場合(EXPファイルとDBFが同一HDDに存在)
 TIME=10分

・パターン2
 クライアント上でIMPを実行した場合
 TIME=8分弱


結論:今回の環境ではクラアント別立てがパフォーマンス改善に
   つながったが、最新のH/Wでは、DBサーバー上で実行したほうが
   はやいと思う。

SolarisへOracle7.3.4のインストール

またしても必要に駆られ、R7のインストールです。
インストールマニュアルが残ってて助かりました。
Solarisは5.7です。

・今はなき、ORACLE_TERM環境変数をvt100としてset。
・インストーラ起動
 cd /cdrom/oracle734/orainst
./orainst
・適当に設定を済ましていく
 ・インストールモジュールに少し迷いましたが以下を入れました。
  ・RDBMS
  ・SQL*NETv2
  ・SQL*PLUS3.3
  ・TCP/IP Protocol Adapter(V2)
  ・ServerManager
  (MTS設定するため、NetV2とAdapterV2を入れる)

・oracleモジュールをrelinkするか聞いてきたので
 もちろん、relink!

■インストールしていくと、意外な驚きに遭遇!
・このバージョンでもJDBCがある
・RAWデバイスにデータベースを作るか聞いてくる
・MTS接続でデータベースを構成するか聞いてくる

・データベースを作るマウントポイントを聞いてきた
 なぜか、3つも聞いてきたが、全部同じディレクトリを指定
 (後でわかったが、たぶんこれは3つの制御ファイルを
  どこに置くかを決める&データファイルが分散配置されるようだ)
・XWindowのライブラリがある場所を聞かれる
 /usr/openwin/lib が候補となっていた。
 lsするとそのディレクトリがあったので変更せずに[OK]

PL/SQLのパッケージインストールにすごく
時間が掛かりました。。
インストーラがインストールに費やした時間は
30分位でした。(意外に時間がかかるな)

以上、今日もお疲れ。

テーマ:オラクルデータベース - ジャンル:コンピュータ

REDOログ破損です!

知らぬ間にLANケーブルが抜けていました!!
このLANケーブルはPUBLIC用とPRIVATE(INTERCONNECT)を兼ねています。

通信できてないことに気づいたら、OSがハングってるし
結局全ノード(2ノード)を再起動させたんですが、
いざ、ORACLEを立ち上げようとすると、REDOが壊れていると
言われました!!

recoverコマンドで色々とやってみましたが復旧できず。。

今日はこの辺でやめておく。

テーマ:オラクルデータベース - ジャンル:コンピュータ

HDDが微妙に壊れてる!

もう5年前以上のH/W(CPU450MHz)にWIN2000を入れ、
ORACLE10.2(US-OTNからお取り寄せ)をインストールしてました。

すると今までであったことのないエラーに遭遇。
「C:\~\opatch.ini がないですよ」だって。
そんなこと俺に言われてもインストーラが悪いんやんけ
と思ってたところ、OSのシステムログに
「ページング操作中にデバイス ~ 上でエラーが検出されました。」
と出てました。

なんと!さも問題なさそうに動いていたHDDも実は
エラーを出してたんです!
一気に壊れるとすぐ気づくんですが
このように静かに壊れると余計に困ります。

結局HDDを交換してOS+ORACLEを再インストールでした。。

FC2Ad

09 | 2005/10 | 11
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -

最近の記事

最近のコメント

月別アーカイブ

カテゴリー

リンク

このブログをリンクに追加する

ブログ内検索

RSSフィード

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。