oracle10g创建数据库

Posted

技术标签:

【中文标题】oracle10g创建数据库【英文标题】:creating database in oracle10g 【发布时间】:2010-09-14 02:21:16 【问题描述】:

mysql 中,我只需编写命令即可轻松创建新数据库。

Mysql>create database database_name;

在 oracle 10g 中,默认数据库名称是 XE。任何人都可以告诉命令创建除 XE 之外的新数据库吗?我正在使用 Linux(fedora-12)。

【问题讨论】:

【参考方案1】:

Oracle 不是我的专业领域,所以我可能错了,但如果我没记错的话,Oracle 并不认为 database 与其他 RDBMS 产品(如 SQL Server 或 MySQL)的含义完全相同。

对于 Oracle 数据库,术语数据库用于指代实际数据库引擎的实例,而不是像上述其他产品那样指代一组相关对象(表等)。

我相信对象之间的关系在 Oracle 术语中称为schema。换句话说,数据库(引擎)的一个实例可以提供许多模式(相关对象组)。

例如,假设您有一个正在运行的 MySQL 实例,它有两个 MySQL 数据库,称为 Orders 和 Accounting,在 Oracle 下,它们将表示为“Orders”模式和“Accounting”模式,这两个模式都将由一个名为“XE”的数据库实例

如上所述,Oracle 不是我的强项,因此明智的做法是确认我在 Oracle 文档中所说的内容,这也比我就使用模式的细节提出的建议更好

【讨论】:

你非常接近我的观点......为了更清楚,我发布了这个问题。因此,在 oracle 的情况下,除了默认的 XE 之外,没有创建新数据库(我是这么想的)。【参考方案2】:

为了提供正确的答案,需要知道您的数据库是驻留在您正在使用的同一台机器上,还是您正在使用您的 Linux 机器作为客户端连接到不同的数据库服务器。

假设您拥有“系统”权限帐户来登录数据库,我将提供以下答案。 (我省略了连接数据库的步骤,因为它会根据您的数据库所在的位置而有所不同)

步骤 01 以“系统”用户身份登录(默认密码为“管理员”)

sqlplus system@xe

步骤 02

SQL> create user <schema_name>  identified by <password>;

步骤03

SQL> GRANT CONNECT, RESOURCE to <schema_name>  ;

(此步骤将有助于为新创建的用户提供操作级别的权限)

步骤 04 使用新用户登录数据库

步骤 05 创建你想要的表

【讨论】:

如上所述,Oracle 不使用术语“数据库”来区分单独的实体。它使用术语“模式”来表示一个物理数据库中的不同对象。用户“系统”是可以访问整个数据库的超级用户。为了正常访问不同的实体,我们创建不同的模式用户,这样特定用户只能看到在该模式中创建的表和其他对象

以上是关于oracle10g创建数据库的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 10g中如何创建表

Oracle 10g中如何创建表

Oracle 10g中如何创建表

如何在oracle10G中创建表空间

oracle 10g 数据库与客户端冲突导致实例创建无监听问题

oracle 10g 系统数据库USERS01.DBF增长过大,能不能删除重建?