我们经常希望把各地的数据入库后进行统一的应用。现在可以用复制技术来解决这个问题。但实现数据库复制也是要有一些条件的。
【相关文章:磁盘“披挂”上阵 再次挑战磁带】 【扩展阅读:磁带技术不会消失变化中持续成长】首先,数据库要具备高级复制功能(用system身份登录数据库,查看v$option视图,如果其中advanced replication为true,则支持高级复制功能;否则不支持)。 【扩展信息:教你如何选购高性能磁带库】 如果具备高级复制功能,数据库要进行一些参数初始化。 db_domain = test.com.cn 指明数据库的域名(默认的是world),这里可以用您公司的域名;global_names = true 它要求数据库链接(database link)与被连接的数据库名称一致,现在全局数据库名:db_name+”.”+db_domain ; 跟数据库job执行有关的参数: job_queue_processes = 1; job_queue_interval = 60; distributed_transactions = 10; open_links = 4 第一行定义snp进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。第二行定义系统每隔n秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。如果修改了以上这几个参数,需要重新启动数据库以使参数生效。 做完了初步的准备,我们来实现数据库同步复制。 假设在internet上有两个数据库:一个叫中国(china),一个叫日本(japan)。 具体配置如下: 数据库名:china、japan 数据库域名 test.com.cn 数据库sid号 china、japan listener端口号 1521 服务器ip地址 10.1.0.100 10.1.0.200 确认两个数据库之间可以互相访问,在tnsnames.ora里设置数据库连接字符串。中国这边的数据库连接字符串是以下的格式:
japan = (description = (address_list = (address = (protocol = tcp)(host = 10.1.1.200)(port = 1521)) ) ... 下一页