Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103119463
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-30 20:47:23

使用ORACLE提供的EXPORT、IMPORT工具进行数据的逻辑备份与恢复,相信很多的ORACLE数据库爱好者都不会感到陌生。但是,如果数据库的应用比较简单只是进行数据备份或者迁移的话,还有另外一种比较简单快速的解决办法,那就是对数据库表空间的迁移。原理并不复杂,操作也比较简单,只是有一些小的地方开始也许不会注意到,因此在这里特别指出来。以下是我个人在工作中总结的一个基本操作步骤,在ORACLE8.1.5版本数据库WIN2000系统平台上测试过的,希望对大家的数据库维护工作有所帮助,当然,有不对的地方也欢迎大家批评指正,我的E-MAIL:SYSDBA@SINA.COM。
首先是注意事项:待迁移的表空间必须自包含,EXP、IMP工具版本必须与ORACLE数据库版本一致(不是相同),其次是要严格按照如下操作步骤进行,并请留意提示内容。
以下是操作步骤,1~5步操作在源数据库表空间操作完成,6、7、8步在目的数据库表空间操作完成。
1.用数据库管理员(INTERNAL)身份登录ORACLE,(CONNECT INTERNAL/******)。
2.将源tablsspace_name表空间置为READ ONLY,使得表空间下的数据文件置为READ ONLY状态,可以进行操作系统级的拷贝,(ALTER TABLESPACE tablsspace_name READ ONLY)。如果是生产系统请注意选择好进行此操作的时间。
3.利用EXP工具进行数据库表空间的迁移,(EXP INTERNAL/****** FILE=filename.DMP LOG=logname.LOG TRANSPORT_TABLESPACE=Y TABLESPACES=tablsspace_name BUFFER=1024000 )。
4.将待迁移的表空间下的所有数据文件进行操作系统级的拷贝,复制到目的数据库操作系统硬盘下。
5.将源tablsspace_name表空间置为READ WRITE,使得表空间下的数据文件置为READ WRITE状态,(ALTER TABLESPACE tablsspace_name READ WRITE)。
6.在目的数据库上建立相应的用户user_name并赋予CREATE SESSION权限。
7.在目的数据库上利用IMP工具进行数据库表空间的迁移,(IMP INTERNAL/****** FILE=filename.DMP LOG=logname.LOG TRANSPORT_TABLESPACE=Y TABLESPACES=tablsspace_name DATAFILES=datafile_name1,datafile_name2)。
8.在目的数据库上将目的tablsspace_name表空间置为READ WRITE,使得表空间下的数据文件置为READ WRITE状态,(ALTER TABLESPACE tablsspace_name READ WRITE)。
附加ORACLE文档中的相关提示内容,供参考。
1 .Do not transport the system tablespace or the temporary tablespace (You can't)!
2 .When Error ORA-06512 is occured , you should execute script of racle\RDBMS\DBMSPLTS.SQL.
3 .You must connect to database using user of 'SYS' to execute thie script also to run import!
4 .The parameter of db_block_size of destination database must be equal to the source database's!


原文:
 

http://canyang.blog.ccidnet.com/blog-htm-itemid-107927-do-showone-type-blog-uid-38235.html
阅读(207) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~