Nainstaloval jsem server Oracle 11g na Ubuntu 12.10. Ale nemohu spustit server. Při spuštění serveru dojde k následující chybě:
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/Oracle/product/11.2.0/xe/dbs/initXE.ora'
Jak mohu tento problém vyřešit? Myslím, že připojení selhalo, protože cílový hostitel nebo objekt neexistuje. Jak lze specifikovat cílového hostitele?
Běh:
$ ls -latr /u01/app/Oracle/product/11.2.0/xe/dbs/initXE.ora
výnosy:
-rw-r--r-- 1 Oracle dba 2637 Mar 13 17:07 /u01/app/Oracle/product/11.2.0/xe/dbs/initxe.ora
Běh echo $Oracle_SID
nezobrazuje nic - prázdný řádek.
Vidím zde dvě věci špatně. Oracle se pokouší otevřít soubor parametrů v adresáři $ Oracle_HOME/dbs ve formátu "spfile" + $ Oracle_SID + ".ora". Pokud jej nenajde, pokusí se otevřít "init" + $ Oracle_SID + ".ora". Tady jsou problémy.
Vzhledem k tomu, že se Oracle pokouší otevřít soubor parametrů s názvem "initXE.ora", musí být vaše SID (nebo bylo v jednom bodě) rovno "XE".
1) Toto je snadná část, takže to zkuste nejdříve. Od (ve vašich komentářích) děláte echo $Oracle_SID
nedává nic, zkuste to nastavit.
export Oracle_SID=XE
Potom zkuste znovu spustit Oracle.
2) Ve výše uvedených komentářích ukážete, že soubor má název „initxe.ora“. Je to opravdu název souboru? Nebo vaše vložení nějakým způsobem zmenšilo výstup příkazu ls
?
Důvod, na který poukazuji, je ten, že Ubuntu (Linux) má systém souborů citlivý na velikost písmen. Initxe.ora a initXE.ora jsou tedy vlastně dva různé soubory. Takže pokud je váš komentář správný a soubor je uložen v dolní části, budete chtít místo toho nastavit Oracle_SID na „xe“:
export Oracle_SID=xe
Zkuste to a podívejte se, jestli to funguje.
Pokud se jedná o nově nainstalovanou Oracle a nemáte zde soubor parametrů initXE.ora /u01/app/Oracle/product/11.2.0/xe/dbs/, znamená to, že musíte nejprve vytvořit XE DB. Nejprve spusťte skript /u01/app/Oracle/product/11.2.0/xe/bin/createdb.sh.
Této záležitosti jsem dříve čelil.
Uvědomil jsem si, že chyba může být způsobena tím, že není nalezen soubor. Musíte spustit instanci Oracle pomocí plně odkazovaného souboru pile zadáním následujícího příkazu:
SQL> startup pfile=<your pfile full path here>
Jen to ls -altr
. Pokud se vám to líbí ...
-rw-r - r-- 1 Oracle oinstall 2637 13. března init.ora
... stačí změnit vlastníka: chown -R Oracle:dba init.ora
, potom spusťte.