views:

2625

answers:

2

I've just installed Oracle XE in Ubuntu. Is there any way to create new databases, besides the one that comes with the installation, preferably from the command line so that I can do it from a script? It would be nice to have multiple databases started in the same time, if possible.

If it is not possible to create new databases, then maybe there is a way to "clean up" the default database? What I need is to be able to "start over" at any time with a fresh database.

I don't have experience with Oracle administration, so any hints, links, suggestions are welcome.

Thanks.

+1  A: 

No. It's not possible to install multiple XE instances. Oracle XE only allows one instance by machine from the Oracle XE home page you can read:

Oracle Database XE can be installed on any size host machine with any number of CPUs (one database per machine), but XE will store up to 4GB of user data, use up to 1GB of memory, and use one CPU on the host machine.

To add more instances you can:

Anyway, in most of the cases only one instance is enough for all the scenarios. Explain why do you need more instance to assistance about solutions.

To recreate the Xe instance, i thing the best and easy way is uninstall i and install again.

FerranB
+11  A: 

I don't know if you are aware of this, but most beginners confuse this about Oracle:

In Oracle, a database means a collection of data files and control files stored on disk. You can have only one database with Oracle XE. A database is mounted by a Oracle instance, which means all the background daemons and programs that you can see with ps.

You probably want a schema, which is what other DBMS products (e.g. MySQL) often refer to as a "database". IIRC there was no limit on the number of schemas in Oracle XE. You can create those from the APEX UI that comes with XE, or from command line (with CREATE USER -- again, confusingly, a user and schema are largely synonymous in this case).

I recommend reading the Concepts guide from Oracle documentation, most of this basic stuff (e.g. how things are called in Oracle-lingo) is covered there.

andri
You are right. I was not aware of the difference. I see that if I "CREATE USER ..." then I gen separate working contexts for each new user. This is what I needed. And if I "DROP USER ... CASCADE" then the user and its context are removed. Thanks!
Gabi