修改oracle数据文件/日志文件名

今天在测试undo表空间特性是发现自己新建的数据文件命名错误,把undotbs2.dbf写成undotbs2,很明显不符合数据文件命名方式,虽然对数据库运行没什么影响,但身为DBA,为了防止在维护过程中产生不必要的干扰,还是应该将其更正的。

创建undo表空间语句

create undo tablespace undotbs2

datafile '/u01/app/oracle/oradata/orcl/undotbs2.dbf'

size 50M autoextend on;

上面是正确创建的语句

可以通过两个视图查看表空间的信息 v$datafile 和 dba_data_files;

sql>select name,status from v$datafile;

name                                                                    status

------------------------------------------------------------

/u01/app/oracle/oradata/orcl/undotbs2           online

我们的目的就是把上面的name修改为/u01/app/oracle/oradata/orcl/undotbs2.dbf

首先我们不能对online的数据文件操作,所以必须offline

sql>alter database datafile '/u01/app/oracle/oradata/orcl/undotbs2' offline;

Database altered.

然后在操作系统直接复制一份undotbs2并更改名字为undotbs2.dbf

[oracle@lin orcl]$pwd

/u01/app/oracle/oradata/orcl

[oracle@lin orcl]$cp undotbs2 undotbs2.dbf

sql>alter database rename file '/u01/app/oracle/oradata/orcl/undotbs2' to '/u01/app/oracle/oradata/orcl/undotbs2.dbf';

Database altered.

修改后需要回复下数据文件

sql>recover datafile '/u01/app/oracle/oradata/orcl/undotbs2.dbf';

Media recovery complete.

再把修改后的数据文件改为online即可

sql>alter datafile '/u01/app/oracle/oradata/orcl/undotbs2.dbf' online;

Database altered;

当再次查询的时候就发现已经改回来了

总结

方法一

1、把数据文件offline

2、更改操作系统文件名为自己想要的名

3、rename数据库文件名

4、恢复数据文件

5、把数据文件online

方法二

1、shutdown immediate 关闭数据库

2、更改操作系统文件名为自己想要的名

3、startup mount 启动到mount状态

4、rename数据库文件名

5、open数据库

虽然两张方法都可以达到修改数据文件名字的效果,但是从影响数据库性能方面考虑,直接关闭整个数据库的影响相对于只是offline一个数据文件影响较大,所以在更改时需注意下是否要考虑到数据库的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值