UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

dbccdbの作成

dbccdbの作成


0.更新履歴

  • 2001.06.12 新規作成
  • 2001.06.15 いろいろ情報追加

1.はじめに

 このドキュメントでは,Sybaseでデータベースの一貫性チェックの結果を保存するためのデータベース,,「dbccdb」を作成する手順を示す.

2.リソース計画

  • dbccdbを作成するために必要なリソースを調べる.
  • sp_plan_dbccdbストプロを使い,推奨サイズを表示させる.
C:\>isql -Usa -P -SSYBASE01 -w100
1> use master
2> go
1> sp_plan_dbccdb
2> go

dbccdb データベースの推奨サイズは 23MB (データ = 21MB、ログ = 2MB) です。

master..sysdevices 内に dbccdb に適したデバイスがありません。


作業領域サイズ、キャッシュ・サイズ、プロセス数の推奨値:


dbname                            scan ws    text ws    cache    process count

master                            80K        48K        640K     1
tempdb                            2496K      640K       1280K    2
model                             64K        48K        640K     1
sybsystemprocs                    752K       192K       640K     1
user_db                           7392K      1856K      2560K    4

(return status = 0)
1>
  • user_dbに対してのdbccdbを作成する場合は,次の計算になる.
    • 同時に複数のデータベースを検査しない場合は,最大容量のデータベースを指定すればよい.
1> sp_plan_dbccdb user_db
2> go

dbccdb データベースの推奨サイズは 19MB (データ = 17MB、ログ = 2MB) です。

master..sysdevices 内に dbccdb に適したデバイスがありません。


作業領域サイズ、キャッシュ・サイズ、プロセス数の推奨値:


dbname                            scan ws    text ws    cache    process count

user_db                           7392K      1856K      2560K    4

(return status = 0)
1>
  • 今回は,すべてのデータベースの一貫性テストを実行すると考え,次のように設定する.
項目 設定値
データベースサイズ 21MB
ログサイズ 2MB
Scan作業領域 10MB
text作業領域 3MB
キャッシュ 2.5MB
プロセスカウント 9

3.dbccdbの作成

  • dbccdb用デバイスを作成する.
  • デバイスは,データが保存される領域(2KB × 11264=22528KB)と,ログが格納される領域(2KB × 1024 = 2048KB)とする.
1> disk init
2>   name = "dbccdb_dat",
3>   physname = "e:\sybase_dev\dbcc01.dat",
4>   vdevno = 15,
5>   size = 11264
6> go
1> disk init
2>  name = "dbccdb_log",
3>   physname = "e:\sybase_dev\dbccLog01.dat",
4>   vdevno = 16,
5>   size = 1024
6> go
1>
  • 作成したデバイスを用いて,データベースを作成する.
1> create database dbccdb
2>   on dbccdb_dat = 21
3>   log on dbccdb_log = 2
4> go
CREATE DATABASE: ディスク 'dbccdb_dat' に 10752 ページを割り付けています。
CREATE DATABASE: ディスク 'dbccdb_log' に 1024 ページを割り付けています。
1>
  • デバイス上に,scan作業領域と,text作業領域のセグメントを追加する.(オプション)
1> use dbccdb
2> go
1> sp_addsegment scanseg,dbccdb,dbccdb_dat
2> go
DBCC の実行が完了しました。DBCC がエラー・メッセージを表示した場合、

システム管理者 (SA)の権限を持つユーザに連絡しください。

セグメントが作成されました。



(return status = 0)
1> sp_addsegment textseg,dbccdb,dbccdb_dat
2> go
DBCC の実行が完了しました。DBCC がエラー・メッセージを表示した場合、

システム管理者 (SA)の権限を持つユーザに連絡しください。

セグメントが作成されました。



(return status = 0)
1>
  • dbccdbのインストールスクリプト,installdbccdbを使用し,dbcc_typesテーブルを作成する.
1> quit

C:\>isql -Usa -P -SSYBASE01 -w100 -i"c:\sybase\scripts\installdbccdb" -odbcc.log

C:\>
  • 実行結果のログを確認する.
C:\>type c:\dbcc.log
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
creating dbcc_types table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_config table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_dev_info table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_operation_log table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_operation_results table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_counters table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_faults table
オブジェクト名は変更されました。

(return status = 0)
creating dbcc_fault_params table
オブジェクト名は変更されました。

(return status = 0)
(1 row affected)
(1 row affected)
creating index on dbcc_types table
creating index on dbcc_config table
creating index on dbcc_operation_log table
creating index on dbcc_operation_results table
creating index on dbcc_dev_info table
creating index on dbcc_counters table
creating index on dbcc_faults table
creating index on dbcc_fault_params table
(1 row affected)
(1 row affected)
Inserting type codes into dbcc_types table
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
(1 row affected)
Installing sp_validatedb
Installing sp_getopid
Installing sp_dbcc_alterws
Installing sp_dbcc_createws
Installing sp_dbcc_configreport
Installing sp_dbcc_deletehistory
Installing sp_dbcc_deletedb
Installing sp_dbcc_evaluatedb
Installing sp_dbcc_updateconfig
Installing sp_dbcc_summaryreport
Installing sp_dbcc_runcheck
Installing sp_dbcc_statisticsreport
Installing sp_dbcc_faultreport
Installing sp_dbcc_differentialreport
Installing sp_dbcc_fullreport
Loading of dbccdb database is complete.

C:\>
  • sp_dbcc_createwsを使用し,scan作業領域と,text作業領域を作成して初期化する.
