pondělí 26. srpna 2013

Podpora a switching PDB databází ve WLS

V poslední verzi Oracle DB 12c je implementovaná pěkná vlastnost, zvaná Multitenant container database (CDB). Je to možnost dynamicky přenášet a během chvilky připojovat a zprovoznit databáze - Pluggable database (PDB):


Podrobné informace o Multitenant architektuře jsou zde.

Nyní vyvstává otázka, jak je to s podporou těchto vlastností na WLS. Oficiální stanovisko Oraclu, uvedené v dokumentaci k WLS 12.1.2 zde uvádí zdánlivě schizofrenní tvrzení. 
Dle něj je totiž PDB podporována na WLS 10.3.6 a 12.1.1 dokonce s driverem pro 11g. Je tam ale zmíněno omezení, a to poměrně podstatné: nelze používat příkaz Set Container. No a právě tímto příkazem se přepínají databáze, takže v praxi toto omezení znamená, že db už musí být připojená a kontejner není možné z WLS s touto konfigurací měnit. Využívá jen db službu, která již s PDB byla asociovaná v okamžiku připojení. Z tohoto důvodu bych pro maximální využití investic do db 12c a její plné funkcionalilty doporučoval nasazení příslušných 12c driverů.

V konfiguraci WLS 10.3.6/12.1.1 s 12c driverem / 12c DB, bude možné bez problémů přepínat PDB pomocí ALTER SESSION SET CONTAINER. Přitom si JDBC driver a datasource connection drží stavy, asociované s PDB a uživatelem/session. Tyto stavové informace je třeba při přepnutí PDB odmazat a reinicializovat. A právě tento cleanup kód existuje pouze ve 12c driveru a 12.1.2 datasourcu.

Využívání PDB se staršími 11g drivery s sebou přináší riziko security vulnerability a míchání informací mezi různými PDB a jejich uživateli.

Žádné komentáře:

Okomentovat