在Oracle中,将数据文件,控制文件,日志文件分别放在不同的目录下,且数据库正常启动。

        首先要明确的是,这不是多路复用,这和多路复用是有区别的,但是思路到差不差。要想完成以上的工作,需要进行物理上文件的移动和逻辑上文件的移动,其中控制文件不需要进行逻辑上的移动,其它的文件要求物理移动和逻辑移动,否则数据库无法运行!

1,移动数据文件

//在移动这些文件的时候,首先要创建目的地路径,用来存放移动后的文件,我这创建了三个路径,分别用来保存数据文件,控制文件,重做日志文件。(使用root用户创建文件夹和移动文件)

//我们cd到本来存放数据文件的路径,然后使用命令将数据文件全部移动到目的地路径,要注意cp和mv的区别,cp是拷贝,mv才是移动。

//我们查看目的地路径,发现数据文件已经全部移动成功

//物理上的移动已经完成,现在是逻辑上的移动

//登录数据库,以mount状态登录

//登录后需要分别输入以下语句来进行逻辑上的更改,注意:自己的语句要对应上自己的起始路径和目的路径,包括文件名,个数

alter database rename file '/u01/app/oracle/oradata/orcl/example01.dbf' to '/u01/data/oradata/example01.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/soe1.dbf' to '/u01/data/oradata/soe1.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to '/u01/data/oradata/sysaux01.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/temp01.dbf' to '/u01/data/oradata/temp01.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/temp02.dbf' to '/u01/data/oradata/temp02.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/tpcctab1.dbf' to '/u01/data/oradata/tpcctab1.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/undotbs01.dbf' to '/u01/data/oradata/undotbs01.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/undotbs1.dbf' to '/u01/data/oradata/undotbs1.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/users01.dbf' to '/u01/data/oradata/users01.dbf';
alter database rename file '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u01/data/oradata/system01.dbf';

//所有逻辑上的数据文件也移动后,将数据库更改为打开状态,并执行set语句。

数据文件的移动就完成了

2,移动控制文件

//移动控制文件之前,先创建一个pfile文件,然后关闭数据库。创建后的pfile文件是init数据库名.ora。然后关闭数据库!

//然后我们将控制文件移动到我们的目的地路径,用mv

//查看目的地路径有没有,发现有

//然后找到pfile文件,修改该文件

//将原先的路径改为自己的目的地路径,退出保存

//以指定pfile文件的方式启动数据库。成功登录后,关闭数据库,方便一会重做日志文件的移动。

启动成功,控制文件的移动完成。

3,移动重做日志文件

//同样的物理移动方式,将原路径的重做日志文件移动到目的地路径

//查看目的地路径

//以mount状态启动数据库

//登录后要对重做日志文件进行逻辑上的移动,这里的路径和文件名需要和自己的对应。

//然后打开数据库  alter database open;

alter database rename file '/u01/app/oracle/oradata/orcl/redo01.log' to '/u01/data/redologs/redo01.log';

alter database rename file '/u01/app/oracle/oradata/orcl/redo02.log' to '/u01/data/redologs/redo02.log';

alter database rename file '/u01/app/oracle/oradata/orcl/redo03.log' to '/u01/data/redologs/redo03.log';

//查看重做日志文件的路径,发现逻辑上也在目的地路径了

//然后正常的关闭启动数据库就没有问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值