connect sys as sysdba alter database backup controlfile to trace;
(So the trace file has been generated in production in the path defined by init.ora. I copied this trace file in my new development server.) Then I copied init.ora file in my development server and changed the parameter file as required. Now I have given following command at development server:
connect sys as sysdba SQL> startup nomount ORACLE instance started. Total System Global Area 562634272 bytes Fixed Size 454176 bytes Variable Size 469762048 bytes Database Buffers 83886080 bytes Redo Buffers 8531968 bytes SQL> CREATE CONTROLFILE set DATABASE "AUDB" RESETLOGS ARCHIVELOG 2 MAXLOGFILES 5 3 MAXLOGMEMBERS 4 4 MAXDATAFILES 150 5 MAXINSTANCES 1 6 MAXLOGHISTORY 226 7 LOGFILE 8 GROUP 1 ( 9 'D:oracleoradataaudblog1log1a.rdo', 10 'D:oracleoradataaudblog2log1b.rdo' 11 ) SIZE 30M, 12 GROUP 2 ( 13 'D:oracleoradataaudblog1log2a.rdo', 14 'D:oracleoradataaudblog2log2b.rdo' 15 ) SIZE 30M, 16 GROUP 3 ( 17 'D:oracleoradataaudblog1log3a.rdo', 18 'D:oracleoradataaudblog2log3b.rdo' 19 ) SIZE 30M 20 -- STANDBY LOGFILE 21 DATAFILE 22 'D:oracleoradataaudbdatasys.dbf', 23 'D:oracleoradataaudbdataundo01.dbf', 24 'D:oracleoradataaudbdatagoll01.dbf', 25 'D:oracleoradataaudbdataindex01.dbf' 26 CHARACTER SET WE8ISO8859P1 27 ; CREATE CONTROLFILE set DATABASE "AUDB" RESETLOGS ARCHIVELOG * ERROR at line 1: ORA-01503: CREATE CONTROLFILE failed ORA-01565: error in identifying file 'D:oracleoradataaudbdatasys.dbf' ORA-27046: file size is not a multiple of logical block size OSD-04012: file size mismatch (OS 838868992)I decreased my db_block_size parameter value but got the same error. Please help.
Since the two servers are different OS platforms, you won't be able to copy your datafiles from the source server to the destination server. If you want to move data, you'll have to use either Transportable Tablespaces, the SQL*Plus COPY command, RMAN, or export/import to perform the move.
If you are not moving your datafiles at this time, you can remove the DATAFILE clause in your CREATE CONTROLFILE command.
This was first published in May 2007