17.4.2 表およびインデクスの再作成
データベースの初期設定前に定義していた表およびインデクスを再定義し,表にデータをインポートしてください。また,表に対するアクセス権限も付与してください。手順を次に示します。
手順
-
表およびインデクスを再定義する
定義していた表およびインデクスをCREATE TABLE文とCREATE INDEX文で再定義してください。「17.2.4 表およびインデクスの定義情報の取得」で取得した次の情報を使用して表およびインデクスを再定義します。
-
表およびインデクスの定義情報
-
表およびインデクスを格納しているデータ用DBエリアの情報
- メモ
-
-
この作業は,データベース管理の担当者が実施してください。定義する表またはインデクスのスキーマ名と同じ認可識別子のHADBユーザを使用して,表またはインデクスを定義してください。
-
データベース管理の担当者は,定義する表またはインデクスのスキーマ名に合わせて,使用するHADBユーザを変えて作業します。そのため,同じスキーマ名の表とインデクスをまとめて定義した方が,HADBユーザを変更する手間が少なくなります。
-
スキーマが定義されていない場合は,CREATE SCHEMA文でスキーマを定義してください。
-
-
ビュー表を再定義する
定義していたビュー表をCREATE VIEW文で再定義してください。「17.2.4 表およびインデクスの定義情報の取得」で取得した,ビュー表の定義情報を使用してビュー表を再定義します。
- メモ
-
-
ビューレベルの値が小さいビュー表から順にビュー表を定義してください。
-
この作業は,データベース管理の担当者が実施してください。定義するビュー表のスキーマ名と同じ認可識別子のHADBユーザを使用してビュー表を定義してください。
-
-
表に対するアクセス権限を付与する
再定義した表に対するアクセス権限をGRANT文で付与してください。
- メモ
-
この作業は,データベース管理の担当者が実施してください。使用するHADBユーザは次の手順の中で説明しています。
「17.2.4 表およびインデクスの定義情報の取得」で取得した,表に対するアクセス権限の情報を使用して,次の手順でアクセス権限を付与します。
-
「GRANTOR列の値 = OWNER列の値」かつ「GRANTOR列の値≠GRANTEE列の値」の行がある場合,GRANTOR列に出力されているHADBユーザで,GRANTEE列に出力されているHADBユーザにアクセス権限を付与します。各種アクセス権限を持っているかどうかを示す列の値によって,付与するアクセス権限が異なります。'G'が出力されている場合は,付与権付きでアクセス権限を付与します。'Y'が出力されている場合は,アクセス権限を付与します。'N'が出力されている場合は,アクセス権限を付与しません。
-
「a.でアクセス権限を付与されたHADBユーザ = GRANTOR列の値」の行がある場合,GRANTOR列に出力されているHADBユーザで,GRANTEE列に出力されているHADBユーザにアクセス権限を付与します。各種アクセス権限を持っているかどうかを示す列の値によって,付与するアクセス権限が異なります。'G'が出力されている場合は,付与権付きでアクセス権限を付与します。'Y'が出力されている場合は,アクセス権限を付与します。'N'が出力されている場合は,アクセス権限を付与しません。
-
b.の作業を「b.でアクセス権限を付与されたHADBユーザ = GRANTOR列の値」の行が出てこなくなるまで繰り返します。
-
a.~c.の作業をすべての表に対して実行してください。
-
表にデータをインポートする
adbimportコマンドを実行して,表にデータをインポートしてください。
-
マルチチャンク表にデータをインポートする場合
「17.2.5 表のデータのエクスポート」でエクスポートしたデータを入力データファイルにして,バックグラウンドインポートを実行してください。
なお,初回のデータインポートの際は,作成モードでデータインポートを実行してください。手順については,「11.1.10 実表にデータを格納する方法(データインポート)」および「11.4.2 マルチチャンク表にデータを格納する方法(バックグラウンドインポート)」を参照してください。
- 重要
-
-
「17.2.5 表のデータのエクスポート」で取得した,チャンクコメントおよびチャンクの状態に合わせてオプションを指定してください。
-
カレントチャンクは,いちばん最後にインポートしてください。「17.2.5 表のデータのエクスポート」でカレントチャンクを調べています。
-
-
マルチチャンク表ではない表にデータをインポートする場合
「17.2.5 表のデータのエクスポート」でエクスポートしたデータを入力データファイルにして,adbimportコマンドを実行してください。
- メモ
-
この作業は,データベース管理の担当者が実施してください。表の所有者と同じ認可識別子のHADBユーザを使用してデータをインポートしてください。
-
-
コスト情報を収集する
adbgetcstコマンドを実行して,表のコスト情報を収集してください。
「17.2.4 表およびインデクスの定義情報の取得」で取得した,コスト情報を収集している表の一覧を使用してください。一覧に表示されている表のコスト情報を収集します。
- メモ
-
-
この作業は,データベース管理の担当者が実施してください。コスト情報を収集する表のスキーマ名と同じ認可識別子のHADBユーザを使用してコスト情報を収集してください。
-
収集したコスト情報は,データベースの初期設定前のコスト情報とは異なる可能性があります。そのため,データベースの初期設定前とはSQL文のアクセスパスが変わる可能性があります。
-