DSG数据库迁移注意事项
时间:2010-06-08 来源:吴险
在迁移过程中需要主要的几个关键事项
(1)首先区分出哪些表是日常变化量最频繁的表,迁移时将对这些表放在后面再做;
(2)迁移期间要求应用不要进行如下种类的操作:
a. nologging模式的操作:包括在nolog table上做insert /*+append*/操作,不在nolog table上做sqlldr操作,不在nolog table上做impdp操作;否则需要将数据库置于force logging模式。
b. 在迁移过程中不做系统结构变动,包括改表结构、增加表、删除表
c. 在迁移过程中不做alter table move类操作
d. 在迁移过程中避免进行非业务所必需的大数据批量操作。
(3)迁移过程需要的环境准备:
生产系统 |
创建dsg操作系统用户 用户名:dsg 密码:dsg 属组:dba |
准备realsync的安装目录 创建文件系统 realsync realsync 属组 dsg:dba 操作系统用户dsg有读写权限 空间大小:按照10GB/天计算,计划需要1周左右的时间缓存,总共需要该目录大小50GB。 |
|
oracle数据库中创建RealSync复制用户 用户名:dsg 密码:dsg 权限: grant select any table to dsg; grant select any dictionary to dsg; grant alter system to dsg; grant connect,resource to dsg; grant exp_full_database to dsg; |
|
目标端系统 |
安装oracle数据库:SID ,ORACLE_HOME等参数都可以和生产系统不相同 |
创建database:要求characterset和生产线系统保持相同 |
|
创建tablespace: 要求tablespace name与生产系统中需要复制的哪些表所在的tablespace name保持一致,空间大小只要足够就可以。 Datafile没有要求 |
|
创建realsync的安装目录: 创建文件系统 realsync realsync 属组 dsg:dba 操作系统用户dsg有读写权限 注:源端目标端都需要建立 /realsync目录空间主要有两部分作用: 1. realsync软件空间(150M) 2. 累积的xf1文件的缓存空间(总共数据量的1/6)
|
|
建表: 如果需要系建的表和源端不相同的话,需要预先在目标端按照要求先建好表结构。 |
(4)数据合并和数据拆分的方法
数据合并是指将在生产系统中属于两个instance的数据合并到一个数据库中去。
DSG迁移方案支持该迁移方式,但要求:
a. 两个instance内的表在目标端不会造成重名的冲突;
b. 两个instance内的public对象在目标端不会造成冲突;
数据拆分是将原处于一个instance内的两个user下的数据分拆到新系统的两个不同instance中。
DSG迁移方案支持该方式,但注意:
a.拆分的两个用户之间的数据没有参照完整性约束。