oracle11物理迁移,Oracle 10g 表空间物理位置转移

上周五花了多个小时,专门来明白了下ORACLE表空间转移的知识,由于测试站点ORACLE所在的硬盘只剩下十几M的空间了。于是我将表空间转移到另外一个硬盘,流程如下:

操作环境:

数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

表空间:USERS

转移前运用的数据库文件:C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF

转移后运用的数据库文件:D:\DB Data\Oracle\orcl\USERS01.DBF

扼要操作步骤:

第一步:登陆数据库

第二步:中止数据库

第三步:在open方式下启动数据库

第四步:将表空间(USERS)脱机

第五步:手工将表空间所运用的数据库文件(C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF),

复制到你要转移的目录(D:\DB Data\Oracle\orcl\USERS01.DBF),

第六步:将表空间与新目录下的数据库文件关联

第七步:将表空间联机,提交,OK,完成。

细致SQL:

第一步:

C:\>sqlplus /nolog

SQL> conn / as sysdba

第二步:

SQL> shutdown immediate

第三步:

SQL> startup open

第四步:

SQL> alter tablespace eucrmspace offline;

第五步:

手工拷贝数据库文件到你想抵达的目录下。

第六步:【操作前后能够用SQL来查询表空间所运用的数据库文件的改变情况:select name from v$datafile;】

SQL> alter tablespace eucrmspace rename datafile

'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF'    to  ' D:\DB Data\Oracle\orcl\USERS01.DBF';

第七步:

SQL> alter tablespace eucrmspace online;

SQL>commit;

SQL>exit;

留意:

1.    转移表空间时,请确保不要对该表空间执行任何写操作(如项目顺序仍在运转),否则能够后面报错

我测试了下,边转移边对该表空间执行写操作,结果在执行第六步时,报错了:

ERROR 位于第 1 行:

ORA-01113: 文件 11 须要介质恢复

ORA-01110: 数据文件 11: 'D:\DB Data\Oracle\orcl\USERS01.DBF '

2.第五步(复制文件操作),必需是在第四步之后,否则第六步能够会报错,错误信息同上差不多

3.假设第六步报错了,只好这样恢复:将如今运用的数据库文件(D:\DB Data\Oracle\orcl\USERS01.DBF),重新复原成之前所运用的数据库文件(C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF),即重新执行第五、六、七步,只不过第五步的SQL稍微改下。

…….

SQL>rollback;

SQL> alter tablespace eucrmspace rename datafile

' D:\DB Data\Oracle\orcl\USERS01.DBF'    to  'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF';

……

下面是完壁的操作命令:

C:\Documents and Settings\XXX>sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 15 16:29:14 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn / as sysdba

已衔接。

SQL> shutdown immediate

数据库以前关闭。

以前卸载数据库。

ORACLE 例程以前关闭。

SQL> startup open

ORACLE 例程以前启动。

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size              83889028 bytes

Database Buffers          520093696 bytes

Redo Buffers                7135232 bytes

数据库装载终了。

数据库以前翻开。

SQL> alter tablespace users offline;

表空间已修改。

SQL> select name from v$datafile;

NAME

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

SQL> alter tablespace USERS rename datafile 'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF' to 'D:\DB Data\Oracle\orcl\USERS01.DBF';

表空间已修改。

SQL> select name from v$datafile;

NAME

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

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

D:\DB DATA\ORACLE\ORCL\USERS01.DBF

SQL> alter tablespace users online;

表空间已修改。

SQL> commit;

提交完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值