Oracle数据库数据文件位置修改方法
2015-03-03来源:易贤网

数据文件就是以dbf结尾的文件也也就是用来存储我们数据的一个文件了,此文件通常比较大所以我们一般存储在空间比较大的目录了,下面一起来看看Oracle数据库数据文件位置修改方法

如何更改Oracle数据文件的位置

A:归档模式下

1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle数据库文件位置:

SQL>select file_name from sys.dba_data_files;

FILE_NAME

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

C:ORA8ORADATAORACLEUSERS01.DBF

C:ORA8ORADATAORACLEDR01.DBF

C:ORA8ORADATAORACLETOOLS01.DBF

C:ORA8ORADATAORACLEINDX01.DBF

C:ORA8ORADATAORACLERBS01.DBF

C:ORA8ORADATAORACLETEMP01.DBF

C:ORA8ORADATAORACLESYSTEM01.DBF

查询到7记录. 记录要移动的文件的位置和名称。

2.下面我们以把文件“C:ORA8ORADATAORACLEUSERS01.DBF”移动到“D:ORADATAUSERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可。

<1> 首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:

C:svrmgrl(回车)

SVRMGR> connect internal(回车)

SVRMGR> shutdown immediate(回车)

#等待数据库提示关闭

SVRMGR> exit

<2> 从“C:ORA8ORADATAORACLE”目录下找到文件“USERS01.DBF”,然后复制到目录“D:ORADATA”下面。如果移动多个文件,重复该步骤。

<3> 进入命令窗口,按以下内容输入:

C:svrmgrl(回车)

SVRMGR> connect internal(回车)

SVRMGR> startup mount(回车)

#等待数据库提示装载成功

SVRMGR> alter database rename file 'C:ORA8ORADATAORACLEUSERS01.DBF ' to 'D:ORADATAUSERS01.DBF ';

#提示语句已处理后,如果要移动多个文件,修改文件路径和名称后重复执行上面的语句。完成后打开数据库。

SVRMGR> alter database open;

SVRMGR> exit

数据库文件移动成功。

B:数据库处于非归档模式下,可以通过如下步骤更改文件路径:

1.关闭数据库

2.系统级进行文件复制

3.启动数据库到mount状态

3.通过SQL修改数据文件位置

4.打开数据库

以下是实际操作的步骤示范:

1.数据库处于非归档模式

SQL> archive log list;

Database log mode       No Archive Mode

Automatic archival       Enabled

Archive destination      /opt/oracle/oradata/conner/archive

Oldest online log sequence   150

Current log sequence      153

2.需要移动test.dbf文件

SQL> select name from v$datafile;

NAME

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

/opt/oracle/oradata/conner/system01.dbf

/opt/oracle/oradata/conner/undotbs01.dbf

/opt/oracle/oradata/conner/users01.dbf

/opt/oracle/test.dbf

3.关闭数据库

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

4.复制文件到新的位置

SQL> ! cp /opt/oracle/test.dbf /opt/oracle/oradata/conner/test.dbf

5.启动数据库到mount状态

SQL> startup mount;

ORACLE instance started.

Total System Global Area 101782828 bytes

Fixed Size          451884 bytes

Variable Size       37748736 bytes

Database Buffers      62914560 bytes

Redo Buffers         667648 bytes

Database mounted.

SQL> select name from v$datafile;

NAME

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

/opt/oracle/oradata/conner/system01.dbf

/opt/oracle/oradata/conner/undotbs01.dbf

/opt/oracle/oradata/conner/users01.dbf

/opt/oracle/test.dbf

6.修改文件位置

SQL> alter database rename file '/opt/oracle/test.dbf' to '/opt/oracle/oradata/conner/test.dbf';

Database altered.

SQL> alter database open;

Database altered.

SQL> select name from v$datafile;

NAME

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

/opt/oracle/oradata/conner/system01.dbf

/opt/oracle/oradata/conner/undotbs01.dbf

/opt/oracle/oradata/conner/users01.dbf

/opt/oracle/oradata/conner/test.dbf

更多信息请查看IT技术专栏

推荐信息