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

问题描述:

我是Oracle的noob,是否可以使用db链接将表分区到远程服务器?有没有可能?如何在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 [email protected]); 

谢谢

+1

好的,你为什么要这么做? – 2010-11-16 21:13:25

+0

其实我不确定。我的问题是,在uni中,我有一个设计和实现分布式系统的任务,但讲课很差,我不知道从哪里开始。我们需要为拥有2个分支机构的公司实施系统,这些分支机构应该使用分布式数据库。一些数据应该是常见的,例如客户表和一些不应该分发的内部数据。我不知道从哪里开始。 – Burjua 2010-11-16 21:19:30

+0

您允许使用哪些技术? – 2010-11-16 22:16:39

这是很难说的东西是不可能的,但是基于语法图的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

+0

好的,谢谢,你能告诉我一些问题的评论吗? – Burjua 2010-11-16 21:24:40

+1

您可以按照Stephanie的建议让本地表空间使用远程文件,也可以使整个表远程。但很可能你需要重新定义“分布式”。管理单个数据库非常困难,拆分数据将变得复杂和缓慢。创建表格和数据很简单;确保你永远不会失去数据是困难的部分。这需要日志记录,监控,多个备份,灾难计划等。如果公司希望获得更好的性能和冗余性,那么RAC和数据守卫等技术就是您应该关注的内容。让一个分支成为主要分支,另一个分支待命。 – 2010-11-16 22:04:18

+0

不,这不是一个真正的公司,这是我的课程,我需要设计分布式数据库,困难并不重要。问题是我不知道从哪里开始。我应该有一个数据库在一台服务器上,并通过dblink创建另一个视图?但这种情况根本不提供任何分配。这是我的水平,只是基础知识。我需要踢一脚。 – Burjua 2010-11-16 22:22:54

不,这不起作用。您将实例与数据库混淆。

数据库是数据和元数据的物理存储。您使用的磁盘数量和磁盘的位置已启用以进行管理。你可以把索引放在一个地方,数据放在另一个地方你可以把一些数据放在本地驱动器上,一些数据放在安装的驱动器上这是一个数据库。

一个实例是内存结构和访问数据库,并有可能对其进行查询,写微博,更新计算机程序等

当你说@DB_LINK ......你说“那组内存和cpu进程”。

当你说表空间,你说:“这些文件,在这些磁盘上”

如果你想存储你的@dblink被存储的数据,然后安装该驱动器,并建立一个在同一个硬盘数据新的表空间在那里。

如果您尝试使用多个实例打开数据库,那就称为RAC,它有点头大。 < - 我这样说是因为在你考虑RAC之前你必须掌握这些概念。

+0

好的,谢谢Stephanie,如果我需要分配DB,我应该从哪里开始? – Burjua 2010-11-16 21:29:47

也许下面将是一个合理的起点:

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

  2. 在每个分支都有一个“本地”数据库,用于存储分支专用数据,以及指向“家庭办公室”数据库的链接以访问公共数据。

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

分享和享受。

+0

拥有本地数据库的最佳方式是什么?我应该使用快照还是其他的东西? – Burjua 2010-11-17 21:32:04

+0

我希望每个分支都有本地安装的数据库软件(与“家庭办公室”中使用的产品相同),以便复制等尽可能无缝地工作。然后将“核心”数据复制到每个分支。*办公室的工作是针对*数据库的,每个分支都针对自己的数据库运行。 – 2010-11-17 22:52:20

+0

好吧,我正在使用Oracle并阅读关于重复必要数据的物化过程。但是我怎样才能使用它进行同步呢,例如如果数据在分支中被更改,我可以将它与全局数据库同步,以及如何执行它? – Burjua 2010-11-17 22:59:24