Aufgabe: Eine Datenbank 10g unter Windows 2003 wird nach Linux umgezogen und auf 11g gehoben
Ablauf:
Struktur der Datenbank Files anzeigen und merken
rman rman> CONNECT target / RMAN> report schema; Kontrolldatei der Zieldatenbank wird anstelle des Recovery-Katalogs verwendet Bericht: Datenbankschema Liste mit permanenten Datendateien =========================== Dateigr÷▀e (MB) Tablespace RB-Segmente Datendateiname ---- -------- -------------------- ------- ------------------------ 1 510 SYSTEM *** C:\ORACLE\ORADATA\PRIM01\SYSTEM01.DBF 2 40 UNDOTBS1 *** C:\ORACLE\ORADATA\PRIM01\UNDOTBS01.DBF 3 280 SYSAUX *** C:\ORACLE\ORADATA\PRIM01\SYSAUX01.DBF 4 170 USERS *** C:\ORACLE\ORADATA\PRIM01\USERS01.DBF 5 440 PMDB_DAT1 *** C:\ORACLE\ORADATA\PRIM01\PMDB_DAT1.DBF 6 510 PMDB_NDX1 *** C:\ORACLE\ORADATA\PRIM01\PMDB_NDX1.DBF 7 250 PMDB_LOB1 *** C:\ORACLE\ORADATA\PRIM01\PMDB_LOB1.DBF Liste mit temporõren Dateien ======================= Dateigr÷▀e (MB) Tablespace MAX. Gr÷▀e (MB) Name von temp.Datei ---- -------- -------------------- ----------- -------------------- 1 56 TEMP 32767 C:\ORACLE\ORADATA\PRIM01\TEMP01.DBF
Textkopie des SPFiles erzeugen
sqlplus / AS sysdba SQL> CREATE pfile='c:\temp\initprim01.ora' FROM spfile;
Textkopie vom Kontrolfile erstellen
sqlplus / AS sysdba SQL> ALTER database backup controlfile TO trace AS 'C:\temp\control_prim01.ctl';
Umkopieren preUpgrade utlu112i Script, das preUpgrade Script MUSS zuvor auf der unter 10g gestarteten DB laufen!
Für das Script see „How to Download and Run Oracle's Database Pre-Upgrade Utility (Doc ID 884522.1)“
sqlplus>@utlu112i.SQL ORA-04023: Objekt SYS.STANDARD konnte nicht validiert oder autorisiert werden
⇒ NICHT auf dem Ziel Datenbank laufen lassen ⇒> Im Quellsystem muss erst alles gefixt werden!
sqlplus>@utlu112i.SQL ********************************************************************** Miscellaneous Warnings ********************************************************************** WARNING: --> Database is using a timezone file older than version 11. .... After the RELEASE migration, it IS recommended that DBMS_DST PACKAGE .... be used TO upgrade the 10.2.0.4.0 database timezone version .... TO the latest version which comes WITH the NEW RELEASE.
⇒ Timezone Problem muss gelößt werden, sonst startet 11g upgrade nicht!
sqlplus>shutdown IMMEDIATE
C:\oracle\oradata\prim01>pscp *.DBF oracle@192.168.178.32:/opt/oracle/oradata/prim01
*.control_files='/opt/oracle/oradata/prim01/control01.ctl','/opt/oracle/oradata/prim01/control02.ctl' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='prim01' *.db_recovery_file_dest='/opt/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.job_queue_processes=2 *.nls_language='GERMAN' *.nls_territory='GERMANY' *.open_cursors=300 *.pga_aggregate_target=95420416 *.processes=150 *.remote_login_passwordfile='EXCLUSIVE' *.sga_max_size=241172480 *.sga_target=241172480 *.undo_management='AUTO' *.undo_tablespace='UNDOTBS1'
oracle@venus:/opt/oracle$ mkdir flash_recovery_area
sqlplus / AS sysdba SQL> startup nomount pfile='/home/oracle/initprim01.ora'
CREATE CONTROLFILE REUSE DATABASE "PRIM01" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/opt/oracle/oradata/prim01/REDO01.LOG' SIZE 50M, GROUP 2 '/opt/oracle/oradata/prim01/REDO02.LOG' SIZE 50M, GROUP 3 '/opt/oracle/oradata/prim01/REDO03.LOG' SIZE 50M DATAFILE '/opt/oracle/oradata/prim01/SYSTEM01.DBF', '/opt/oracle/oradata/prim01/UNDOTBS01.DBF', '/opt/oracle/oradata/prim01/SYSAUX01.DBF', '/opt/oracle/oradata/prim01/USERS01.DBF', '/opt/oracle/oradata/prim01/PMDB_DAT1.DBF', '/opt/oracle/oradata/prim01/PMDB_NDX1.DBF', '/opt/oracle/oradata/prim01/PMDB_LOB1.DBF' CHARACTER SET UTF8 ;
sqlplus>ALTER TABLE registry$database ADD (tz_version NUMBER); sqlplus>UPDATE registry$database SET tz_version = 11;
sqlplus>@?/rdbms/admin/catupgrd.sql sqlplus>startup sqlplus>@?/rdbms/admin/utlu112s.sql