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

如何在Oracle中的远程表空间上创建分区?,oracle,partitioning,Oracle,Partitioning,我是Oracle的noob,是否可以使用db link将表分区到远程服务器?有可能吗 我正在尝试这样的事情: CREATE TABLE Test ( TestID integer not null, Name varchar2(20) not null ) PARTITION BY LIST (TestID) (PARTITION testPart1 VALUES (1) TABLESPACE tbspc1, PARTITION

我是Oracle的noob,是否可以使用db link将表分区到远程服务器?有可能吗

我正在尝试这样的事情:

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

谢谢

很难说有些事情是不可能的,但是根据CREATE TABLE的语法图,这看起来是不可能的。对于select语句,您可以看到dblink语法@dblink:但是对于分区存储,没有这样的远程语法:

很难说有什么是不可能的,但是根据CREATE TABLE的语法图,这看起来是不可能的。对于select语句,您可以看到dblink语法@dblink:但是对于分区存储,没有这样的远程语法:

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

数据库是数据和元数据的物理存储。您使用的磁盘数量和磁盘位置由管理人员决定。你可以把索引放在一个地方,把数据放在另一个地方;您可以将一些数据放在本地驱动器上,也可以将一些数据放在已安装的驱动器上。那是一个数据库

实例是访问数据库并使其能够查询、写入、更新等的内存结构和计算机进程

当你说@DB_LINK时。。。你说的是一组内存和cpu进程

当你说表空间时,你是说在那些文件上,在那些磁盘上

如果您想将数据存储在@dblink存储数据的相同驱动器上,请装载该驱动器并在那里构建一个新的表空间


如果您试图打开包含多个实例的数据库,则称为RAC,这有点过头了 不,那不行。您将实例与数据库混淆

数据库是数据和元数据的物理存储。您使用的磁盘数量和磁盘位置由管理人员决定。你可以把索引放在一个地方,把数据放在另一个地方;您可以将一些数据放在本地驱动器上,也可以将一些数据放在已安装的驱动器上。那是一个数据库

实例是访问数据库并使其能够查询、写入、更新等的内存结构和计算机进程

当你说@DB_LINK时。。。你说的是一组内存和cpu进程

当你说表空间时,你是说在那些文件上,在那些磁盘上

如果您想将数据存储在@dblink存储数据的相同驱动器上,请装载该驱动器并在那里构建一个新的表空间


如果您试图打开包含多个实例的数据库,则称为RAC,这有点过头了 也许以下是一个合理的起点:

在总公司有一个数据库来包含公共数据

在每个分支机构都有一个本地数据库,用于存储分支机构特定的数据,并带有到总部数据库的链接,以访问公共数据

为了帮助消除中央数据库故障或通信中断时可能发生的单点故障,您可以尝试将公共数据从中央数据库复制到分支数据库,以便每个分支都有一个公共数据的完整副本,该副本可以按照某种定期计划进行更新


分享和享受。

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

在总公司有一个数据库来包含公共数据

在每个分支机构都有一个本地数据库,用于存储分支机构特定的数据,并带有到总部数据库的链接,以访问公共数据

为了帮助消除中央数据库故障或通信中断时可能发生的单点故障,您可以尝试将公共数据从中央数据库复制到分支数据库,以便每个分支都有一个公共数据的完整副本,该副本可以按照某种定期计划进行更新


分享和享受。

好的,你为什么要这样做?事实上我不确定。我的问题是,在大学里,我有一个设计和实现分布式系统的任务,但讲课太差了,我不知道从哪里开始。我们需要为一家有2个分公司的公司实现这个系统,这些分公司应该使用分布式数据库。一些数据应该是通用的,例如客户表,以及一些不应该分发的内部数据。我不知道从哪里开始。你可以使用什么技术?设计有意义,实现。。。哇!是否可以在分支中更新公共数据。。。两个分支?您需要确保代理项键不会发生冲突。。。教授可能希望您使用guid,但它们速度慢,并且可能会冲突…使用序列。一个分支全部从1步骤2开始,另一个分支全部从2步骤2开始。你可以在所有的桌子上都这样做,即使是他说的没有共享的桌子。这没有什么害处,如果他们改变主意,就可以合并。两个分支都可以更新公共数据,您处于一种称为多主机的情况,这总是需要

重新定义业务以定义管理冲突的规则。你走进一根树枝,你妻子走进另一根树枝。。。你们两人都更新了地址,因为你们搬家了,但其中一人的地址有点不同/错误。哪一个应该赢=是正确的记录。好吧,你为什么要这样做?实际上我不确定。我的问题是,在大学里,我有一个设计和实现分布式系统的任务,但讲课太差了,我不知道从哪里开始。我们需要为一家有2个分公司的公司实现这个系统,这些分公司应该使用分布式数据库。一些数据应该是通用的,例如客户表,以及一些不应该分发的内部数据。我不知道从哪里开始。你可以使用什么技术?设计有意义,实现。。。哇!是否可以在分支中更新公共数据。。。两个分支?您需要确保代理项键不会发生冲突。。。教授可能希望您使用guid,但它们速度慢,并且可能会冲突…使用序列。一个分支全部从1步骤2开始,另一个分支全部从2步骤2开始。你可以在所有的桌子上都这样做,即使是他说的没有共享的桌子。这没有什么害处,如果他们改变主意,就可以合并。这两个分支都可以更新公共数据,您处于一种称为“多主机”的情况,这总是需要业务定义管理冲突的规则。你走进一根树枝,你妻子走进另一根树枝。。。你们两人都更新了地址,因为你们搬家了,但其中一人的地址有点不同/错误。哪一个应该赢=是正确的记录。好的,谢谢,你能就我的问题的评论提供一些建议吗?你可以按照Stephanie的建议让本地表空间使用远程文件,或者让整个表远程化。但很可能您需要重新定义分布式。管理单个数据库是很困难的,分割数据将是复杂而缓慢的。创建表格和数据很容易;确保您永远不会丢失数据是困难的部分。这需要日志记录、监控、多个备份、灾难计划等。如果一家公司想要更好的性能和冗余,那么RAC和data guard等技术就是您应该研究的。将一个分支作为主要分支,另一个作为备用分支。不,这不是一家真正的公司,这是我的课程,我需要设计分布式数据库,困难并不重要。问题是我不知道从哪里开始。我应该在一台服务器上有一个db,在另一台服务器上通过dblink创建一个视图吗?但这个案例根本没有提供任何分布。这是我的水平,只是基础。我需要踢一脚。好的,谢谢,你能就我的问题提出一些建议吗?你可以按照Stephanie的建议让本地表空间使用远程文件,或者让整个表都远程。但很可能您需要重新定义分布式。管理单个数据库是很困难的,分割数据将是复杂而缓慢的。创建表格和数据很容易;确保您永远不会丢失数据是困难的部分。这需要日志记录、监控、多个备份、灾难计划等。如果一家公司想要更好的性能和冗余,那么RAC和data guard等技术就是您应该研究的。将一个分支作为主要分支,另一个作为备用分支。不,这不是一家真正的公司,这是我的课程,我需要设计分布式数据库,困难并不重要。问题是我不知道从哪里开始。我应该在一台服务器上有一个db,在另一台服务器上通过dblink创建一个视图吗?但这个案例根本没有提供任何分布。这是我的水平,只是基础。我需要踢一脚。好的,谢谢Stephanie,如果我需要分布式数据库,我应该从哪里开始?好的,谢谢Stephanie,如果我需要分布式数据库,我应该从哪里开始?建立本地数据库的最佳方式是什么?我应该使用快照还是其他什么?我希望每个分支机构都会在本地安装数据库软件,该软件与总部使用的产品相同,以便复制等尽可能无缝地工作。然后将“核心”数据复制到每个分支。Central office针对中央数据库进行实时工作,每个分支机构都针对自己的数据库运行。好的,我正在使用Oracle并阅读有关复制必要数据的物化VIE的内容。但是我如何使用它进行同步,例如,如果分支中的数据发生了更改,我可以将其与全局数据库进行同步吗?如何进行同步?尝试一下,这可能会有所帮助。拥有本地数据库的最佳方法是什么?我应该使用快照还是其他什么?我希望每个分支机构都会在本地安装数据库软件,该软件与总部使用的产品相同,以便复制等尽可能无缝地工作。然后将“核心”数据复制到每个分支。Central office针对中央数据库进行实时工作,每个分支机构都针对自己的数据库运行。好的,我正在使用Oracle并阅读有关复制必要数据的物化VIE的内容。但是怎么做呢 我是否可以使用它进行同步,例如,如果分支中的数据发生了更改,我是否可以将其与全局数据库进行同步,以及如何进行同步?请尝试,这可能会有所帮助。