oracle11g数据文件路径,Oracle11g修改数据文件路径

时间:2025-01-29 08:43:18

背景:

数据库安装在PC服务器的本地硬盘上,数据文件也存放在本地,目前增加了存储设备,需要将数据文件拷贝到存储下,将数据文件路径指定目录存储,具体如下:

数据文件现在路径:/home/oracle/oradata/orcl/

数据文件存储路径:/orcl/oracle/oradata/orcl/

需要拷贝的数据文件:,,,,,,

下面我们说下具体步骤:

1、挂载存储目录

[root@chd106 ~]mount /dev/sda /orcl

2、建立一个文件夹来存放需要拷贝出来的数据文件,建完之后需要修改文件夹属主及读写权限,如下:

[root@chd106 ~]# cd /orcl

[root@chd106 ~]# mkdir oracle

[root@chd106 ~]# mkdir oradata

[root@chd106 ~]# mkdir orcl

[root@chd106 ~]# chown -R oracle:oinstall /orcl/oracle/oradata/orcl/

[root@chd106 ~]# chmod -R 755 /orcl/oracle/oradata/orcl/

3、关闭数据库监听

[oracle@chd106 ~]$ lsnrctl stop

4、关掉数据库,并启动数据库到mount状态;

SQL> shutdown immediate;

SQL>startup mount;

5、拷贝数据文件到/orcl/oracle/oradata/orcl/,先拷贝,不急着删除源文件,记得拷贝数据文件,需要是oracle用户,否则拷贝完成后,权限不对。

[oracle@chd106 orcl]$ pwd

/home/oracle/oradata/orcl/

[oracle@chd106 orcl]$ cp *.dbf  /orcl/oracle/oradata/orcl/

这个过程中,需要些时间,时间长短视文件大小而定,耐心等待吧

6、拷贝完之后进入到数据库rename文件,修改改数据文件的路径及名称,实质就是修改controlfile里面的内容:

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

SQL> alter database rename file '/home/oracle/oradata/orcl/temp01' to '/orcl/oracle/oradata/orcl/temp01';

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

SQL> alter database rename file '/home/oracle/oradata/orcl/' to '/orcl/oracle/oradata/orcl/';

这个过程需要耐心点

7、打开数据库并查看数据库状态;

SQL> alter database open;

Database altered.

SQL> select file#,ts#,status,name from v$datafile;

1          0 SYSTEM

2          1 online

3          2 online

4          3 online

5          4 online

6          5 online

7          6 online

8          7 online

是看数据文件路径有没有修改,如果已经修改而且是online状态就表示修改成功了;

8、查看数据文件所在目录

SQL> select name from v$datafile;

/orcl/oracle/oradata/orcl/

/orcl/oracle/oradata/orcl/

/orcl/oracle/oradata/orcl/

/orcl/oracle/oradata/orcl/temp01

/orcl/oracle/oradata/orcl/

/orcl/oracle/oradata/orcl/

/orcl/oracle/oradata/orcl/

如上数据文件均在存储目录路径下,说明数据文件迁移成功。

9、验证业务

如果业务正常,就可以进行下边的步骤了

10、删掉源文件

这个步骤可以不操作,原来的数据文件现在已经没有什么用了

11、可以喝酒庆祝一下了!!!