我必须使用Oracle PL / SQL创建一个分布式数据库,但是我不确定从哪里开始,也找不到关于它的任何教程。这是在实验室中进行的,因此全部都在本地环境中,我将在一台计算机上启动3个VM。我们正在使用以下预构建的VM:https://www.oracle.com/database/technologies/databaseappdev-vm.html
答案 0 :(得分:1)
“分布式数据库”的含义范围很广。可能是
所以这实际上取决于您所追求的。但是假设数据库链接,那么第一件事就是知道用于连接远程数据库的网络机制。例如,如果您可以这样做:
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并不有趣。我很多年前做过/尝试过一次。它变得越来越复杂。