【实验】修改数据文件名字的三种途径

简介:

【问题现象】
在给表空间添加文件后,发现数据文件的添加的位置或名字不规范,需要规范性的更正
如下述场景:
sys@ora10g> col tablespace_name for a15
sys@ora10g> col file_name for a50
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';

TABLESPACE_NAME FILE_NAME
--------------- --------------------------------------
TBS_SEC_D       /oracle/oradata/ora10g/tbs_sec_d01dbf

细心地您应该看到这个数据文件名字应该为tbs_sec_d01.dbf,这里少了一个点。(另外一种场景是错误的将数据文件添加到了不正确的路径中需要修改)
这种错误也许您也会遇到。
首先声明一下:如果保持这个错误名字不变,不会影响到数据库的正常运行,但为了防止在维护过程中产生不必要的干扰,还是应该将其更正的。

【处理方法1】OFFLINE数据文件 --> 修改操作系统上的文件名 --> 修改数据库中的文件名 --> 对数据文件进行恢复 --> ONLINE数据文件
特别强调:需要归档模式!因为需要对数据文件进行恢复

1.OFFLINE数据文件
sys@ora10g> alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01dbf' offline;

Database altered.

2.修改操作系统上的文件名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf

3.修改数据库中的文件名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';

Database altered.

4.对数据文件进行恢复
sys@ora10g> recover datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf';
Media recovery complete.

5.ONLINE数据文件
alter database datafile '/oracle/oradata/ora10g/tbs_sec_d01.dbf' online;

6.确认修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';

TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D       /oracle/oradata/ora10g/tbs_sec_d01.dbf

【处理方法2】OFFLINE表空间 --> 修改操作系统上的文件名 --> 修改数据库中的文件名 --> ONLINE表空间
1.OFFLINE表空间
sys@ora10g> alter tablespace tbs_sec_d offline;

Tablespace altered.

2.修改操作系统上的文件名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf

3.修改数据库中的文件名
sys@ora10g> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';

Database altered.

4.ONLINE表空间
sys@ora10g> alter tablespace tbs_sec_d online;

Tablespace altered.

5.确认修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';

TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D       /oracle/oradata/ora10g/tbs_sec_d01.dbf

【处理方法3】SHUTDOWN数据库 --> 修改操作系统上的文件名 --> 数据库启动到MOUNT --> 修改数据库中的文件名 --> OPEN数据库
1.SHUTDOWN数据库
sys@ora10g> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

2.修改操作系统上的文件名
ora10g@testdb /oracle/oradata/ora10g$ mv tbs_sec_d01dbf tbs_sec_d01.dbf

3.数据库启动到MOUNT
NotConnected@> startup mount;
ORACLE instance started.

Total System Global Area  562036736 bytes
Fixed Size                  2022312 bytes
Variable Size             171967576 bytes
Database Buffers          381681664 bytes
Redo Buffers                6365184 bytes
Database mounted.

4.修改数据库中的文件名
NotConnected@> alter database rename file '/oracle/oradata/ora10g/tbs_sec_d01dbf' to '/oracle/oradata/ora10g/tbs_sec_d01.dbf';

Database altered.

5.OPEN数据库
NotConnected@> alter database open;

Database altered.

6.确认修改成功
sys@ora10g> select tablespace_name,file_name from dba_data_files where tablespace_name = 'TBS_SEC_D';

TABLESPACE_NAME FILE_NAME
--------------- ---------------------------------------
TBS_SEC_D       /oracle/oradata/ora10g/tbs_sec_d01.dbf

【总结】
以上三个实验是按照对数据库运行影响加深的顺序进行的。很显然,需要停起数据库对数据库的可用性影响是最大的,单独对特定数据文件进行修改的影响最小,对表空间offline的方法影响介于其之间。

分类:  OralceRac

本文转自einyboy博客园博客,原文链接:http://www.cnblogs.com/einyboy/archive/2012/07/25/2608759.html
目录
相关文章
|
4月前
|
存储 前端开发 Java
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
若依修改----数据字典,可以用于维护系统中常见的静态数据,为什么不写死,用字典维护?数据字典的好处是一个地方编写数据,在多个地方,复用他,静态选项这里填完,换其他,用户性别这里的男女,就转成而来字典
|
SQL 存储 小程序
[原]排错实战——VS清空最近打开的工程记录
快速清理 visual studio 最近打开的工程列表,有脚本也有小程序
|
Oracle 关系型数据库 数据库
Oracle数据库中如何获取当前年下的01- 12 个月 并用1/12 -12/12
Oracle数据库中如何获取当前年下的01- 12 个月 并用1/12 -12/12
229 0
|
数据采集 Java
上机实验8 实现文件的复制访问
上机实验8 实现文件的复制访问
80 0
|
存储 SQL 自然语言处理
如何从800万数据中快速捞出自己想要的数据?
如何从800万数据中快速捞出自己想要的数据?
196 0
如何从800万数据中快速捞出自己想要的数据?
Confluence 6 升级自定义的站点和空间仔细测试你的修改
修改可能对 Confluence 的后续版本不兼容,当你对 Confluence 进行升级的时候,你应该总是对你自定义修改的模板文件进行仔细的测试来确定所有的修改对新版本的 Confluence 兼容。
1148 0
|
算法 Linux 缓存
第十六章--访问文件
        本章所涵盖的主题即应用于磁盘文件系统的普通文件,也应用于块设备文件;将这两种文件系统都简单地统称为“文件”。         访问文件的模式有多种。我们在本章考虑如下几种情况:         规范模式:         规范模式下文件打开后,标志O_SYNC与O_DIRECT清0,而且它的内容是由系统调用read()和write()来存取。
912 0