@634

Oracle - 表領域のサイズを変更する

Advertisement

表領域のサイズの変更

表領域のサイズは alter database コマンドで動的に変更することができます。

書式
alter database datafile [データファイル名] resize [変更後のサイズ]
現在の表領域のサイズは v$datafile ビューに記録されています。

オンライン/オフラインの切り替え

表領域の状態にはオンラインとオフラインがあります。オフラインに設定するとユーザーからアクセス不可能になる為、一時的にアクセス制限をかけたい場合などに利用します。

書式(オンライン→オフライン)
alter tablespace 表領域名 offline [normal|immediate|temporary];
normal:いずれのデータファイルにもエラーが存在しない場合にオフライン化することができる。安全性が保障される。
immediate:即時にオフライン化する。この指定でオフラインにすると、データの整合性が保証されなくなるため、オンライン前にリカバリ処理が必要となる。
temporary:いずれかのデータファイルにエラーが存在してもオフライン化することができる。Oracleはデータファイルのチェックポイントを処理してからオフラインにする。

書式(オフライン→オンライン)
alter tablespace 表領域名 online;

読み込みモードの切替え

書式
alter tablespace 表領域名 [read write|read only];
read write:読み書き両用モード
read only:読み取り専用モード

例:表領域の読み込みモード切替え・サイズ変更・オンライン/オフラインの切替え

SQL> select a.name, enabled
  from v$tablespace a, v$datafile b where a.ts# = b.ts#;
NAME                           ENABLED
------------------------------ ----------
SYSTEM                         READ WRITE
UNDOTBS                        READ WRITE
USERS                          READ WRITE
INDX                           READ WRITE
SFDATA                         READ WRITE
USER02                         READ WRITE

SQL> alter tablespace user02 read write;
表領域が変更されました。

SQL> select name, enabled from v$datafile;
D:\ORADATA\USER02.DBF  READ WRITE

SQL> select a.name, b.name, bytes
  from v$datafile a, v$tablespace b where a.ts# = b.ts#;
NAME                   NAME          BYTES
--------------------------------------------
D:\ORADATA\SYSTEM.DBF  SYSTEM      104857600
D:\ORADATA\UNDOTBS.DBF UNDOTBS      20971520
D:\ORADATA\USERS.DBF   USERS         1048576
D:\ORADATA\INDX.DBF    INDX          1048576
D:\ORADATA\SFDATA.DBF  SFDATA       10485760
D:\ORADATA\TEST01.DBF  TEST_DATA    20971520
D:\ORADATA\TEST02.DBF  TEST_DATA    10485760
7行が選択されました。

SQL> alter database datafile 'd:\oradata\test02.dbf' resize 50M;
データベースが変更されました。

SQL> select a.name, b.name, bytes
  from v$datafile a, v$tablespace b where a.ts# = b.ts#;
NAME                   NAME          BYTES
--------------------------------------------
D:\ORADATA\SYSTEM.DBF  SYSTEM      104857600
D:\ORADATA\UNDOTBS.DBF UNDOTBS      20971520
D:\ORADATA\USERS.DBF   USERS         1048576
D:\ORADATA\INDX.DBF    INDX          1048576
D:\ORADATA\SFDATA.DBF  SFDATA       10485760
D:\ORADATA\TEST01.DBF  TEST_DATA    20971520
D:\ORADATA\TEST02.DBF  TEST_DATA    52428800
7行が選択されました。

SQL> select tablespace_name, status from dba_tablespaces;
TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
UNDOTBS                        ONLINE
TEMP                           ONLINE
USERS                          ONLINE
INDX                           ONLINE
SFDATA                         ONLINE
TEST_DATA                      ONLINE
7行が選択されました。

SQL> alter tablespace test_data offline;
表領域が変更されました。


SQL> select tablespace_name, status from dba_tablespaces;
TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
UNDOTBS                        ONLINE
TEMP                           ONLINE
USERS                          ONLINE
INDX                           ONLINE
SFDATA                         ONLINE
TEST_DATA                      OFFLINE
7行が選択されました。

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール