WEB开发网
开发学院数据库Oracle 在Oracle中实现数据库的复制 阅读

在Oracle中实现数据库的复制

 2006-08-04 11:59:04 来源:WEB开发网   
核心提示: 正常的状态有两种:任务闲——this_date为空,next_date为当前时间后的一个时间值任务忙——this_date不为空,在Oracle中实现数据库的复制(8),next_date为当前时间后的一个时间值异常状态也有两种:任务死锁&m

正常的状态有两种:

任务闲——this_date为空,next_date为当前时间后的一个时间值

任务忙——this_date不为空,next_date为当前时间后的一个时间值

异常状态也有两种:

任务死锁——next_date为当前时间前的一个时间值

任务死锁——next_date为非常大的一个时间值,例如:4001-01-01

这可能因为网络中断照成的死锁

解除死锁的办法:

$ps –ef|grep orale

找到死锁的刷新快照的进程号ora_snp*,用kill –9 命令删除此进程

然后进入repadmin 用户SQL>操作符下,运行命令:

SQL>exec dbms_job.run(job_number);

说明:job_number 为用select job,this_date,next_date,what from user_jobs;命令查出的job编号。

2、增加或减少复制组的复制对象

①、停止主数据库节点的复制动作,使同步组的状态由正常(normal)改为停顿(quiesced )

用repadmin身份登录shenzhen数据库,运行以下命令

SQL>execute dbms_repcat.suspend_master_activity (gname => 'scott_mg');

②、在复制组scott_mg里加入数据库对象,保证数据库对象必须有主关键字。

SQL>execute dbms_repcat.create_master_repobject(sname=>'scott',oname=>'emp', type=>'table',use_existing_object=>true,gname=>'scott_mg');

对加入的数据库对象产生复制支持

SQL>execute dbms_repcat.generate_replication_support('scott','emp','table');

③、在复制组scott_mg里删除数据库对象。

SQL>execute dbms_repcat.drop_master_repobject ('scott','dept','table');

④、重新使同步组的状态由停顿(quiesced )改为正常(normal)。

SQL> execute dbms_repcat.resume_master_activity('scott_mg',false);

上一页  3 4 5 6 7 8 

Tags:Oracle 实现 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接