首页
登录 | 注册

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

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;


提交完成。



相关文章

  • Oracle sysaux表空间使用过大处理-3
    博客文章除注明转载外,均为原创.转载请注明出处. Oracle sysaux表空间使用过大处理第三篇,前两篇请见Oracle sysaux表空间使用过大处理-1(http://blog.chinaunix.net/uid-31396856- ...
  • Oracle sysaux表空间使用过大处理-2
    博客文章除注明转载外,均为原创.转载请注明出处. 接上文(Oracle sysaux表空间使用过大处理-1http://blog.chinaunix.net/uid-31396856-id-5819732.html)介绍另一种处理方法: 基 ...
  • Oracle sysaux表空间使用过大处理-1
    博客文章除注明转载外,均为原创.转载请注明出处. Oracle sysaux表空间占用过大处理办法: step1:检查表空间的使用情况 sysaux表空间空间使用是很大的. step2:检查表空间被内容占用: 主要是awr信息库使用了sys ...
  • 一篇关于oracle net log file的学习笔记.学习资料为oracle10g版本的官方文档<Troubleshooting Oracle Net Services>,链接如下: http://download.orac ...
  • Performance problem with Oracle*Net Failover when TCP Network down (no IP address) [ID 249213.1] 修改时间 27-AUG-2010     类型 ...
  • 作者: itzealot  随着 Microsoft 的 .NET 框架的逐渐流行,许多开发人员迫切想了解关于将 .NET 应用程序与 Oracle 集成的最好的方式的信息 -- 不仅在基本的连通性方面,还包括与使用 Visual Stud ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号