更改Oracle数据文件、控制文件、日志文件位置

        关于更改Oracle数据文件(包括系统数据文件)位置,网上的方法很多,但我是初学者,理解不够透彻,测试的时候急于求成,以至于试验多次才成功,原因是没有注意顺序,在此总结一下,错误之处请

多包涵,也请高手多指教。过程其实很简单。

环境win2003+Oracle10
数据文件变更前:C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\
数据文件变更后:D:\ORA_TEST\

修改的数据文件及路径查询方法如下:
SQL>select name from v$controlfile;
SQL>select name from v$datafile;--注意还有未显示的数据文件:TEMP01.DBF;
SQL>select member from v$logfile;

创建配置文件(执行命令前先创建目录,如: D:\ORA_TEST)
create pfile='d:\ora_test\old.ora' from spfile;

修改控制文件的路径,用记事本打开d:\ora_test\old.ora,将
*.control_files='c:\oracle\product\10.2.0/oradata/ele/\control01.ctl'
*.control_files='c:\oracle\product\10.2.0/oradata/ele/\control02.ctl'
*.control_files='c:\oracle\product\10.2.0/oradata/ele/\control03.ctl'
修改为
*.control_files='d:\ora_test/\control01.ctl'
*.control_files='d:\ora_test/\control02.ctl'
*.control_files='d:\ora_test/\control03.ctl'
然后另存为new.ora,当然直接保存也可以,建议还是留个备份。

SQL> shutdown immediate;

--拷贝控制文件(*.CTL)到新路径
--拷贝数据文件(*.DBF)到新路径
--拷贝日志文件(*.LOG)到新路径

SQL> startup mount pfile='d:\ora_test\new.ora';

修改数据文件路径
SQL>select name from v$datafile;--注意还有未显示的数据文件:TEMP01.DBF;
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\SYSTEM01.DBF' to 'D:\ora_test\SYSTEM01.DBF';
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\UNDOTBS01.DBF' to 'D:\ora_test\UNDOTBS01.DBF';
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\SYSAUX01.DBF' to 'D:\ora_test\SYSAUX01.DBF';
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\USERS01.DBF' to 'D:\ora_test\USERS01.DBF';
--注意数据文件还有:TEMP01.DBF:
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\TEMP01.DBF' to 'D:\ora_test\TEMP01.DBF';

修改日志文件
SQL>select member from v$logfile;
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\REDO03.LOG' to 'D:\ora_test\REDO03.LOG';
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\REDO02.LOG' to 'D:\ora_test\REDO02.LOG';
alter database rename file 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ELE\REDO01.LOG' to 'D:\ora_test\REDO01.LOG';

alter database open;
注意:文件路径虽然已经修改完毕,数据库可以打开,但每次只能用指定路径的配置文件来启动数据库,遇到启动时自动装载数据库肯定会出错。

create spfile from pfile='d:\ora_test\new.ora';

至此已经全部修改完毕,重新启动试试

SQL> shutdown immediate;
SQL> startup;

OK,正常启动。

以此顺序进行修改,相当于对源路径的文件没有任何修改,若还想使用旧路径和旧文件,只需执行create spfile from pfile='d:\ora_test\old.ora';就可以了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值