debugMinor
Oracle 11g - Create Database fails?
Viewed 0 times
11gfailscreatedatabaseoracle
Problem
I've just installed Oracle 11g and linked it to SQL Developer.
I want to create a database for my django install.
(I have also tried without the '')
Why isn't this working?
Is there another way I'm meant to create databases?
I want to create a database for my django install.
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.(I have also tried without the '')
Why isn't this working?
Is there another way I'm meant to create databases?
Solution
One of the key differences between these platforms is that a database in MySQL is a schema in Oracle. Since a schema in Oracle is also a user, the command you are looking for is
When migrating MySQL databases to Oracle, SQL Developer maps each
MySQL database to a tablespace in Oracle. Database objects, such as
tables, indexes and views are stored in the respective tablespaces and
are referenced from the Oracle schema for the user that owns them.
From the error message perspective, the salient part to pull out is "ORA-01100: database already mounted". This indicates that a database has already been created and mounted. It may also be open. Here is an example reproducing your issue, opening the database (which may not be necessary if it is already open) and creating a django user.
You should also assign permissions and create a django tablespace setting it as the default tablespace for django.
CREATE USER. I highly recommend that you read the Oracle Concepts Guide before continuing. You may also find this documentation on MySQL>>Oracle migrations using SQL Developer useful. Here is the part relevant to your situation:When migrating MySQL databases to Oracle, SQL Developer maps each
MySQL database to a tablespace in Oracle. Database objects, such as
tables, indexes and views are stored in the respective tablespaces and
are referenced from the Oracle schema for the user that owns them.
From the error message perspective, the salient part to pull out is "ORA-01100: database already mounted". This indicates that a database has already been created and mounted. It may also be open. Here is an example reproducing your issue, opening the database (which may not be necessary if it is already open) and creating a django user.
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.You should also assign permissions and create a django tablespace setting it as the default tablespace for django.
Code Snippets
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.Context
StackExchange Database Administrators Q#6018, answer score: 6
Revisions (0)
No revisions yet.