我使用oracle作为我的数据库。
我对架构和数据库之间的概念感到困惑。我环顾四周,找不到任何明确定义的例子。
假设我们有QA,DEV和生产环境,并假设我有三个QA环境。在三个QA环境之间,它们通常会有不同的数据库或不同的架构吗?
假设这三种不同的QA环境在每个环境中都有不同的数据。假设我想创建一个新的第四个QA环境,并希望从已经存在的QA环境之一复制一个表(让我们调用此表foo
)(让我们称之为这个环境QA_1
)到新的QA环境(让我们称之为QA_NEW
)。我是否会将schema
表foo
从QA_1
复制到QA_NEW
,还是将database
表从QA_1
复制到{{1} }}?
答案 0 :(得分:0)
数据库是物理的(数据文件,块等)。 模式是数据库中逻辑存储对象(表,mviews等)的用户名(所有者)
在您的情况下,您有3个QA数据库(QA_1,QA_2 .. QA_N),每个数据库都有自己的模式 - 可能具有相同的模式名称(用户名)。您将data.schema.table复制到另一个database.schema.table
QA_1.myschema.foo - > QA_2.myschema.foo
你会说“Foo表存在于QA_1数据库中,并且属于'myschema'架构。”
答案 1 :(得分:0)
您需要将整个数据库复制到新环境,以便所有环境都匹配。
模式类似于命名空间。数据库可以有多个名称空间,您可能希望复制所有名称空间。