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

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

Mysql>create database database_name;

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

【问题讨论】:

    标签: sql mysql oracle10g sqlplus


    【解决方案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 不使用术语“数据库”来区分单独的实体。它使用术语“模式”来表示一个物理数据库中的不同对象。用户“系统”是可以访问整个数据库的超级用户。为了正常访问不同的实体,我们创建不同的模式用户,这样特定用户只能看到在该模式中创建的表和其他对象
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-16
    • 2013-12-13
    • 2012-08-23
    • 2012-08-15
    • 2015-08-01
    • 2011-08-09
    • 2015-09-26
    相关资源
    最近更新 更多