linux 数据库文件迁移步骤详解

数据库所有文件(数据文件、日志文件、临时文件、控制文件)迁移步骤:

1、 迁移步骤概述:

1:具体需求

2:保存现有数据文件、控制文件、临时文件、日志文件位置

3:停止监听,并关闭数据库

4:移动所有数据文件、控制文件、临时文件、日志文件到新的位置

5:启动数据库到nomount状态,并更改控制文件位置,关闭数据库

6:启动数据库到mount状态

7:更改数据文件、临时文件、日志文件位置

7:打开数据库

8:重启验证

2、 具体操作:

1、迁移目录

将数据文件、控制文件、临时文件、日志文件都迁移到新的目录/oradata/esbdb上

注意:该目录 需要有Oracle软件安装用户读写权限

切换用户为oracle

su – oracle

linux下mysql数据库如何迁移方便_SQL

2、文件位置

保存现有数据文件、控制文件、临时文件、日志文件位置

sqlplus / as sysdba;

SQL> select NAME from v$datafile; 所有数据文件

linux下mysql数据库如何迁移方便_数据库_02

SQL> select MEMBER from v$logfile; 所有日志文件

linux下mysql数据库如何迁移方便_控制文件_03

SQL> select name from v$tempfile; 所有临时文件

linux下mysql数据库如何迁移方便_数据库_04

SQL> show parameter control 查看控制文件位置

linux下mysql数据库如何迁移方便_控制文件_05

3、关闭数据库

SQL> shutdown immediate; 立即关闭

[[email protected] orcl]$ lsnrctl stop

注意:关闭之前需要停止所有应用

4、迁移开始

注意在 oracle 用户组下执行操作;

linux下mysql数据库如何迁移方便_SQL_06

移动所有数据文件、控制文件、临时文件、日志文件到新的位置

留一份控制文件在原有路径做冗余。

此次迁移工作只涉及到了/u01/app/oracle/oradata/esbdb/esbdb_temp.dbf与/u01/app/oracle/oradata/esbdb/esbdb_data.dbf 两个文件;

5、数据库nomount状态

启动数据库到nomount状态,并更改控制文件位置,关闭数据库;

SQL> startup nomount;

示例:SQL>alter stem 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; 关闭数据库

启动数据库到mount状态

设置完数据库控制文件之后,关闭数据库,并启动数据库到mount状态;

SQL> startup mount;

show parameter control 查看控制文件位置 是否更改到指定位置

6、更改数据文件、临时文件和日志文件位置

alter database rename file ‘/u01/app/oracle/oradata/esbdb/esbdb_data.dbf’ to ‘/oradata/esbdb/esbdb_data.dbf’;

alter database rename file ‘/u01/app/oracle/oradata/esbdb/esbdb_temp.dbf’ to ‘/oradata/esbdb/esbdb_temp.dbf’;

注意:具体迁移文件请以实际情况为主;引号之间不要有空格。

打开数据库:

SQL> alter database open;

7、重启验证

SQL> shutdow immediate;

SQL> startup

SQL> select NAME from vdatafile;所有数据文件SQL>selectnamefromvtempfile; 所有临时文件

SQL> select MEMBER from v$logfile; 所有日志文件

SQL> show parameter control 查看控制文件位置

linux 数据库文件迁移步骤详解相关教程