暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle常规更改数据文件位置方法:

原创 张鹏 2022-09-29
2476

常规更改数据文件位置方法:

A:归档模式下
方法一:offline表空间
1、offline表空间:alter tablespace tablespace_name offline;
2、复制数据文件到新的目录;
3、rename修改表空间,并修改控制文件;
4、online表空间;
1、offline表空间zerone
SQL> select name from vdatafile; NAME C:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF 已选择7行。 SQL> alter tablespace zerone offline; 表空间已更改。 2、复制数据文件到新的目录 复制数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF。 3、rename修改表空间数据文件为新的位置,并修改控制文件 SQL> alter tablespace zerone rename datafile ‘c:\oracle\product\10.2.0\oradata\zerone01.dbf’ to ‘c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf’; 表空间已更改。 4、online表空间 SQL> alter tablespace zerone online; 表空间已更改。 SQL> select name from vdatafile;
NAME
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=‘ZERONE’;
FILE_NAME TABLESPACE_NAME
ZERONE C:\ORACLE\PRODUCT\10.2ORADATA\ORCL\ZERONE01.DBF

B.非归档模式
方法二:SQL修改数据文件位置
1、关闭数据库;
2、复制数据文件到新的位置;
3、启动数据库到mount状态;
4、通过SQL修改数据文件位置;
5、打开数据库;
1、关闭数据库
SQL> select name from vdatafile; NAME C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF 已选择7行。 SQL> shutdown immediate; 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 2、复制数据文件到新的位置; 将数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF复制到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF。 3、启动数据库到mount状态; SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 167772160 bytes Fixed Size 1247900 bytes Variable Size 96470372 bytes Database Buffers 67108864 bytes Redo Buffers 2945024 bytes 数据库装载完毕。 4、通过SQL修改数据文件位置; SQL> alter database rename file ‘c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf’ to ‘c:\oracle\product\10.2.0\oradata\zerone01.dbf’; 数据库已更改。 5、打开数据库; SQL> alter database open; 数据库已更改。 SQL> select name from vdatafile;
NAME
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF
已选择7行。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name=‘ZERONE’;
FILE_NAME TABLESPACE_NAME
ZERONE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF

C.归档模式下通过RMAN的backup as copy来更改,安全首选
1.offline datafile
2.backup as copy数据文件到指定路径
3.switch datafile to copy切换控制文件中数据文件路径
4.由于offline datafile不会做检查点,所以在online之前需要recover datafile
5.online datafile

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论