数据库、模式和表空间的使用

时间:2022-08-01 12:54:18

we are working on data migration of sql server 2000 to Oracle 11g. Sql server has 4 databases which has to be migrated. These 4 databases are used for 6 different standalone applications. Oracle is installed in Unix server. Can we create a single database and different schemas for each sql server database or do I need to create multiple databases or can I use single database, single schema and multiple tablespaces or any other procedure to maintain the performance?

我们正在进行sql server 2000到Oracle 11g的数据迁移。Sql server有4个数据库需要迁移。这4个数据库用于6个不同的独立应用程序。Oracle安装在Unix服务器中。我们是否可以为每个sql server数据库创建一个单独的数据库和不同的模式,或者我是否需要创建多个数据库,或者我是否可以使用单个数据库、单个模式和多个表空间或任何其他过程来维护性能?

1 个解决方案

#1


5  

You can create multiple Oracle databases. Or you can create a single database with multiple schemas. Or you can create a single database with a single schema an put everything there if all your object names are unique.

您可以创建多个Oracle数据库。或者可以创建一个具有多个模式的数据库。或者,如果您的所有对象名称都是惟一的,那么您可以使用单个模式创建一个数据库,并将所有内容都放在其中。

The most similar approach would generally be to create a single Oracle database with four schemas. That gives you four separate namespaces in case you have objects in two different SQL Server databases that have the same name. And a single Oracle database per server generally gives the best performance since you're not allocating multiple SGAs and PGAs in memory or running multiple sets of background processes.

最类似的方法通常是创建一个具有四个模式的Oracle数据库。如果在两个具有相同名称的不同SQL Server数据库中有对象,那么这将为您提供四个独立的名称空间。每个服务器上的一个Oracle数据库通常会提供最好的性能,因为您没有在内存中分配多个SGAs和PGAs,也没有运行多组后台进程。

Tablespaces in Oracle are a completely separate concept. They have nothing to do with namespaces or permissions. They simply allow you to determine which objects reside in which physical data files. Barring something extremely unusual, tablespaces have nothing to do with performance. You could have the objects in all four schemas use a single tablespace. Or you could create four separate tablespaces. Or you could create multiple tablespaces that each have objects from different schemas. My guess is that the simplest approach is to create one tablespace per schema so that you can manage each application's disk space allocation separately.

甲骨文中的表空间是一个完全不同的概念。它们与名称空间或权限无关。它们只允许您确定哪些对象驻留在哪些物理数据文件中。除了一些非常不寻常的东西,表空间与性能无关。您可以让所有四个模式中的对象使用一个表空间。或者可以创建四个单独的表空间。或者可以创建多个表空间,每个表空间都有来自不同模式的对象。我的猜测是,最简单的方法是为每个模式创建一个表空间,这样您就可以分别管理每个应用程序的磁盘空间分配。

#1


5  

You can create multiple Oracle databases. Or you can create a single database with multiple schemas. Or you can create a single database with a single schema an put everything there if all your object names are unique.

您可以创建多个Oracle数据库。或者可以创建一个具有多个模式的数据库。或者,如果您的所有对象名称都是惟一的,那么您可以使用单个模式创建一个数据库,并将所有内容都放在其中。

The most similar approach would generally be to create a single Oracle database with four schemas. That gives you four separate namespaces in case you have objects in two different SQL Server databases that have the same name. And a single Oracle database per server generally gives the best performance since you're not allocating multiple SGAs and PGAs in memory or running multiple sets of background processes.

最类似的方法通常是创建一个具有四个模式的Oracle数据库。如果在两个具有相同名称的不同SQL Server数据库中有对象,那么这将为您提供四个独立的名称空间。每个服务器上的一个Oracle数据库通常会提供最好的性能,因为您没有在内存中分配多个SGAs和PGAs,也没有运行多组后台进程。

Tablespaces in Oracle are a completely separate concept. They have nothing to do with namespaces or permissions. They simply allow you to determine which objects reside in which physical data files. Barring something extremely unusual, tablespaces have nothing to do with performance. You could have the objects in all four schemas use a single tablespace. Or you could create four separate tablespaces. Or you could create multiple tablespaces that each have objects from different schemas. My guess is that the simplest approach is to create one tablespace per schema so that you can manage each application's disk space allocation separately.

甲骨文中的表空间是一个完全不同的概念。它们与名称空间或权限无关。它们只允许您确定哪些对象驻留在哪些物理数据文件中。除了一些非常不寻常的东西,表空间与性能无关。您可以让所有四个模式中的对象使用一个表空间。或者可以创建四个单独的表空间。或者可以创建多个表空间,每个表空间都有来自不同模式的对象。我的猜测是,最简单的方法是为每个模式创建一个表空间,这样您就可以分别管理每个应用程序的磁盘空间分配。