ORACLE デフォルト表領域を変更する
やったこと
- 表領域を作成
- ユーザのデフォルト表領域を変更
開発環境を調査していたところ SYSTEM表領域にテーブルが作成されているのを発見。
SYSTEM表領域で性能テストとかヤバイので、新たな表領域を作成しました。
表領域の作成
- NEWTABLESPACEという名前
- 100Mのデータファイル
- 自動拡張500K
- 最大サイズ1G
で表領域を作成
SQL> CREATE TABLESPACE NEWTABLESPACE SQL> DATAFILE 'newtablespace01.dbf' SIZE 100M AUTOEXTEND ON NEXT 500K MAXSIZE 1024M; Tablespace created.
NEWTABLESPACEという名前の表領域が作成されました。
確認してみます。
SQL> select TABLESPACE_NAME,BYTES,MAXBYTES from dba_data_files where tablespace_name = 'NEWTABLESPACE'; TABLESPACE_NAME BYTES MAXBYTES ------------------------------ ---------- ---------- NEWTABLESPACE 104857600 1073741824
104857600 Byte = 100MByte
1073741824 Byte = 1GByte
です。
できた。
ユーザのデフォルト表領域の変更
ユーザのデフォルト表領域を変更します。
まず現状を確認
SQL> SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users where username = 'HOGE'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ HOGE SYSTEM
変更
SQL> ALTER USER HOGE DEFAULT TABLESPACE NEWTABLESPACE; User altered.
そして確認
SQL> SELECT USERNAME, DEFAULT_TABLESPACE FROM dba_users where username = 'HOGE'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ HOGE NEWTABLESPACE
変更されました。
めでたし、めでたし。