資料庫檔案移動

2021-05-27 03:02:16 字數 3101 閱讀 3902

--oracle資料庫由資料檔案,控制檔案和聯機日誌檔案三種檔案組成。

--由於磁碟空間的變化,或者基於資料庫磁碟i/o效能的調整等,

--我們可能會考慮移動資料庫檔案。

--下面以unix平台為例,分別討論三種資料庫檔案的移動方法。

一.移動資料檔案: -- 可以用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移動資料庫檔案

一。設定要移動的資料庫 開始 執行 cmd命令 set oracle sid experience experience你要移動檔案所屬的資料庫的sid 二。進入sqlplus sqlplus nolog conn sys sys as sysdba 已連線。select name from v d...

資料庫檔案

if exists select from mater.sysdatabases where name db 09zy drop database db 09zy go create database zy on primary name zy data filename e 09.9zy1 zy ...

資料庫 檔案

定長記錄 檔案頭維護空閒列表 變長記錄 塊頭 空閒空間 記錄 插入 在空閒空間末尾分配空間 刪除 將條目之前的全部向後移動 大物件通常儲存到特殊檔案,通過指標儲存在記錄中 引數檔案 日誌檔案 套接字檔案 通過套接字檔案,unix系統下本地連線mysql可以採用unix域套接字方式 pid檔案 mys...