- Oracleではユーザに対してスキーマが紐づく。所有者変更はできないらしいのでスキーマ移動する場合は再作成
オペレーションSQL†
テーブルの所有者確認 | select owner,table_name from dba_tables where owner = 'HOGE'; |
シーケンスの所有者確認 | select * from dba_sequences where sequence_owner = 'HOGE'; |
全シノニムから確認 | select * from ALL_SYNONYMS where SYNONYM_NAME like 'xxx'; |
表領域†
テーブル用表領域とインデックス用表領域を分けた場合、インデックス領域だけバックアップ頻度を変えることができる(再構築すればよいので)。INDEXのリビルドによる影響をテーブル表領域に与えないメリットがある。
表領域と物理ファイルパス | select TABLESPACE_NAME,FILE_NAME from dba_data_files; |
テーブル一覧と | select tablespace_name,table_name from user_tables where table_name = 'HOGE' order by tablespace_name; |
表領域作成†
CREATE TABLESPACE テーブルスペース名
DATAFILE 'フルパス/tsxxx.dbf' SIZE 100M
SEGMENT SPACE MANAGEMENT AUTO
権限確認†
全てのユーザーの権限確認 | SELECT * FROM dba_sys_privs -- where GRANTEE = 'ユーザー名'; |
注意点†
- PUBLICシノニムが存在する場合同名のオブジェクトは作成できない。
- privateシノニム名と同じスキーマに同名のテーブル名は存在できない。