如何在Oracle中的远程表空间上创建分区?

时间:2010-11-16 20:53:58

标签: oracle partitioning

我是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);

谢谢

3 个答案:

答案 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)

以下可能是一个合理的起点:

  1. 在“家庭办公室”设置一个数据库以包含公共数据。

  2. 在每个分支机构都有一个“本地”数据库来存储分支机构特定的数据,并带有指向“家庭办公室”数据库的链接以访问公共数据。

  3. 为了帮助消除在中央数据库出现故障或通信丢失时可能发生的“单点故障”,您可以尝试将公共数据从中央数据库复制到分支数据库,以便每个分支都有一份完整的公共数据副本,可以按照某种常规时间表进行更新。

  4. 分享并享受。