[Oracle] oracle修改数据文件名称
来源:互联网 发布:淘宝聊天工具下载 编辑:程序博客网 时间:2024/04/30 09:37
【问题现象】
在给表空间添加文件后,发现数据文件的添加的位置或名字不规范,需要规范性的更正
如下述场景:
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的方法影响介于其之间。
希望屏幕前的您,可以根据不同的场景具体问题具体分析之。
好运!
在给表空间添加文件后,发现数据文件的添加的位置或名字不规范,需要规范性的更正
如下述场景:
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的方法影响介于其之间。
希望屏幕前的您,可以根据不同的场景具体问题具体分析之。
好运!
-- The End --
本文转载自:http://space.itpub.net/519536/viewspace-608810
注:查看数据库归档模式:select name,log_mode from v$database;
- [Oracle] oracle修改数据文件名称
- oracle中修改数据文件名称或者路径
- oracle下获得TRACE文件名称
- 修改oracle数据文件大小
- Oracle 定期修改数据
- Oracle 修改BLOB数据
- 修改oracle中表的数据
- oracle修改数据库中的数据
- Oracle数据过滤并修改
- 修改文件名称
- 修改文件名称
- 修改oracle有数据字段长度
- Oracle 修改带数据的字段类型
- Oracle 修改带数据的字段类型
- oracle 批量数据修改的监控
- Oracle 修改带数据的字段类型
- Oracle 修改带数据的字段类型
- Oracle 修改带数据的字段类型
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- ClassLoader in Java
- 旧工程适配iPhone5的4-inch屏幕时发生的奇葩问题
- Linux Shell脚本中点号和source命令
- android 的动画类型
- [Oracle] oracle修改数据文件名称
- STL 容器和ATL智能包裹类的冲突
- dev GridControl笔记
- 13.如何做到要求或禁止在堆中产生你自定义的对象
- 【示例代码】超萌的休闲HTML5小游戏——打地鼠
- 详解jar命令打包生成双击即可运行的Java程序
- 跑通第一个ruby on rails 出现问题及解决方案 参照cloudfoundry docs
- Kernel PCA 原理和演示
- freemarker helloworld