C:\>isql -Usa -P -SSYBASE
1> use dbccdb
2> go
1> sp_dbcc_createws dbccdb,scanseg,scan_user_db,scan,"10M"
2> go
サイズが 10240KB の作業領域 scan_user_db が dbccdb データベースに作成
されました。
(return status = 0)
1> sp_dbcc_createws dbccdb,textseg,text_user_db,scan,"3M"
2> go
サイズが 3072KB の作業領域 text_user_db が dbccdb データベースに作成さ
れました。
(return status = 0)
1>

4.名前つきキャッシュの設定

  • dbcc checkstorageを高速化させるため,専用のキャッシュを設定する.
  • dbccdb用の名前つきキャッシュを作成する.
1> use dbccdb
2> go
1> sp_cacheconfig dbccdb_cache,"3M"
2> go
変更が完了しました。変更を反映させるために SQL Server をリブートしてください。

(return status = 0)
1>
  • 設定したキャッシュを有効にするため,リブートする.
1> quit

C:\>net stop "Sybase SQLServer _ SYBASE01"
Sybase SQLServer _ SYBASE01 サービスを停止中です.
Sybase SQLServer _ SYBASE01 サービスは正常に停止されました。


C:\>net start "Sybase SQLServer _ SYBASE01"
Sybase SQLServer _ SYBASE01 サービスを開始します...........
Sybase SQLServer _ SYBASE01 サービスは正常に開始されました。


C:\>
  • dbccdb_cacheのI/Oバッファプールを16KBに設定する.
1> sp_poolconfig "dbccdb_cache","2M","16K"
2> go
(return status = 0)
1>
  • 設定値を確認する.
1> sp_poolconfig "dbccdb_cache"
2> go
 Cache Name                     Status    Type     Config Value Run Value
 ------------------------------ --------- -------- ------------ ------------
 dbccdb_cache                   Active    Mixed         3.00 Mb      3.00 Mb

(1 row affected)
                                                   ------------ ------------
                                            Total       3.00 Mb      3.00 Mb
==========================================================================
Cache: dbccdb_cache,   Status: Active,   Type: Mixed
      Config Size: 3.00 Mb,   Run Size: 3.00 Mb
      Config Replacement: strict LRU,   Run Replacement: strict LRU
 IO Size  Wash Size Config Size  Run Size     APF Percent
 -------- --------- ------------ ------------ -----------
     2 Kb    204 Kb      0.00 Mb      1.00 Mb     10
    16 Kb    400 Kb      2.00 Mb      2.00 Mb     10
(return status = 0)
1>
  • dbccdbの名前つきキャッシュサイズを設定する.
1> sp_dbcc_updateconfig user_db,"dbcc named cache",dbccdb_cache,"3M"
2> go
dbcc_config 内でデータベース user_db の dbcc named cache が更新されました。

(return status = 0)
1>

5.dbccdbの環境設定

  • worker processesの設定を行う.
1> sp_dbcc_updateconfig user_db,"max worker processes","4"
2> go
dbcc_config 内でデータベース user_db の max worker processes が更新されました。

(return status = 0)
1> sp_configure "number of worker processes"
2> go
 Parameter Name                 Default     Memory Used Config Value Run Value
 ------------------------------ ----------- ----------- ------------ -----------
 number of worker processes               0           0           0            0

(1 row affected)
(return status = 0)
1> sp_configure "number of worker processes",50
2> go
 Parameter Name                 Default     Memory Used Config Value Run Value
 ------------------------------ ----------- ----------- ------------ -----------
 number of worker processes               0           0          50            0

(1 row affected)
設定オプションが変更されました。このオプションは静的なので、変更を反映するために 
Adaptive Server
をリブートしてください。

(return status = 0)
  • scanおよびtextのセグメントを指定する.
1> sp_dbcc_updateconfig user_db,"scan workspace",scan_user_db
2> go
dbcc_config 内でデータベース user_db の scan workspace が更新されました。

(return status = 0)
1> sp_dbcc_updateconfig user_db,"text workspace",text_user_db
2> go
dbcc_config 内でデータベース user_db の text workspace が更新されました。

(return status = 0)
  • 一貫性チェックを中断する条件を設定する.
1> sp_dbcc_updateconfig user_db,"OAM count threshold","5"
2> go
dbcc_config 内でデータベース user_db の OAM count threshold が更新されました。

(return status = 0)
1> sp_dbcc_updateconfig user_db,"IO error abort","3"
2> go
dbcc_config 内でデータベース user_db の IO error abort が更新されました。

(return status = 0)
1> sp_dbcc_updateconfig user_db,"linkage error abort","8"
2> go
dbcc_config 内でデータベース user_db の linkage error abort が更新されました。

(return status = 0)
1>

6.設定確認

  • いままで設定した内容を確認する.
1> sp_dbcc_evaluatedb
2> go
作業領域サイズ、キャッシュ・サイズ、プロセス数の推奨値:


Database name : user_db
current scan workspace size : 10240K      suggested scan workspace size : 7392K
current text workspace size : 3072K      suggested text workspace size : 3072K
current cache size : 3072K     suggested cache size : 2560K
current process count : 4      suggested process count : 4

1>
  • 本当に動くか確認してみる.
1> dbcc checkstorage(user_db)
2> go
user_db のチェック中です。

使用可能な 16K バッファ・プールに対して設定されている作業プロセス (4)
が多すぎます。このバッファ・プールがサポートしているのは 3 作業プロセ
スだけです。

'user_db' の記憶領域チェックが完了しました。DBCC は結果を dbccdb デー
タベースに記録しています。

データベース 'user_db' シーケンス 1 に対する DBCC CHECKSTORAGE は Jun
 12 2001  8:31PMで完了しました。0 のフォールトと 0 の疑わしい状態が検

出されました。 0のチェックはアボートされました。記録されたフォールトを
調査し、フォールトを修正してください。

1>
  • とりあえず稼動した.(実際はとても苦労した〜)


広告スペース
Google