表領域をオフラインにするってのはどういうことか。 | 今日もなんだかいい天気♪

今日もなんだかいい天気♪

毎日ひとつでも、いいことがあるといいねぇ。

テーマ:
まぁわかっちゃいる。
オフラインにしたら接続できない。
でも、実際にどういうことになるのか実験してみたい。

今のデータファイル・表領域と、ステータス。
USERS表領域をOFFLINEにしてみる。

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACE_NAME STATUS ONLINE_STATUS
--------------------------------------------- -------------------- ------------ ---------------
/opt/oracle/oradata/orcl01/users01.dbf USERS AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/sysaux01.dbf SYSAUX AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/system01.dbf SYSTEM AVAILABLE SYSTEM
/opt/oracle/oradata/orcl01/example01.dbf EXAMPLE AVAILABLE ONLINE


SQL> alter tablespace USERS offline;

表領域が変更されました。

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACE_NAME STATUS ONLINE_STATUS
--------------------------------------------- -------------------- ------------ ---------------
/opt/oracle/oradata/orcl01/users01.dbf USERS AVAILABLE OFFLINE
/opt/oracle/oradata/orcl01/sysaux01.dbf SYSAUX AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/system01.dbf SYSTEM AVAILABLE SYSTEM
/opt/oracle/oradata/orcl01/example01.dbf EXAMPLE AVAILABLE ONLINE


ほい、USERS表領域がOFFLINEになった。
するとどうなるのか。

当然のことながら、USERS表領域にあるオブジェクトに接続できなくなる。


SQL> select * from mojibake_tbl;

select * from mojibake_tbl
*
行1でエラーが発生しました。:
ORA-00376: ファイル4を読み込むことはできません。
ORA-01110: データファイル4: '/opt/oracle/oradata/orcl01/users01.dbf'



んじゃ、せっかくだからデータファイル名を変更したりしてみよう。

SQL> alter tablespace USERS rename datafile '/opt/oracle/oradata/orcl01/users01.dbf' to
2 '/opt/oracle/oradata/orcl01/users02.dbf';


alter tablespace USERS rename datafile '/opt/oracle/oradata/orcl01/users01.dbf' to
*
行1でエラーが発生しました。:
ORA-01525: データファイル名の変更中にエラーが発生しました。
ORA-01141: データファイル4の名前の変更でエラーが発生しました。 -
新規ファイル'/opt/oracle/oradata/orcl01/users02.dbf'は見つかりません。
ORA-01110: データファイル4: '/opt/oracle/oradata/orcl01/users01.dbf'
ORA-27037: ファイル・ステータスを取得できません。
Intel SVR4 UNIX Error: 2: No such file or directory
Additional information: 3


ありゃ、怒られた。
データファイルをRENAMEするんだったら、OS側で先にRENAMEしておかないといけないのね。

SQL> !
bash-3.00$ cd /opt/oracle/oradata/orcl01
bash-3.00$ mv users01.dbf users02.dbf
bash-3.00$ exit


SQL> alter tablespace USERS rename datafile '/opt/oracle/oradata/orcl01/users01.dbf' to
2 '/opt/oracle/oradata/orcl01/users02.dbf';


表領域が変更されました。

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACE_NAME STATUS ONLINE_STATUS
--------------------------------------------- -------------------- ------------ ---------------
/opt/oracle/oradata/orcl01/users02.dbf USERS AVAILABLE OFFLINE
/opt/oracle/oradata/orcl01/sysaux01.dbf SYSAUX AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/system01.dbf SYSTEM AVAILABLE SYSTEM
/opt/oracle/oradata/orcl01/example01.dbf EXAMPLE AVAILABLE ONLINE


おぉ、「users02.dbf」に変わってる。
では、ONLINEに戻す。

SQL> alter tablespace USERS online;

表領域が変更されました。

SQL> select file_name,tablespace_name,status,online_status from dba_data_files;

FILE_NAME TABLESPACE_NAME STATUS ONLINE_STATUS
--------------------------------------------- -------------------- ------------ ---------------
/opt/oracle/oradata/orcl01/users02.dbf USERS AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/sysaux01.dbf SYSAUX AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/undotbs01.dbf UNDOTBS1 AVAILABLE ONLINE
/opt/oracle/oradata/orcl01/system01.dbf SYSTEM AVAILABLE SYSTEM
/opt/oracle/oradata/orcl01/example01.dbf EXAMPLE AVAILABLE ONLINE



当然のことながら、表領域に接続できるようになった。

SQL> select * from mojibake_tbl;

NUM WD_TYPE WD_STR
---- ------------------------ ------------------------------------------------------------------------
1 全角記号(1) 、 。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|
2 全角記号(2) …‥‘’“”()〔〕[]{}〈〉《》「」『』【】
3 全角記号(3) +-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@
4 全角記号(4) §☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃∪∩∧∨¬
5 全角記号(5) ⇒⇔∀∃∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶◯?


(文字化けするので以下略)

現場じゃ、開発環境だってこういう実験はなかなかできないもんなぁ・・・。
お自宅学習環境、お気楽でいいですわ。