li
  当前位置:主页 > 性能优化 > 文章内容
li
包含复制环境的数据库迁移(一)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:18  
本文章共4671字,分3页,当前第1页,快速翻页:
 

由于产品系统需要进行一次跨平台的迁移,因此,只能通过EXP/IMP来实现。所幸的是需要迁移的数据库数据量不大,而且停机时间相对充裕。但是需要迁移的数据库已经部署了高级复制环境,打算进行一系列的测试,测试包含高级复制环境数据库在通过EXP/IMP工具迁移到新的环境中,复制环境是否生效。

最先进行的例子是测试一个物化视图站点能否通过EXP/IMP进行顺利迁移。


建立测试库的过程略,创建好3个待用数据库,在这个例子中,RAC1.US.ORACLE.COM作为复制主站点,TESTMV.US.ORACLE.COM作为物化视图站点,TESTMV作为要进行导入操作的物化视图站点。

为了避免误会,需要说明一下:由于刚刚做完RAC的测试,就进行这个测试,建立数据库的时候,忘了修改ORACLE_SID系统变量,因此数据库的名称叫RAC1。这个测试中,没有RAC的环境,RAC1只是一个单INSTANCE数据库。

首先需要说明的是,由于部署了高级复制环境,导入和导出必须采用全库级别。否则会导致复制环境无法完全导入:

下面是复制环境的建立和测试数据的准备,首先是创建测试帐号:

SQL> CONN SYSTEM/TEST@RAC1已连接。
SQL> CREATE USER YANGTK IDENTIFIED BY YANGTK DEFAULT TABLESPACE NDMAIN;

用户已创建。

SQL> GRANT CONNECT, RESOURCE TO YANGTK;

授权成功。

SQL> CONN YANGTK/YANGTK@RAC1已连接。
SQL> CREATE TABLE T (ID NUMBER, NAME VARCHAR2(30));

表已创建。

SQL> ALTER TABLE T ADD CONSTRAINT PK_T PRIMARY KEY (ID);

表已更改。

SQL> INSERT INTO T SELECT ROWNUM, TABLE_NAME FROM ALL_TABLES;

已创建43行。

SQL> COMMIT;

提交完成。

SQL> CREATE INDEX IND_T_NAME ON T (NAME) TABLESPACE NDMAIN;

索引已创建。

SQL> CREATE TABLE T1 (ID NUMBER PRIMARY KEY, FID NUMBER, NAME VARCHAR2(30));

表已创建。

SQL> INSERT INTO T1 SELECT ROWNUM, MOD(ROWNUM, 43) 1, SYNONYM_NAME FROM ALL_SYNONYMS;

IXDBA.NET技术社区

已创建12239行。

SQL> COMMIT;

提交完成。

SQL> ALTER TABLE T1 ADD CONSTRAINT FK_T1_FID FOREIGN KEY (FID) REFERENCES T(ID);

表已更改。

SQL> CREATE INDEX IND_T1_FID ON T1(FID);

索引已创建。

下面建立主站点环境:

SQL> CONN SYSTEM/TEST@RAC1已连接。
SQL> CREATE USER REPADMIN IDENTIFIED BY REPADMIN DEFAULT TABLESPACE NDMAIN;

用户已创建。

SQL> BEGIN
2 DBMS_REPCAT_ADMIN.GRANT_ADMIN_ANY_SCHEMA(USERNAME => 'REPADMIN');
3 END;
4 /

PL/SQL 过程已成功完成。

SQL> GRANT COMMENT ANY TABLE TO REPADMIN;

授权成功。

SQL> GRANT LOCK ANY TABLE TO REPADMIN;

授权成功。

SQL> GRANT SELECT ANY DICTIONARY TO REPADMIN;

授权成功。

SQL> GRANT SELECT_CATALOG_ROLE TO REPADMIN;

授权成功。

SQL> GRANT CREATE SESSION TO REPADMIN;

授权成功。

SQL> GRANT SELECT ANY TABLE TO REPADMIN;

授权成功。

SQL> BEGIN
2 DBMS_DEFER_SYS.REGISTER_PROPAGATOR(USERNAME => 'REPADMIN');
3 END;
4 /

PL/SQL 过程已成功完成。

SQL> BEGIN
2 DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP(USERNAME => 'REPADMIN',
3 PRIVILEGE_TYPE => 'RECEIVER', LIST_OF_GNAMES => NULL);
4 END;
5 /

PL/SQL 过程已成功完成。

SQL> BEGIN
2 DBMS_REPCAT_ADMIN.REGISTER_USER_REPGROUP(USERNAME => 'REPADMIN',
3 PRIVILEGE_TYPE => 'PROXY_SNAPADMIN',
4 LIST_OF_GNAMES => NULL);
5 END;
6 /

PL/SQL 过程已成功完成。

SQL> CONN REPADMIN/REPADMIN@RAC1已连接。
SQL> BEGIN
2 DBMS_DEFER_SYS.SCHEDULE_PURGE(NEXT_DATE => SYSDATE, INTERVAL => 'SYSDATE 1/24', DELAY_SECONDS
=> 0);
3 END;
4 /

PL/SQL 过程已成功完成。

建立主体组和主体对象:

SQL> CONNECT REPADMIN/REPADMIN@RAC1已连接。
SQL> BEGIN



阅读更多内容1 · 2 · 3 · 下一页>>


  上一篇: 包含复制环境的数据库迁移(二)   下一篇: inode耗尽导致No space left on ...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·包含复制环境的数据库迁移(二)
·小议物化视图与基表数据不一致的...
·10203设置CURSOR_SHARING为SIMIL...
·物化视图的创建写法与刷新问题
·小议物化视图与基表数据不一致的...
·建立物化视图导致数据库实例崩溃
·ORA-600(999)错误(三)
·物化视图刷新过程中出现的约束冲...
·ORA-600(999)错误(二)
·GLOBAL_NAME相同的数据库中物化视...
·inode耗尽导致No space left on ...
·在Oracle10g RAC下新增ASM磁盘组
·oracle RAC环境中系统时钟的调整
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本Ora...
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理一...
·Resize datafile导致ASM Crash一...
·不幸中的万幸:遭遇ORA-00600 [kf...
·用ORACLE的高级复制实现内外网数...
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接