ITPub博客

首页 > 数据库 > 数据库开发技术 > 将ORACLE数据库数据文件迁移到其他目录(ZT)

将ORACLE数据库数据文件迁移到其他目录(ZT)

原创 数据库开发技术 作者:trigger_lau 时间:2010-04-24 21:12:53 0 删除 编辑
将ORACLE数据库数据文件迁移到其他目录

一、系统环境:

操作系统:winXP

数据库版本: 9.2.0.1.0

数据库SID:test

数据库为非归档模式

[@more@]

二、迁移过程

原数据库数据文件位置:C:oracleoradatatest

目标数据库数据文件位置:D:Softwareoradatatest

原来数据文件位置

'C:ORACLEORADATATESTSYSTEM01.DBF',
'C:ORACLEORADATATESTUNDOTBS01.DBF',
'C:ORACLEORADATATESTCWMLITE01.DBF',
'C:ORACLEORADATATESTDRSYS01.DBF',
'C:ORACLEORADATATESTEXAMPLE01.DBF',
'C:ORACLEORADATATESTINDX01.DBF',
'C:ORACLEORADATATESTODM01.DBF',
'C:ORACLEORADATATESTTOOLS01.DBF',
'C:ORACLEORADATATESTUSERS01.DBF',
'C:ORACLEORADATATESTXDB01.DBF'

因为需要移动所有的数据文件,所以采用alter database方法

1、 首先shutdown数据库

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

2、 使用系统命令复制粘贴到指定目录

copy C:oracleoradatatest* D:Softwareoradatatest*

3、 启动数据库到mount状态,更改数据文件的位置

SQL> startup mount

ORACLE 例程已经启动。

Total System Global Area 135338868 bytes

Fixed Size 453492 bytes

Variable Size 109051904 bytes

Database Buffers 25165824 bytes

Redo Buffers 667648 bytes

数据库装载完毕。

SQL>

alter database rename file 'C:ORACLEORADATATESTSYSTEM01.DBF',

'C:ORACLEORADATATESTUNDOTBS01.DBF',

'C:ORACLEORADATATESTCWMLITE01.DBF',

'C:ORACLEORADATATESTDRSYS01.DBF',

'C:ORACLEORADATATESTEXAMPLE01.DBF',

'C:ORACLEORADATATESTINDX01.DBF',

'C:ORACLEORADATATESTODM01.DBF',

'C:ORACLEORADATATESTTOOLS01.DBF',

'C:ORACLEORADATATESTUSERS01.DBF',

'C:ORACLEORADATATESTXDB01.DBF' to

'D:SoftwareoradatatestSYSTEM01.DBF',

'D:SoftwareoradatatestUNDOTBS01.DBF',

'D:SoftwareoradatatestCWMLITE01.DBF',

'D:SoftwareoradatatestDRSYS01.DBF',

'D:SoftwareoradatatestEXAMPLE01.DBF',

'D:SoftwareoradatatestINDX01.DBF',

'D:SoftwareoradatatestODM01.DBF',

'D:SoftwareoradatatestTOOLS01.DBF',

'D:SoftwareoradatatestUSERS01.DBF',

'D:SoftwareoradatatestXDB01.DBF'

然 后打开数据库

SQL> alter database open;

数据库已更改。

SQL> select name from v$datafile;

NAME

-----------------------------------------------

D:SOFTWAREORADATATESTSYSTEM01.DBF

D:SOFTWAREORADATATESTUNDOTBS01.DBF

D:SOFTWAREORADATATESTCWMLITE01.DBF

D:SOFTWAREORADATATESTDRSYS01.DBF

D:SOFTWAREORADATATESTEXAMPLE01.DBF

D:SOFTWAREORADATATESTINDX01.DBF

D:SOFTWAREORADATATESTODM01.DBF

D:SOFTWAREORADATATESTTOOLS01.DBF

D:SOFTWAREORADATATESTUSERS01.DBF

D:SOFTWAREORADATATESTXDB01.DBF

已选择10行。

4、 更改联机日志文件

关闭数据库:shutdown immediate

alter alter database rename file 'C:ORACLEORADATATESTREDO01.LOG',

'C:ORACLEORADATATESTREDO02.LOG',

'C:ORACLEORADATATESTREDO03.LOG' to

'D:SoftwareoradatatestREDO01.LOG',

'D:SoftwareoradatatestREDO02.LOG',

'D:SoftwareoradatatestREDO03.LOG'

数据库已更改。

5、 修改inittest.ora里面的控制文件路径,inittest.ora文件是用create pfile from spfile创建的,目录在%ORACLE_HOME%database下:

l 先关闭数据库:shutdown immediate

l copy 控制文件到新目录中

l 启动到nomount状态,因为这时候没有打开控制文件,不会造成控制文件不一致情况:startup nomount

l 创建pfile:create pfile from spfile

l 修改文件里面的控制文件信息

control_files='D:SoftwareoradatatestCONTROL01.CTL','D:Softwareoradatatest CONTROL02.CTL',' D:Softwareoradatatest CONTROL03.CTL'

l 修改后使用create spfile from pfile使修改后的文件生效

alter database mount看看能否打开控制文件

alter database open;打开数据库

6、 临时文件的移动

由于控制文件不记录临时文件的信息,所以不能使用alter database rename file命令完成,只能删除掉原来的再建立一个

SQL> create temporary tablespace temp02 tempfile 'd:softwareoradatatesttemp0

2.dbf' size 40M autoextend on extent management local uniform size 1M

SQL> alter database default temporary tablespace temp02;

SQL> drop tablespace temp including contents and datafiles;

表空间已丢弃。
link:http://blog.chinaunix.net/u/10410/showart_370883.html

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9826/viewspace-1033125/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-13

  • 博文量
    192
  • 访问量
    1412692