背景:
数据库安装在PC服务器的本地硬盘上,数据文件也存放在本地,目前增加了存储设备,需要将数据文件拷贝到存储下,将数据文件路径指定目录存储,具体如下:
数据文件现在路径:/data3/oradata/
数据文件存储路径:/data2/oradata/
需要拷贝的数据文件:nnc_data01_12.dbf nnc_data01_14.dbf nnc_data01_16.dbf nnc_INDEX01_5.dbf nnc_data01_13.dbf nnc_data01_15.dbf nnc_data01_17.dbf nnc_INDEX01_6.dbf
下面我们说下具体步骤:
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 '/data3/oradata/nnc_INDEX01_5.dbf' to '/data2/oradata/nnc_INDEX01_5.dbf'; SQL>alter database rename file '/data3/oradata/nnc_INDEX01_6.dbf' to '/data2/oradata/nnc_INDEX01_6.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_12.dbf' to '/data2/oradata/nnc_data01_12.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_13.dbf' to '/data2/oradata/nnc_data01_13.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_14.dbf' to '/data2/oradata/nnc_data01_14.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_15.dbf' to '/data2/oradata/nnc_data01_15.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_16.dbf' to '/data2/oradata/nnc_data01_16.dbf'; SQL>alter database rename file '/data3/oradata/nnc_data01_17.dbf' to '/data2/oradata/nnc_data01_17.dbf';
这个过程需要耐心点
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/example01.dbf /orcl/oracle/oradata/orcl/sysaux01.dbf /orcl/oracle/oradata/orcl/system01.dbf /orcl/oracle/oradata/orcl/temp01 /orcl/oracle/oradata/orcl/undotbs01.db /orcl/oracle/oradata/orcl/users01.dbf /orcl/oracle/oradata/orcl/users02.dbf
如上数据文件均在存储目录路径下,说明数据文件迁移成功。
9、验证业务
如果业务正常,就可以进行下边的步骤了
10、删掉源文件
这个步骤可以不操作,原来的数据文件现在已经没有什么用了
您暂时无权查看此隐藏内容!
评论前必须登录!
注册