我是Oracle中的菜鸟,是否可以使用数据库链接将表分区到远程服务器?它有可能吗?
我正在尝试这样的事情:
CREATE TABLE Test (
TestID integer not null,
Name varchar2(20) not null
)
PARTITION BY LIST (TestID)
(PARTITION testPart1 VALUES (1)
TABLESPACE tbspc1,
PARTITION testPart2 VALUES (2)
TABLESPACE tbspc2@RemoteServer);
谢谢
答案 0 :(得分:4)
不,那不行。您将实例与数据库混淆。
数据库是数据和元数据的物理存储。您使用的磁盘数量和磁盘位置已用于管理。您可以将索引放在一个位置,将数据放在另一个位您可以将一些数据放在本地驱动器上,一些数据放在已安装的驱那是一个数据库。
实例是访问数据库并使其可以查询,写入,更新数据库等的内存结构和计算机进程。
当你说@DB_LINK时...你说的是“那组内存和cpu进程”。
当你说Tablespace时,你会说“在那些文件上,在那些磁盘上”
如果要将数据存储在@dblink存储数据的相同驱动器上,请安装该驱动器并在那里构建新的表空间。
如果您尝试使用多个实例打开数据库,那就称为RAC并且它有点过头了。 < - 我这样说是因为在你考虑RAC之前必须掌握这些概念。
答案 1 :(得分:1)
很难说某些事情是不可能的,但基于CREATE TABLE的语法图,这看起来并不可能。对于select语句,您可以看到dblink语法(@dblink):http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_10002.htm#i2126073但是对于分区存储,没有这样的远程语法:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#CJADDEEH
答案 2 :(得分:1)
以下可能是一个合理的起点:
在“家庭办公室”设置一个数据库以包含公共数据。
在每个分支机构都有一个“本地”数据库来存储分支机构特定的数据,并带有指向“家庭办公室”数据库的链接以访问公共数据。
为了帮助消除在中央数据库出现故障或通信丢失时可能发生的“单点故障”,您可以尝试将公共数据从中央数据库复制到分支数据库,以便每个分支都有一份完整的公共数据副本,可以按照某种常规时间表进行更新。
分享并享受。