USER>zn "%SYS"
%SYS>Do ^DATABASE
1) Create a database
2) Edit a database
3) List databases
4) Delete a database
5) Mount a database
6) Dismount a database
7) Compact globals in a database
8) Show free space for a database
9) Show details for a database
10) Recreate a database
11) Manage database encryption
12) Return unused space for a database
Option? // 1から12の数値を入力
Option?
と表示されたら、一覧で表示された項目の先頭の番号を入力してEnterを押します。
入力した数値に対応するユーティリティが呼び出されます。
各ユーティリティの説明は、以下のリンクから参照して下さい。
Option?
で何も入力せずにEnterを押した場合は、ユーティリティが終了します。
データベースを新規に作成します。
Option? 1
Database directory? /datastore/db4
// データベースファイルを作成するファイルシステム上の場所を指定
Change default
database properties? No => Yes
// 詳細な設定を行う場合はYes
1)* Directory: /datastore/db4
2)* Block size (bytes): 8192
3)* Mirror DB Name:
4)* Mirror Set
Name:
5) Current Size (MB): 1
6) Max size (MB), 0=Unlimited: 0
7) Expansion size (MB), 0=Default: 0
8) Resource name: %DB_%DEFAULT
9) Preserve global attributes: No
10) Global journal state: Yes
11) New global collation: Cache standard
12) New global growth block:
50
13) New global pointer block: 16
14)* Read Only: No
15)
Encrypted: No
Field number to change? 7
// 7 を指定してデータベース拡張サイズを設定する
Expansion size (MB),
0=Default? 0 => 32
// ここではLVMのPEsizeに合わせて32MBにしました
Field number to change? 12
// 12 を指定してグローバルデータの開始位置を設定する
New global growth
block? 50 => 4000
// ここではINTEGの結果のTotal Pointer blocksから(今後のデータ増加も見込んで)
// 更に増やした値を設定しました
Field number to change?
// 空入力で次に進む
Dataset name of this
database in the configuration: DB4
// このデータベースの名前を指定
Mount DB4 Required At Startup? No
=> No
//
このデータベースがマウントできなくてもCache'を起動させたいのでNo
Confirm creation of database in /datastore/db4 ? Yes =>
Yes
//
データベース作成を実行して良いならばYes
Formatting...
Database in /datastore/db4 created
Dataset DB4 added
to the current configuration.
Database directory?
// 空入力でメニューに戻る
指定されたディレクトリに既にCACHE.DATファイルがある場合は、次のような動きになります。
/tmp/CACHE.DATをTMPDBとして作成しています。
Option? 1
Database directory? /tmp
DB File CACHE.DAT already
exists in this directory, use it? No => Y
Change default database
properties? No =>
Dataset name of this database in the
configuration: TMPDB
Mount TMPDB Required At Startup? No =>
Confirm creation of database in /tmp/? Yes =>
Dataset TMPDB added to
the current configuration.
Database directory?
データベースを一覧表示します。
Option? 3
Database directories? ?
// ? を入力して使い方を表示
1) /Cache/mgr/
2) /Cache/mgr/cache/
3)
/Cache/mgr/cacheaudit/ 4) /Cache/mgr/cachelib/
5) /Cache/mgr/docbook/
6) /Cache/mgr/samples/
7) /Cache/mgr/user/
8) /Cache/query/cli/
9)
/Cache/query/dic/ 10) /Cache/query/tstb/
11) /Cache/query/wrk/
12) /tmp/
*Dismounted
13) /tmp/cachetemp/
(Multiple selections allowed: * for
all, or list such as 1,4,7-10)
Database directories? *
// * を入力して全データベースを表示
Device:
Right margin: 80 =>
Directory MaxSize Size Status
/Cache/mgr/ 無制限 170 マウント/RW
/Cache/mgr/cache/ 無制限 11 マウント/RW
/Cache/mgr/cacheaudit/ 無制限 1 マウント/RW
/Cache/mgr/cachelib/ 無制限 450 マウント/R
/Cache/mgr/docbook/ 無制限 138 マウント/RW
/Cache/mgr/samples/ 無制限 114 マウント/RW
/Cache/mgr/user/ 無制限 1 マウント/RW
/Cache/query/cli/ 無制限 45 マウント/RW
/Cache/query/dic/ 無制限 17 マウント/RW
/Cache/query/tstb/ 無制限 11 マウント/RW
/Cache/query/wrk/ 無制限 770 マウント/RW
/tmp/ 無制限 654 ディスマウントされました
/tmp/cachetemp/ 無制限 31 マウント/RW
Database directories?
データベースを削除します。
Option? 4
Database directory? /tmp
Directory /tmp/ is referenced in the configuration file by
Dataset:
TMPDB
which will be removed as well.
Confirm deletion
of database and CACHE.DAT file in directory /tmp/?
No => Y
Database in /tmp/ deleted
Dataset TMPDB removed from configuration.
Database directory? // 空入力でメニューに戻る
データベースのマウントを解除し、アンマウント状態にします。
Option? 6
Database directory to dismount?
c:\intersystems\cache\mgr\comp\
// データベースディレクトリを指定
Databases Selected
------------------
c:\intersystems\cache\mgr\comp\
Confirm
dismount of databases? Yes => Yes
// アンマウントの最終確認
Database c:\intersystems\cache\mgr\comp\ dismounted
Database
directory to dismount?
// 空入力でメニューに戻る
Option? 7
Database directories to compact?
c:\intersystems\cache\mgr\comp\
// データベースディレクトリを指定Databases Selected
------------------
c:\intersystems\cache\mgr\comp\
All
Globals? Yes =>
Yes
// データベース内蔵グローバルを圧縮する場合はYes
How full do you want the database blocks? 90 =>
// 圧縮時のブロック充填率を指定。デフォルト90%
Display compacted globals? No =>
Yes
// 圧縮状況を出力するかどうかDevice:
Right margin: 80 =>
// 空入力でターミナルに出力
Confirm compaction of databases? Yes => Yes
// 本当に圧縮するかどうかの最終確認
Cache Database Compaction
Jan 29 2013 5:32 PM
Database c:\intersystems\cache\mgr\comp\
Global MB Processed MB Compressed To Completed
------ ------------ ---------------- ---------
^ROUTINE 0 0 5:32 PM
^oddBIND 0 0 5:33 PM
^oddCOM 0 0 5:33 PM
(中略)
^rMACSAVE 0 0 5:33 PM
^rMAP 0 0 5:33 PM
^rOBJ 0 0 5:33 PM
Database directories to compact?
// 空入力でメニューに戻る
10). データベースの再作成
データベースの再作成を行います。データベースのすべての情報は失われ、再作成前のサイズのデータベースファイルが作成されます。
この機能の使い道として何があるのかよく分かりません。
Option? 10
Database directory?
c:\intersystems\cache\mgr\comp\
// データベースディレクトリを指定
WARNING! Recreating the database will
delete all the data in the database.
Confirm recreation of database
in c:\intersystems\cache\mgr\comp\?
No => y
// 再作成の最終確認
Deleting...
Formatting...
Database in c:\intersystems\cache\mgr\comp\ recreated.
Database directory?
// 空入力でメニューに戻る
12). 未使用領域の返還
管理ポータルの未使用領域削除と同一の機能です。
Option? 12
Database directory?
c:\intersystems\cache\mgr\comp\
// データベースディレクトリを指定
Current size 1119MB
Specify a
desired file size (in MB), or 0 to return all: 0
// 目標サイズを指定。できるだけ小さくしたいので0を指定する
Returning space...
Database c:\intersystems\cache\mgr\comp\ file size is now 1119MB
Database
directory?
// 空入力でメニューに戻る
13). 未使用ブロックを末尾に集約
データベースの全ての未使用ブロックをCACHE.DATファイルの末尾に移動させます。
これを行った後に、
12).未使用領域の返還を行うと、CACHE.DATファイルを小さくすることが出来ます。
Option? 13
Database directory? ?
// ? でデータベースの一覧表示
1) /Cache/database/qm/
2) /Cache/mgr/
3) /Cache/mgr/cache/
4) /Cache/mgr/cachetemp/
5) /Cache/mgr/user/
Database directory?
1 /Cache/database/qm/
Current Size: 410MB
Total
freespace: 28MB
Freespace at end of file: 27MB
Target freespace at
end of file, in MB (27-28): 28
Compacting freespace...
Database
/Cache/database/qx/ returnable freespace: 27 MB
14). データベースのフラグメントを解消する
動作としては
7).データベース内のグローバル圧縮と
13).未使用ブロックを末尾に集約を連続して行ったのと同じようなイメージになります。
これを行った後では、CACHE.DATのサイズが2倍弱に肥大化してしまうので、必ず
12).未使用領域の返還を行って下さい。
Option? 14
Database directory? ?
// ? でデータベースの一覧表示
1) /Cache/database/qm/
2) /Cache/mgr/
3) /Cache/mgr/cache/
4) /Cache/mgr/cachetemp/
5) /Cache/mgr/user/
Database directory? 1
/Cache/database/qm/
There are 3164MB of data to be processed.
There are 220MB of freespace at the end of the database, which is
insufficient for defragmentation to operate.
You can continue, in
which case the database may expand to accomodate up to
2944MB of
additional space needed for defragmentation to operate.
Continue? Yes
// Yes または No を入力。Enter押しても画面はそのままなので、completeと表示されるまで待つ。
Defragmentation complete
その他
Update