欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle更改数据文件位置

程序员文章站 2024-01-17 17:36:16
...

方法一:offline表空间 1、offline表空间:alter tablespace tablespace_name offline; 2、复制数据文件到新的目录; 3、rename修改表空间,并修改控制文件; 4、online表空间; 1、offline表空间zerone SQL select name from v$datafile; NAME ------------

方法一:offline表空间

1、offline表空间:alter tablespace tablespace_name offline;
2、复制数据文件到新的目录;
3、rename修改表空间,并修改控制文件;
4、online表空间;

1、offline表空间zerone

SQL> select name from v$datafile;


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 v$datafile;
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.2.0\ORADATA\ORCL\ZERONE01.DBF


方法二:SQL修改数据文件位置

1、关闭数据库;
2、复制数据文件到新的位置;
3、启动数据库到mount状态;
4、通过SQL修改数据文件位置;
5、打开数据库;

1、关闭数据库

SQL> select name from v$datafile;
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 v$datafile;
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