Archive for the ‘Tip’ Category

Commit 2PC i materialized view

czwartek, październik 11th, 2007

Oracle zimplementował wiele zaawansowancyh mechanizmów i funkcjonalności, wraz ze wzrostem ich liczby stopień skomplikowania oprogramowania wzrasta i ilość potencjalnych błędów i interakcji rośnie.

Oracle pozwala tworzyć widoki zmaterializowane ( dawniej zwane dawniej jako snapshot - migawka ), które mogą być odświerzne w wielu trybach. Jednym z trybów jest odświerzanie przy zmianie danych, na których zbudowany jest widok zmaterializowany w momencie zatwierdzania (on commit).

Natomiast dla transakcji rozproszoncyh ( pomiedzy wieloma bazami dancyh ) używany jest mechanizm 2PC (Two-phase commit).

Niestety obydwa mechanizmy nie działają razem. Gdy tablica, na której zbudowane jest view zmaterializowane jest modyfikowana w transakcji rozproszonej, wystepuje bląd ORA-00603 :

create table gmt ( a number primary key);

create materialized view gmt_mv refresh on commit as select * from gmt;

insert into gmt select 1 from dual@DB_LINK_DO_INNEJ_BAZY;

SQL> commit;
commit
*
BŁĄD w linii 1:
ORA-00603: sesja serwera ORACLE zakończona błędem krytycznym

W alert logu dostępna jest informacja:

ORA-00603: sesja serwera ORACLE zakończona błędem krytycznym
ORA-00600: kod błędu wewnętrznego, argumenty: [4080], [1], [131], [], [], [], [], []

Maksymalna wielkość VARCHAR2 ( VARCHAR )

czwartek, październik 11th, 2007

Patch set 9.2.0.8 - problemy

piątek, wrzesień 28th, 2007

Plik oraInst.loc

czwartek, wrzesień 6th, 2007

Funkcja nvl2 w SQL i PL/SQL

środa, wrzesień 5th, 2007

char vs. varchar2 datatype

środa, sierpień 29th, 2007

Oracle Databases

czwartek, sierpień 23rd, 2007