在ORACLE中移动数据库文件

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

作者:张勇

---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以UNIX平台为例,分别讨论三种数据库文件的移动方法。

---- 一.移动数据文件:

---- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。

---- 1. ALTER DATABASE方法;

---- 用此方法,可以移动任何表空间的数据文件。

---- STEP 1. 下数据库:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR SHUTDOWN;

SVRMGR EXIT;

---- STEP 2.用操作系统命令移动数据文件:

---- 将数据文件 'app1_data.ora' 从/ora/oracle7/data1目录移动到/ora/oracle7/data2目录下:

---- $ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2

---- STEP 3. Mount数据库,用ALTER DATABASE命令将数据文件改名:

---- $ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR STARTUP MOUNT;

SVRMGR ALTER DATABASE RENAME FILE

2 '/ora/oracle7/data1/app1_data.ora ' TO

3 '/ora/oracle7/data2/app1_data.ora;

STEP 4. 打开数据库:.

SVRMGR ALTER DATABASE OPEN;

SVRMGR SELECT NAME,STATUS FROM V$DATAFILE;

---- 2. ALTER TABLESPACE方法:

---- 用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。

---- STEP1. 将此数据文件所在的表空间OFFLINE:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR ALTER TABLESPACE app1_data OFFLINE;

SVRMGR EXIT;

STEP2. 用操作系统命令移动数据文件:

将数据文件 'app1_data.ora' 从/ora/oracle7/

data1目录移动到/ora/oracle7/data2目录下:

$ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2

STEP3. 用ALTER TABLESPACE命令改数据文件名:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR ALTER TABLESPACE app1_data RENAME DATAFILE

2 '/ora/oracle7/data 1/app1_data.ora' TO

3 '/ora/oracle7/data2/app1_data.ora;

STEP4. 将此数据文件所在的表空间ONLINE:

SVRMGR ALTER TABLESPACE app1_data ONLINE;

SVRMGR SELECT NAME,STATUS FROM V$DATAFILE;

---- 二. 移动控制文件:

---- 控制文件 在 INIT.ORA文件中指定。移动控制文件相对比较简单,下数据库,编辑INIT.ORA,移动控制文件,重启动数据库。

STEP 1. 下数据库:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR SHUTDOWN;

SVRMGR EXIT;

STEP 2.用操作系统命令 移动控制文件:

将控制文件'ctl3orcl.ora' 从/ora/oracle7

/data1目录移动到/ora/oracle7/data2目录下:

$ mv /ora/oracle7/data 1/ctrl3orcl.ora

/ora/oracle7/data2

STEP 3. 编辑INIT.ORA文件:

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

修改参数 "control_files",其中指定移动后的控制文件:

control_files = (/ora/oracle7/data 1/ctrl1orcl.ora,

/ora/oracle7/data1/ctrl2orcl.ora,

/ora/oracle7/data2/ctrl3orcl.ora)

STEP 4. 重启动数据库:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR STARTUP;

SVRMGR SELECT name FROM V$CONTROLFILE;

SVRMGR EXIT;

---- 三. 移动联机日志文件:

STEP 1. 停数据库:

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR SHUTDOWN;

SVRMGR EXIT;

STEP 2. 用操作系统命令移动联机日志文件:

将联机日志文件'redolog1.ora' 从/ora/oracle7

/data1目录移动到/ora/oracle7/data2目录下:

$ mv /ora/oracle7/data 1/redolog1.ora

/ora/oracle7/data2

STEP 3. Mount数据库,用ALTER DATABASE

命令改联机日志文件名:.

$ svrmgrl

SVRMGR CONNECT INTERNAL;

SVRMGR STARTUP MOUNT CC1;

SVRMGR ALTER DATABASE RENAME FILE

2 '/ora/oracle7/data 1/redolog1.ora' TO

3 '/ora/oracle7/data 2/redolog1.ora';

STEP 4.重启动数据库: .

SVRMGR ALTER DATABASE OPEN;

SVRMGR SELECT MEMBER FROM V$LOGFILE;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航