OBIEE Development street / Ontwikkel straat
If you are using a “development street” (different development, test, acceptance and production environment) you sometimes need to reconfigure the connection pool of your repository back and forth. On a recent project a customer of us wanted to have this automated for both convenience and security reasons.
Before I go explaining how we did two things:
- Credit where credit is due, the original idea is from my collegue Raymond de Vries based on this entry from Mark Rittman.
- This method isn’t supported by Oracle. They have logged as a possible feature for coming realeses.
This method is based the fact that Oracle uses UDML as scripting language when updating the repository. You can check this by right clicking on the connection pool and pressing Ctrl + C. Paste the result in note pad.
In the UDML script you regonise the ID of the connection (in this case 22). What we did was storing this file 4 times as dbTst.txt, dbDev.txt, dbPrd.txt and dbAcc.txt. In each file we only changed the datasource to the apporated database.
Next we created 4 .cmd files (conToTst.cmd, conToDev.cmd, conToPrd.cmd and conToAcc.cmd). Each file looks like this:
:: conToTst.cmd
:: reconfigure OBIEE repository to TEST database
:: Author: John Minkjan Ciber
:: Raymond de Vries Ciber
:: stop the BI server
Net stop “Oracle BI Server”
:: Backup the rpd
copy E:\OracleBI\server\Repository\trucks.rpd E:\OracleBI\server\Repository\trucks.rpd.bak
:: run the update script
:: info :>
:: nQUDMLExec [-U [userid]]
:: [-P [password]]
:: -I input_script_pathname
:: [-B base_repository_pathname]
:: -O output_repository_pathname
:: [-8]
:: -8 is for UTF-8
:: Eg 1: nQUDMLExec -I testudml.txt -O rp1.rpd
:: create a new repository rp1
:: Eg 2: nQUDMLExec -U administrator -I testudml.txt -B rp1.rpd -O rp2.rpd
:: modify rp1 and write to rp2
E:\OracleBI\server\Bin\nqUDMLexec.exe -U Administrator -P Administrator -I C:\Connect\dbTst.txt -B E:\OracleBI\server\Repository\Trucks.rpd -O E:\OracleBI\server\Repository\Trucks.rpd
:: start the BI server
Net start “Oracle BI Server”
pause
exit
Till Next Time
John Minkjan
Senior BI consultant
Als je gebruik maakt van een “OTAP straat” (een aparte omgeving voor Ontwikkeling, Testen, Acceptatie en Produktie) moet je soms de connection pools van de repository aanpassen. Bij een recnt project een van onze klanten wilde geautomasieerd hebben (onder andere uit om beveiligings redenen).
Voordat ik uitleg hoe we een en ander hebben opgelost 2 dingen:
- Ere wie ere toekomt, het orginele idee is van mijn collega Raymond de Vries gebaseerd op deze BLOG entry van Mark Rittman.
- Deze method wordt niet ondersteund door Oracle. Het staat bij hun gelogd als een mogelijke optie voor toekomstige releases.
Deze methode is gebaseerd op het feit dat Oracle gebruikt maakt van UDML als script taal. Een bewijs hiervan vind u als met de rechter muis knop op de connection pool klikt en Ctrl +C indrukt. Plak vervolgens het resultaat in een notepad of iets dergelijks.
In dit UDML script herktent u het ID van de connection pool (in dit geval 22). Vervolgens hebben we dit bestand 4 keer opgeslagen (dbTst.txt, dbDev.txt, dbPrd.txt and dbAcc.txt).In elk bestand hebben we alleen de datasource aangepast.
Vervolgend hebben we 4 .cmd bestand gemaakt (conToTst.cmd, conToDev.cmd, conToPrd.cmd and conToAcc.cmd). Elk bestand ziet er als volgt uit:
:: conToTst.cmd
:: reconfigure OBIEE repository to TEST database
:: Author: John Minkjan Ciber
:: Raymond de Vries Ciber
:: stop the BI server
Net stop “Oracle BI Server”
:: Backup the rpd
copy E:\OracleBI\server\Repository\trucks.rpd E:\OracleBI\server\Repository\trucks.rpd.bak
:: run the update script
:: info :>
:: nQUDMLExec [-U [userid]]
:: [-P [password]]
:: -I input_script_pathname
:: [-B base_repository_pathname]
:: -O output_repository_pathname
:: [-8]
:: -8 is for UTF-8
:: Eg 1: nQUDMLExec -I testudml.txt -O rp1.rpd
:: create a new repository rp1
:: Eg 2: nQUDMLExec -U administrator -I testudml.txt -B rp1.rpd -O rp2.rpd
:: modify rp1 and write to rp2
E:\OracleBI\server\Bin\nqUDMLexec.exe -U Administrator -P Administrator -I C:\Connect\dbTst.txt -B E:\OracleBI\server\Repository\Trucks.rpd -O E:\OracleBI\server\Repository\Trucks.rpd
:: start the BI server
Net start “Oracle BI Server”
pause
exit
Tot De Volgende Keer
John Minkjan
Senior BI consultant
(De Engelse tekst van dit artikel is ook gepubliceerd op http://obiee101.blogspot.com/)
No comments yet. Be the first.
Leave a reply