前提条件:有MDB两个数据库,且知道普通用户和sys用户的密码等基本信息。
操作:
1:用sys用户登录isql
isql -s 127.0.0.1 -u sys -p manager -port 20300 -NLS_USE US7ASCII
2:查询原有的复制关系名称
select * from system_.SYS_REPLICATIONS_;
3:停止原有的复制关系
alter replication sm_rep stop;
4:在复制关系中去掉需要修改的表
alter replication rep_name drop table from user.tname to user.tname;
说明:其实,只要删掉复制关系中的需要修改的表就可以修改复制表的表结构了,可以不用删除原来的复制关系。
或者,
4:去掉原有的复制关系
drop replication SM_REP;
5:在普通的用户下修改表结构
去掉复制关系后,就可以修改表结构了。同时,也去修改另外一个数据库中的表结构,使这两个数据库的表有相同的结构。
Alter table add tname ADD COLUMN (colum_1 CHAR(10) );
6:在复制关系中增加修改好的表
alter replication rep_name add table from user.tname to user.tname;
或者
6:回到sys用户下新建一个复制关系
create replication SM_REP with '127.0.0.1', 30301 from user1.table1 to user1.table1,from user1.table2 to user1.table2,from user1.table3 to user1.table3;
说明:
SM_REP为复制名称
'127.0.0.1', 30301 为另外一个数据库的IP地址及其复制端口号。复制端口号不同于isql命令中的端口号,这个值保存在“${AB_HOME}/conf/altibase.properties”中,REPLICATION_PORT_NO参数值就是的。
from user1.table1 to user1.table1 就是需要进行监控的复制表列表。
7:启动新的复制关系
alter replication SM_REP start;
8:对另外一个数据库做同样的类似操作,注意端口号信息。