在Oracle數據庫中移動數據文件的具體方法

一.移動數據文件:

– 可以用ALTER DATABASE,ALTER TABLESPACE兩種方法移動數據文件。

1. ALTER DATABASE方法;

– 用此方法,可以移動任何表空間的數據文件。

◆STEP 1. 下數據庫:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

◆STEP 2.用操作系統命令移動數據文件:

– 將數據文件 『test.ora』 從/ora/oracle/data1目錄移動到/ora/oracle/data2目錄下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

◆STEP 3. Mount數據庫,用ALTER DATABASE命令將數據文件改名:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE RENAME FILE 『/ora/oracle/data1/test.ora』 TO 『/ora/oracle/data2/test.ora』;

◆STEP 4. 打開數據庫:.

SQL> ALTER DATABASE OPEN;

SQL>SELECT NAME,STATUS FROM V$DATAFILE;

2. ALTER TABLESPACE方法:

– 用此方法,要求此數據文件既不屬于SYSTEM表空間,也不屬于含有ACTIVE回滾段或臨時段的表空間。

◆STEP1. 將此數據文件所在的表空間OFFLINE:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> ALTER TABLESPACE test OFFLINE;

SQL> EXIT;

◆STEP2. 用操作系統命令移動數據文件:

將數據文件 『test.ora』 從/ora/oracle/

data1目錄移動到/ora/oracle/data2目錄下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

◆STEP3. 用ALTER TABLESPACE命令改數據文件名:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> ALTER TABLESPACE test RENAME DATAFILE 『/ora/oracle/data1/test.ora』 TO 『/ora/oracle/data2/test.ora』;

◆STEP4. 將此數據文件所在的表空間ONLINE:

SQL> ALTER TABLESPACE test ONLINE;

SQL> SELECT NAME,STATUS FROM V$DATAFILE;

二. 移動控制文件:

– 控制文件 在 INIT.ORA文件中指定。移動控制文件相對比較簡單,下數據庫,

– 編輯INIT.ORA,移動控制文件,重啓動數據庫。

◆STEP 1. 下數據庫:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

◆STEP 2.用操作系統命令 移動控制文件:

–將控制文件』ctl3orcl.ora』 從/ora/oracle/data1目錄移動到/ora/oracle/data2目錄下:

$ mv /ora/oracle/data1/ctrlorcl3.ora /ora/oracle/data2

◆STEP 3. 編輯INIT.ORA文件:

INIT.ORA文件的在$ORACLE_HOME/dbs目錄下,

修改參數 「control_files」,其中指定移動後的控制文件:

control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora)

◆STEP 4. 重啓動數據庫:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP;

SQL>SELECT name FROM V$CONTROLFILE;

SQL> EXIT;

三. 移動聯機日志文件:

◆STEP 1. 停數據庫:

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> SHUTDOWN;

SQL> EXIT;

◆STEP 2. 用操作系統命令移動聯機日志文件:

–將聯機日志文件』redolog1.ora』 從/ora/oracle/data1目錄移動到/ora/oracle/data2目錄下:

$ mv /ora/oracle/data1/redolog1.ora /ora/oracle/data2

◆STEP 3. Mount數據庫,用ALTER DATABASE 命令改聯機日志文件名:.

$ sqlplus /nolog

SQL> CONNECT INTERNAL;

SQL> STARTUP MOUNT ;

SQL> ALTER DATABASE RENAME FILE 『/ora/oracle/data1/redolog1.ora』 TO 『/ora/oracle/data2/redolog1.ora』;

◆STEP 4.重啓動數據庫: .

SQL> ALTER DATABASE OPEN;

SQL>SELECT MEMBER FROM V$LOGFILE;

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

· 十八部好看的賭石類小說

以下是十八部(排名不分先後)好看的賭石類小說的簡介,喜歡的朋友可以去搜索書名閱讀...

 
講解殺死Oracle數據庫死鎖進程的具體方法
殺死"Oracle"死鎖進程的具體步驟: 1.查哪個過程被鎖 查V$DB_OBJECT_CACHE視圖: SELECT * FROM V$DB_OBJECT_CACHE WHERE OWNER='過程的所屬用戶' AND CLOCKS!='0'; 2. 查是哪一個SID,通過SID可知道是哪個SESSION. 查...查看完整版>>講解殺死Oracle數據庫死鎖進程的具體方法
 
Oracle數據庫中獲取數據的存儲過程示例
>>從一個表A的取得數據插入另一個表B中? (1)對于表A和表B兩個表結構完全相同的話〔字段個數,相應字段的類型等等〕,可以使用 INSERT INTO B SELECT * FROM A; INSERT INTO B(field1,field2,field3) select...查看完整版>>Oracle數據庫中獲取數據的存儲過程示例
 
Oracle數據庫中臨時表的進一步深入研究
最近考慮到我們的數據庫端寫存儲過程關于臨時表使用的情況,由于我們現在還不清楚數據庫端到底是怎麽處理的?是否和SQL Server的處理方式相同,是否會存在隱患等等一些問題,爲了避免將來不必要的麻煩我做了深入的研...查看完整版>>Oracle數據庫中臨時表的進一步深入研究
 
Oracle數據庫中獨一無二的Cache對象
在Oracle10g之前,數據庫中存在一個獨一無二的Cache對象,這個對象就是: SQL> select segment_name,segment_type,header_file,header_block 2 from dba_segments where segment_type='CACHE';SEGMENT_NAME ...查看完整版>>Oracle數據庫中獨一無二的Cache對象
 
Oracle數據庫中可移動的表空間詳解
Oracle數據庫中可移動的表空間詳解
從最終權威那兒獲得關于 SQL 調整的幫助:該權威就是 Oracle 數據庫本身!使用 SQL 配置文件進行查詢,並了解如何使用 ADDM 來快速、輕松解決常見的性能問題。 迄今爲止這是平靜的一天:在數據庫中沒有重大問題發生,...查看完整版>>Oracle數據庫中可移動的表空間詳解