0

For a project I need to duplicate an entire (live) Oracle Database with APEX and 1 application from a production server to a development server. Searching the internet brought me to using RMAN for this, but the problem is: the production server is not in ARCHIVELOGMODE, so RMAN won't work.

SQL Developer is confusing to me, as I can't seem to make it copy the entire database; only table data. It won't create the tables themselves.

Is there any way at all to do what I want without RMAN tool?

Any help would be greatly appreciated, as for now I'm stuck on this, seemingly simple, task before I can continue my project.

EDIT:

Okay guys, I fixed it myself. Opened up SQL Developer and manually created a tablespace with the same name as the live database. Re-used it's datafile for the tablespace. Then did a Copy Database on tablespace level from the live to the development server. Finally imported the APEX application and voilá! It works!

5
  • 1
    A production database that is not running archivelog mode can not be taken seriously. Have that fixed by the DBA and ask for help by the DBA for this. Other method is backup/restore offline clone. Commented May 9, 2014 at 8:33
  • Thanks for the comment. The database was created / set up by the previous project group. Now that my group took over, technically I am the DBA. But I can't just take the database offline to fix it. Commented May 9, 2014 at 8:49
  • 2
    Use DataPump (expdp from the commandline or the dbms_datapump through SQL) Commented May 9, 2014 at 8:57
  • @Harold Holsappel if this is the way your company works, they are in big risc. Looking at the question you asked, you can not take responsibility for this task as you are not a dba. Commented May 9, 2014 at 10:17
  • I know, but maybe I should explain that this is not a company, but an external assignment from my university. this kind of assignment is known as a 'minor' in Holland. The previous group of students made this mess, so now my group of students has to fix and improve it. Commented May 12, 2014 at 10:03

1 Answer 1

1

The way to work on depends if you can stop the database every time you need to copy the DB.

If Yes I propose two methods:

a) Perform a cold backup -need to stop the db and no archivelog required- and duplicate the database from the backup

b) Stop the database, copy the datafiles, controlfile, redo logs and spfile to the destination server and respect the paths. The new DB will start

If you cannot stop the db you may need to duplicate the date in a logical way, that's kind of data migration:

1) Create the Dev DB

2) Create the tablespace structure in the dest DB

3) Copy the data using create table as select over db link, export/import datapump... But this way can be complex if you want to move a huge number of objects.

Hope it helps

Sign up to request clarification or add additional context in comments.

1 Comment

Ah I see you wrote the solution in here as well, just as I fixed it. Marked as answer cause it's basically the same as what I ended up doing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.