使用Oracle SQL(PL / SQL)创建分布式数据库

时间:2019-11-17 22:56:05

标签: database oracle plsql distributed

我必须使用Oracle PL / SQL创建一个分布式数据库,但是我不确定从哪里开始,也找不到关于它的任何教程。这是在实验室中进行的,因此全部都在本地环境中,我将在一台计算机上启动3个VM。我们正在使用以下预构建的VM:https://www.oracle.com/database/technologies/databaseappdev-vm.html

2 个答案:

答案 0 :(得分:1)

“分布式数据库”的含义范围很广。可能是

  • 数据库链接以在它们之间进行通信
  • REST
  • 使用AQ的队列基础设施

所以这实际上取决于您所追求的。但是假设数据库链接,那么第一件事就是知道用于连接远程数据库的网络机制。例如,如果您可以这样做:

sqlplus scott/tiger@some_other_database

这意味着在$ ORACLE_HOME / network / admin / tnsnames.ora文件中定义了“ some_other_database”。这意味着在数据库中 ,您现在可以执行以下操作:

SQL> create database link blah
2 connect to scott
3 identified by tiger
4 using 'some_other_database'
5 /

Database link created.

SQL> select * from dual@blah;

“ blah”将使用SCOTT用户名和密码连接到“ some_other_database”,并从当前数据库访问远程数据库。

答案 1 :(得分:0)

我不知道您为什么必须使用PL / SQL以及您的要求是什么,所以我建议您研究一下Oracle Active Data Guard和/或Oracle GoldenGate。如果需要分配负载,这两种产品都是坚如磐石。

我认为您实际上需要一些CDC(更改数据捕获)功能吗?

以下是它们的摘要: https://www.oracle.com/technetwork/database/features/availability/dataguardgoldengate-096557.html

ADG可以很好地分布读取负载,但是GG可以对完全分布的负载执行多路同步。

只要用于开发/教育,我相信该软件是免费的。

如果您希望动态快速地进行操作,那么在PL / SQL中创建自定义CDC并不有趣。我很多年前做过/尝试过一次。它变得越来越复杂。

相关问题