Oracle 11g - 创建数据库失败?

A T*_*A T 5 oracle oracle-11g-r2

我刚刚安装了 Oracle 11g 并将其链接到 SQL Developer。

我想为我的 django 安装创建一个数据库。

CREATE database 'django';

Error starting at line 1 in command:
create database 'django'
Error at Command Line:1 Column:0
Error report:
SQL Error: ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted
01501. 00000 -  "CREATE DATABASE failed"
*Cause:    An error occurred during create database
*Action:   See accompanying errors.
Run Code Online (Sandbox Code Playgroud)

(我也试过没有'')

为什么这不起作用?

是否有另一种方式来创建数据库?

Lei*_*fel 6

这些平台之间的主要区别之一是 MySQL 中的数据库是 Oracle 中的模式。由于 Oracle 中的架构也是用户,因此您要查找的命令是CREATE USER. 我强烈建议您在继续之前阅读Oracle 概念指南。您可能还会发现有关使用 SQL Developer 进行 MySQL>>Oracle 迁移的文档很有用。以下是与您的情况相关的部分:

将 MySQL 数据库迁移到 Oracle 时,SQL Developer 将每个 MySQL 数据库映射到 Oracle 中的一个表空间。数据库对象(例如表、索引和视图)存储在相应的表空间中,并从拥有它们的用户的 Oracle 模式中引用。

从错误消息的角度来看,要提取的突出部分是“ORA-01100:数据库已经安装”。这表示已经创建并挂载了一个数据库。它也可能是开放的。这是一个重现您的问题的示例,打开数据库(如果它已经打开,则可能不需要)并创建一个 django 用户。

SQL> create database django;
create database django
*
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted


SQL> SELECT status FROM v$instance;

STATUS
------------
MOUNTED

SQL> ALTER DATABASE OPEN;

Database altered.

SQL> SELECT status FROM v$instance;

STATUS
------------
OPEN

SQL> create database django;
create database django
*
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted


SQL> CREATE USER django IDENTIFIED BY "No More ORA-001100.";

User created.
Run Code Online (Sandbox Code Playgroud)

您还应该分配权限并创建一个 django 表空间,将其设置为 django 的默认表空间。


Uwe*_*sse 4

在命令行上创建数据库并不那么容易。在这里查看描述: http://download.oracle.com/docs/cd/E11882_01/server.112/e17120/create003.htm#CIAEJDBE

对于初学者来说,使用 DBCA(数据库配置助手)创建数据库要容易得多。