Zmienne środowiskowe Oracle i parę innych drobiazgów
Poniższe sprawy są dosyć elementarne i możliwe do znalezienia w dokumentacji. Niemniej jednak często ktoś o to pyta a w dokumentacji znaleźć te informacje niezbyt łatwo. Wszystko co piszę poniżej dotyczy Oracle/Unix (także Oracle/Linux).
Kluczowymi zmiennymi środowiskowymi wykorzystywanymi przez Oracle niezależnie od konfiguracji są:
- ORACLE_HOME
- Miejsce w którym zainstalowano Oracle. Wykorzystywane do mnóstwa różnych celów. Bez tej zmiennej możemy się spodziewać rozlicznych kłopotów. U mnie jest to /opt/oracle/8.0.5, gdybym słuchał instalatora miałbym raczej /opt/oracle/app/products/8.0.5 lub coś podobnego.
- NLS_LANG
- Ustawienie języka dla aplikacji łączących się z Oracle (SQL*Plus ale także nasze programy). Jeśli korzystamy z iso-latin-2 i chcemy oglądać odpowiednie literki, należy tę zmienną ustawić na polish_poland.EE8ISO8859P2 - w przeciwnym wypadku, zamiast polskich literek, będziemy dostawać znaki zapytania (także przy operacjach typu export/import).
Dalsze zmienne zależą od sposobu pracy. Jeśli korzystamy z lokalnej bazy danych musimy zdefiniować:
- ORACLE_SID
- Lokalna nazwa bazy danych z której korzystamy - nadana w trakcie jej tworzenia. Jeśli nie jesteśmy w stanie sobie jej przypomnieć, warto zerknąć do katalogu $ORACLE_HOME/dbs - np. dla bazy MYORACLE znajdziemy tam pliki initMYORACLE.ora, configMYORACLE.ora itp.
Natomiast przy dostępie do zdalnych baz przez SQL*Net ważne są
- TWO_TASK
- Nazwa zdalnej bazy danych - czyli nazwa odpowiedniego wpisu w pliku tnsnames.ora albo pełny opis połączenia (tak przy okazji, na niektórych platformach - min. VMS - zamiast TWO_TASK trzeba używać ORA_DFLT_HOSTSTR).
- TNS_ADMIN
- Nazwa katalogu w którym znajduje się plik tnsnames.ora (u mnie /etc/oracle). Tej zmiennej można nie definiować, wówczas plik jest poszukiwany w $ORACLE_HOME/network/admin.
Uwaga: jeśli w środowisku jest zdefiniowane zarówno ORACLE_SID jak TWO_TASK, ten drugi ma pierwszeństwo.
- «O nieblokującym INSERT - technikalia
- Jak podzielić duży SELECT (i dlaczego ROWNUM jest zakazany)»
- ↑Kilka porad na temat Oracle