Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: error creating database from template ( NT/9.0.1 to linux/9.2.0.1.0)

Re: error creating database from template ( NT/9.0.1 to linux/9.2.0.1.0)

From: Howard J. Rogers <howardjr2000_at_yahoo.com.au>
Date: Sat, 5 Apr 2003 04:10:54 +1000
Message-ID: <fKjja.7036$1s1.92109@newsfeeds.bigpond.com>

"Hemal Pandya" <h00_at_hotmail.com> wrote in message news:wuJia.306725$L1.87004_at_sccrnsc02...
> Adding <reuse>false</reuse> to <ControlfileAttributes> did not help, I
> get the exact same error. I even tried copying the control files
> (created during the successful creation on w2k) to the directory
> specified in the dbc file but that did not help either.
>
> I am quite sure it is something simple, transferring databse from one
> machine to another cannot be this hard.

It can be when you are trying to transfer a database from one completely different platform, environment and OS to another!!

Oracle's data files are binary, and work only on the platform they were created on. NT (ie, NT, W2K or XP) ones will not, ever, be transferrable to a Linux or Unix box, nor vice versa. Neither will a Solaris datafile transfer to an HP Unix platform. It's to do with things like byte ordering, amongst others.

The templates that you see when you run the database configuration assistant are not merely scripts to create a database, but actually contain the datafiles. That's why (1) the templates are huge (2) Oracle warns you that choosing the "New Database" option (which create a new database from scratch, and doesn't use a template) will take a considerably longer time to work than choosing the 'Warehouse' or 'OLTP' templates and (3) when creation starts the dialog box informs you it is 'cloning' the template files.

Therefore, a template created on one platform cannot be transferred to another, because it implies the transfer of data files. Which is never possible.

Cross-platform transfers can only be done via export and import. And a full import won't work with an NT to Unix transfer either, because the export dump file hard-codes the paths to the data files, so it contains things like 'create tablespace BLAH datafile C:\xxxx\'... and Unix/Linux won't have a clue what 'c:\' is.

So you'll have to pre-create the tablespaces by hand on the new platform and only then run a full import (if the tablespaces already exist, the import process just skips the bit of the dump file that says 'create tablespace', and so the 'c:\...' problem is avoided).

Regards
HJR Received on Fri Apr 04 2003 - 12:10:54 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US