17.2.4 表およびインデクスの定義情報の取得
データベースを再作成する際に表やインデクスを再定義するため,表およびインデクスの定義情報と,表に対するアクセス権限の情報を次の手順で取得しておいてください。
手順
-
各データ用DBエリアに格納されている表およびインデクスの一覧を取得する
DBA権限を持っているHADBユーザで,「付録B.22 ディクショナリ表の検索」の「(15) DBエリアに格納されている表の表名を調べる場合」および「(16) DBエリアに格納されているインデクスのインデクス名を調べる場合」で説明している作業を実施してください。
すべてのデータ用DBエリアに対してこの作業を実施してください。
-
全ビュー表のビュー表名を取得する
DBA権限を持っているHADBユーザでディクショナリ表を検索してください。
SELECT "TABLE_SCHEMA","TABLE_NAME" FROM "MASTER"."SQL_VIEWS" WHERE "TABLE_SCHEMA" != 'MASTER'
上記のSELECT文を実行すると,全ビュー表のビュー表名の一覧が取得できます。
-
表に対するアクセス権限の情報を取得する
DBA権限を持っているHADBユーザでディクショナリ表を検索してください。
SELECT "GRANTOR","GRANTEE","OWNER","SELECT_PRIVILEGE","INSERT_PRIVILEGE", "UPDATE_PRIVILEGE","DELETE_PRIVILEGE","TRUNCATE_PRIVILEGE", "REFERENCES_PRIVILEGE","IMPORT_TABLE_PRIVILEGE","REBUILD_INDEX_PRIVILEGE", "GET_COSTINFO_PRIVILEGE","EXPORT_TABLE_PRIVILEGE","MERGE_CHUNK_PRIVILEGE", "CHANGE_CHUNK_COMMENT_PRIVILEGE","CHANGE_CHUNK_STATUS_PRIVILEGE", "ARCHIVE_CHUNK_PRIVILEGE","UNARCHIVE_CHUNK_PRIVILEGE" FROM "MASTER"."SQL_TABLE_PRIVILEGES" WHERE "TABLE_SCHEMA"=? AND "TABLE_NAME"=?
adbsqlコマンドで上記のSELECT文を実行した場合,?パラメタに対する入力データの入力要求があります。最初の入力要求には表のスキーマ名を,2番目の要求には表の表識別子を入力してください。入力するスキーマ名と表識別子は,1.および2.の調査結果に出力されたTABLE_SCHEMA列とTABLE_NAME列のスキーマ名と表識別子を使用してください。
上記のSELECT文の実行結果の各列に出力される情報を説明します。
-
GRANTOR列
アクセス権限を付与したHADBユーザの認可識別子が出力されます。
-
GRANTEE列
アクセス権限を付与されたHADBユーザの認可識別子が出力されます。
-
OWNER列
表の所有者であるHADBユーザの認可識別子が出力されます。
-
上記以外の列
HADBユーザが各種のアクセス権限を持っているかどうかの情報が出力されます。'G'が出力されている場合は,そのアクセス権限を付与権付きで持っています。'Y'が出力されている場合は,そのアクセス権限を持っています。'N'が出力されている場合は,そのアクセス権限を持っていません。
-
-
表およびインデクスの定義情報を取得する
DBA権限を持っているHADBユーザで,「付録B.22 ディクショナリ表の検索」の「(29) 実表の定義情報を調べる場合」および「(30) インデクスの定義情報を調べる場合」で説明している作業を実施してください。
すべての表,およびすべてのインデクスに対してこの作業を実施してください。
- メモ
-
-
HADBでは,表およびインデクスの定義情報を出力する機能を提供していません。そのため,ディクショナリ表を検索して,表およびインデクスの定義情報を取得しておき,データベースの初期設定後に表およびインデクスを再定義できるようにしておく必要があります。
-
表およびインデクスを定義したときの定義情報がある場合は,この作業を実施する必要はありません。
-
-
ビュー表の定義情報を取得する
DBA権限を持っているHADBユーザで,「付録B.22 ディクショナリ表の検索」の「(32) ビュー表の定義情報を調べる場合」で説明している作業を実施してください。
すべてのビュー表に対してこの作業を実施してください。
-
コスト情報を収集している表の一覧を取得する
DBA権限を持っているHADBユーザで,「付録C.9 システム表の検索」の「(1) コスト情報を収集した全実表の表名と収集日時を調べる場合」で説明している作業を実施してください。