背景:
数据库安装在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、可以喝酒庆祝一下了!!!