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创建数据库的主要内容,如果未能解决你的问题,请参考以下文章