Oracle 数据库迁移
Oracle 数据库迁移
需求分析:
数据库所有文件(数据文件、日志文件、临时文件、控制文件)都存放在光纤存储中,但是光纤存储使用时间过长,超过3年,经常出现一些问题,而且光纤存储需要厂家维护,维护方面不是很方便,需要将数据库文件迁移到nas存储中。
操作步骤:
1:具体需求
2:保存现有数据文件、控制文件、临时文件、日志文件位置
3:停止监听,并关闭数据库
4:移动所有数据文件、控制文件、临时文件、日志文件到新的位置
5:启动数据库到nomount状态,并更改控制文件位置,关闭数据库
6:启动数据库到mount状态
7:更改数据文件、临时文件、日志文件位置
7:打开数据库
8:重启验证
操作方法
- 01
具体需求 将数据文件、控制文件、临时文件、日志文件都迁移到新的存储/oradata/orcl上 注意:该目录 需要有Oracle软件安装用户读写权限
- 02
保存现有数据文件、控制文件、临时文件、日志文件位置 SQL> select NAME from v$datafile; 所有数据文件 SQL> select name from v$tempfile; 所有临时文件 SQL> select MEMBER from v$logfile; 所有日志文件 SQL> show parameter control 看那控制文件位置 注意:控制文件如果做了冗余策略,存储路径最好不同。
- 03
关闭数据库 SQL> shutdown immediate; 立即关闭 [oracle@oracle10g orcl]$ lsnrctl stop 注意:关闭之前需要停止所有应用
- 04
移动所有数据文件、控制文件、临时文件、日志文件到新的位置 留一份控制文件在原有路径做冗余
- 05
启动数据库到nomount状态,并更改控制文件位置,关闭数据库 SQL> startup nomount; SQL> alter system set control_files='/oradata/orcl/control01.ctl','/oradata/orcl/control02.ctl','/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/control03.ctl' scope=spfile; SQL> shutdown immediate; 关闭数据库
- 06
启动数据库到mount状态 SQL> startup mount;
- 07
更改数据文件、临时文件、日志文件位置 alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/system01.dbf' to '/oradata/orcl/system01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/undotbs01.dbf' to '/oradata/orcl/undotbs01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/sysaux01.dbf' to '/oradata/orcl/sysaux01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/users01.dbf' to '/oradata/orcl/users01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/data01.dbf' to '/oradata/orcl/data01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/data02.dbf' to '/oradata/orcl/data02.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/temp01.dbf' to '/oradata/orcl/temp01.dbf'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo01.log' to '/oradata/orcl/redo01.log'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo02.log' to '/oradata/orcl/redo02.log'; alter database rename file '/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/redo03.log' to '/oradata/orcl/redo03.log'; 注意:引号之间不要有空格
- 08
打开数据库 SQL> alter database open;
- 09
重启验证 SQL> shutdow immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 2082464 bytes Variable Size 125831520 bytes Database Buffers 33554432 bytes Redo Buffers 6303744 bytes Database mounted. Database opened. SQL>