暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8s synonym同义词实践

原创 zhonghanquan 2022-01-25
620

南大通用安全数据库GBase 8s也有自己的“dblink”,即synonym同义词,具有与Oracle的dblink相近的功能,可以通过在本地数据库创建对方数据库的同义词进行外部连接访问。

那什么是同义词呢,一个单词如果跟另外一个单词有相同的意思,那么这个单词是那个单词的同义词。在数据库中同义词是指一个数据库对象的别名、或者引用。GBase 8s可以为表(table)、序列(sequence)、视图(view)创建同义词。

下面是创建两个数据库的具体表的synonym同义词的实践过程。

前提:两台服务器网络互通,配置同网段IP,开放需要访问的端口。

举例:A服务器 192.168.137.131   B服务器 192.168.137.133

1、修改onconfig.ol_gbasedbt1210文件

A服务器 在DBSERVERALIASES实例别名参数后面添加ol_gbase1


B服务器 在DBSERVERALIASES实例别名参数后面添加ol_gbase2


2、修改sqlhosts.ol_gbasedbt1210文件

A服务器添加如下两行:

ol_gbase1 onsoctcp * 10606

ol_gbase2 onsoctcp 192.168.137.133 10607


B服务器添加如下两行:

ol_gbase2 onsoctcp * 10607

ol_gbase1 onsoctcp 192.168.137.131 10606


两台数据库修改完配置文件后均保存并重启数据库服务。

3、在两台数据库均创建测试库表,并插入数据

A服务器

create database testdb1 with log;

create table tb1(a int,b varchar(10));

insert into tb1 values(1,'aaa');

insert into tb1 values(2,'bbb');

B服务器

create database testdb2 with log;

create table tb2(a int,b varchar(10));

insert into tb2 values(3,'ccc');

insert into tb2 values(4,'ddd');

4、创建两台服务器之间的互信

分别在两台服务器的/etc目录下创建hosts.equiv,手动输入+

vim /etc/hosts.equiv

+

保存退出


5、两台服务器需要开放对应的端口,如本例的10606和10607

firewall-cmd --zone=public --add-port=10606/tcp –permanent

firewall-cmd --permanent --zone=public --list-ports

firewall-cmd –reload

firewall-cmd --zone=public --query-port=10606/tcp

6、在两台数据库分别创建连接对方数据库的同义词synonym

A服务器

create synonym dblink_133_tb2 for testdb2@ol_gbase2:tb2;

select * from dblink_133_tb2;


B服务器

create synonym dblink_131_tb1 for testdb1@ol_gbase1:tb1;

select * from dblink_131_tb1;


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论