Problém 14:
Původní databáze verze 10.2.0.3 byla odzálohovaná a obnovená na jiném serveru, kde je nainstalován software verze 10.2.0.4.
Po startu databáze píše chyby. viz alert.log
Analýza:
Alert.log
==========
SMON: enabling cache recovery
Thu Apr 29 00:38:28 2010
Errors in file c:\oracle\admin\arbes\udump\test_ora_1868.trc:
ORA-30012: undo tablespace ‘UNDOTBS1’ does not exist or of wrong type
Thu Apr 29 00:38:28 2010
Error 30012 happened during db open, shutting down database
USER: terminating instance due to error 30012
Thu Apr 29 00:38:28 2010
Errors in file c:\oracle\admin\test\bdump\test_pmon_844.trc:
ORA-30012: Message 30012 not found; No message file for product=RDBMS, facility=ORA
Řešení:
ORA-30012: undo tablespace ‘UNDOTBS1’ does not exist or of wrong type
V případě, že databáze má nastavený undo management jako automatický a undo datový soubor není k dispozici, musí se nastavit na manual.
ORA-30012: undo tablespace ‘UNDOTBS1’ does not exist or of wrong type
startup upgrade
A poté spustit upgredovací skript ručně z sqlplus
@C:\oracle\ora102x64\RDBMS\ADMIN\catupgrd.sql
Jakmile skript doběhne zastavte databázi a nastartujte ji v normálníám režimu.
shutdown immediate
startup
Po startu, ale databáze vykazovala další chybu, tentokrát to značilo na problém s UNDO segmenty.
Thu Apr 29 10:23:38 2010
Errors in file c:\oracle\admin\test\bdump\test_j004_140.trc:
ORA-12012: error on auto execute of job 1350143
ORA-01552: cannot use system rollback segment for non-system tablespace ‘USER_DATA’
ORA-06512: at “test_user.tabulka”, line 63
ORA-06512: at line 1
Řešením bylo přidat datový soubor ke stávajícímu UNDO tablespacu.
create undo tablespace UNDOTBS1 datafile ‘D:\oracle\oradata\undotbs02.dbf’ size 2G;
Jakmile byla databáze správně nastartovaná, provedl jsem raději ještě kompilaci invalidních objektů pomocí skriptu utlrp.sql
@C:\oracle\ora102x64\RDBMS\ADMIN\utlrp.sql