I already wrote about Docker and OBIEE in Docker in relation to my OBIEE Docker image I published on GitHub.
As it isn’t always obvious to get started with it, mainly if aren’t familiar with Docker, I decided to write this post which will cover from A to Z how you can get OBIEE running Docker covering: building the images, running the DB, start / stop OBIEE.
All you will need for it is a host (a PC running linux, a server, a VM) with Docker installed.
The process is covered with screenshots for each step and has been based on Oracle Database 12c R1 Docker container using the image provided on https://github.com/oracle/docker-images/tree/master/OracleDatabase and OBIEE 12.2.1.2 using the image provided on https://github.com/gianniceresa/docker-images/tree/master/OracleBIEE.
You can freely use another version of OBIEE (12.2.1.0.0, 12.2.1.1.0 or 12.2.1.3.0) or database (make sure it’s supported by the selected OBIEE version looking at the relative certification matrix.
You can also use a different version of Java if wanted (again check the certification matrix). If you decide to use a different Java make sure you update the Checksum.md5 file with the new name and checksum and the filename inside the Dockerfile (“INSTALL_FILE_JDK” variable).
The Oracle Database Docker image hosted on GitHub can change at any time, so the parameters required by the container can be different than the ones used here. Have a look at the GitHub page to read through the various parameters.
More options available
There are various parameters accepted by both the OBIEE and database Docker images, you find examples and list of variables on GitHub.
Getting the binaries
Building the Docker images for Oracle Database 12c R1 and OBIEE
Run a database container and an OBIEE container
Stop the OBIEE container and the database container
Restart the containers: content is persisted, nothing is lost
That’s it, you now have a Docker based OBIEE environment. You can run multiple containers in parallel, run multiple versions. Once you are done or you destroyed an environment while trying things just remove the container (“docker rm”) and start a new one.
tl;dr
If you just need the piece of code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# - Build database image cd ~ mkdir db cd db git clone https://github.com/oracle/docker-images.git cd docker-images/OracleDatabase/dockerfiles # ToDo: copy binaries into ./12.1.0.2 ./buildDockerImage.sh -v 12.1.0.2 -e # - Build OBIEE image cd ~ mkdir bi cd bi git clone https://github.com/gianniceresa/docker-images.git cd docker-images/OracleBIEE # ToDo: copy binaries into ./12.2.1.2.0 ./buildDockerImage.sh -v 12.2.1.2.0 cd ~ # ToDo: delete ./db and ./bi and all their content (not needed anymore) # - Run containers docker run -d -p 1521:1521 --stop-timeout 600 --name database oracle/database:12.1.0.2-ee docker logs -f database # Ctrl+C when the message "DATABASE IS READY TO USE!" is visible docker exec database ./setPassword.sh Admin123 # replace 192.168.120.81 by your docker host address docker run -d -P \ --name obiee_12.2.1.2.0 \ --stop-timeout 600 \ -e "BI_CONFIG_RCU_DBSTRING=192.168.120.81:1521:orclpdb1" \ -e "BI_CONFIG_RCU_PWD=Admin123" \ oracle/obiee:12.2.1.2.0 docker logs -f obiee_12.2.1.2.0 # Ctrl+C when the components status "RUNNING" is visible docker port obiee_12.2.1.2.0 |
I’m looking for OBIEE12c Scaled-out environment as a Docker? is it possible?
Possible it is possible as you can have an OBIEE cluster (check the doc on how to make it). This image isn’t ready for that, by that I mean it is a proper single host OBIEE image. For a cluster you will need to move the Singleton Data Directory to a shared volume and then modify the runOBIEE.sh to do things differently. Docker is just like VMs: you can do what you want, but this one isn’t already setup for scaling the environment, it is up to you to adapt it for this needs.
Hi – I used to be an OBIEE consultant and wanted to run OBIEE. I have Docker installed and running but do I need to use the browser to run the DB and then OBIEE itself. Can you tell me the url’s to use?
Docker images gives me no obiee entries.
Hi Mark,
There aren’t public built images for OBIEE, licensing doesn’t allow it (nobody else than Oracle can provide the OBIEE software).
You will need to run the database in a docker container, and then run OBIEE in a different container.
Because this is now almost 7 years old, I can’t say if the URL to get the binaries and everything else are still valid.
You could consider using Oracle Analytics Server instead, it’s at least a recent release.
But the job will be the same: for the database Oracle does provide prebuilt containers, for OBIEE not and you have to build it by downloading all the binaries and the build the docker image.
Hi Gianni Ceresa,
I got an error while creating Docker_iamge for DataBase 122010 .
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
checkSpace.sh: ERROR – There is not enough space available in the docker container.
checkSpace.sh: The container needs at least 15 GB, but only 6 GB are available.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Can you help me this error ?????
Hi,
Looks like your default docker container size is too small for OBIEE (must be 10Gb as the install needs about 4Gb, so the 6Gb left would point to a default size of 10Gb). Check that in your docker config and increase it if needed to at least 20 (so 20 – 4 = 16 which with some luck will be enough for the check).
Where can i increase the GB size???? can u help me on this issue.
As I said it’s a Docker config. So first you have to check what your Docker config says. There are various storage drivers, so start by looking which one you use and what’s the config. “docker info” is a good place where to start, look for storage driver and base device size if you have them.
Containers: 0
Images: 5
Storage Driver: devicemapper
Pool Name: docker-253:0-134221363-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: xfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 717 MB
Data Space Total: 107.4 GB
Data Space Available: 46.03 GB
Metadata Space Used: 1.04 MB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.146 GB
Udev Sync Supported: true
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.146-RHEL7 (2018-01-22)
Execution Driver: native-0.2
Kernel Version: 3.10.0-862.el7.x86_64
Operating System: Oracle Linux Server 7.5
CPUs: 2
Total Memory: 9.052 GiB
Name: obiee.docker.com
ID: 3IOA:5ZF4:KF4Q:CQCU:P2MU:7SLW:4UMG:54UY:BGOH:QDNU:YK3B:WSYM
this is my docker info
where can i start ?
iam new to this technology can u help me.
where we start and give any steps to solve this issues.
As expected, your storage driver is “devicemapper” and the default base device size is 10Gb. Look at https://docs.docker.com/engine/reference/commandline/dockerd/#options-per-storage-driver and specifically for the “dm.basesize” option, pass that as 20 (or ideally 25-30 to avoid any issue) to your docker daemon and done. How to configure your docker with that parameter depends on how it is installed etc. All is covered in the Docker documentation.
Hi,
Am installing obiee and database with respective versions 12.2.1.2.0,12.1.0.2 and how can i bind the local IPAddress.
while am running the docker port obiee_12.2.1.2.0 command it will showing 0.0.0.0 ip adresss, how can i change ip adress .
1.How can i get into running docker containers???
Hi, not sure to exactly get your question… By default containers are on a bridged network, so they are already exposed on your host IP address.
https://docs.docker.com/network/#scope-of-this-topic
How you can get into running Docker containers? Start by reading the Docker documentation, it’s the best place where to start.
Hi,
While running the docker port obiee_12.2.1.2.0
it will showing 0.0.0.0 ip address and my local ip adress is 192.168.1.188 how can i change ip adress???
9502/tcp -> 0.0.0.0:32781
9507/tcp -> 0.0.0.0:32776
9509/tcp -> 0.0.0.0:32774
9510/tcp -> 0.0.0.0:32773
9500/tcp -> 0.0.0.0:32783
9503/tcp -> 0.0.0.0:32780
9504/tcp -> 0.0.0.0:32779
9508/tcp -> 0.0.0.0:32775
9511/tcp -> 0.0.0.0:32772
9514/tcp -> 0.0.0.0:32769
9501/tcp -> 0.0.0.0:32782
9506/tcp -> 0.0.0.0:32777
9512/tcp -> 0.0.0.0:32771
9799/tcp -> 0.0.0.0:32768
9505/tcp -> 0.0.0.0:32778
9513/tcp -> 0.0.0.0:32770
As I said: the 0.0.0.0 doesn’t mean it isn’t working, it’s just because you didn’t pass the IP to Docker as option and so it display 0.0.0.0. But by default containers are using the bridge network, which means that 0.0.0.0:32781 is just:32781.
You maybe want to read the getting started documentation of Docker to understand how it works.
Hi Gianni Ceresa,
“RCU exiting with status 100
ERROR validating RCU command and settings, can’t validate RCU schemas creation
command: /opt/oracle/product/12.2.1.2.0/oracle_common/bin/rcu -createRepository -silent -schemaPrefix hdcfaffa9d97 -useSamePasswordForAllSchemaUsers true -connectString 192.168.203.192:1521:orclpdb1 -dbUser sys -databaseType ORACLE -dbRole SYSDBA -component STB -component MDS -component WLS -component OPSS -component BIPLATFORM -component IAU -component IAU_APPEND -component IAU_VIEWER -validate -f < /opt/oracle/product/12.2.1.2.0/_tmp_rcu.dat
Abort OBIEE configuration…"
I got this error while running obiee_12.2.1.2.0 container
command :docker start obiee_12.2.1.2.0; docker logs -f obiee_12.2.1.2.0 while running this command got the above error .
Can you help me on this error
“Database connection failed: 100”
Seems like you provided wrong DB connection settings to the docker container.
You can find error messages for the RCU validation at https://docs.oracle.com/middleware/12211/lcm/RCUUG/GUID-0D3A2959-7CC8-4001-997E-718ADF04C5F2.htm#RCUUG-GUID-6BD3F73E-BD15-44CF-A6E6-AE8BD821E4BD
Hi ,
I don’t want any changes for DB Connection setting and just run this below command and following your document.
command is :”docker run -d -p 1521:1521 –stop-timeout 600 –name database oracle/database:12.1.0.2-ee”
Fine, but is your DB working? Is the connection string you used to start the OBIEE container right?
Hi,
My DB is working fine.
Running Obiee container using below command
docker run -d -P
–name obiee_12.2.1.2.0
–stop-timeout 600
-e “BI_CONFIG_RCU_DBSTRING=192.168.4.9:1521:orclpdb1”
-e “BI_CONFIG_RCU_PWD=Admin123”
oracle/obiee:12.2.1.2.0
Did you check if from the OBIEE container you can actually connect to the DB for real?
Hi Gianni,
Great blog. I followed all your steps but got struck at the same place as that of Shobhan.
“RCU exiting with status 100
ERROR validating RCU command and settings, can’t validate RCU schemas creation
command: /opt/oracle/product/12.2.1.2.0/oracle_common/bin/rcu -createRepository -silent -schemaPrefix hdcfaffa9d97 -useSamePasswordForAllSchemaUsers true -connectString 192.168.203.192:1521:orclpdb1 -dbUser sys -databaseType ORACLE -dbRole SYSDBA -component STB -component MDS -component WLS -component OPSS -component BIPLATFORM -component IAU -component IAU_APPEND -component IAU_VIEWER -validate -f < /opt/oracle/product/12.2.1.2.0/_tmp_rcu.dat
Abort OBIEE configuration…"
Please help.
Thanks,
Sowmya
Replied above
Hi Shobhan, How did you rectify this error? Even I am getting the same error when I followed Gianni’s process step by step.
“RCU exiting with status 100
ERROR validating RCU command and settings, can’t validate RCU schemas creation
command: /opt/oracle/product/12.2.1.2.0/oracle_common/bin/rcu -createRepository -silent -schemaPrefix hdcfaffa9d97 -useSamePasswordForAllSchemaUsers true -connectString 192.168.203.192:1521:orclpdb1 -dbUser sys -databaseType ORACLE -dbRole SYSDBA -component STB -component MDS -component WLS -component OPSS -component BIPLATFORM -component IAU -component IAU_APPEND -component IAU_VIEWER -validate -f < /opt/oracle/product/12.2.1.2.0/_tmp_rcu.dat
Abort OBIEE configuration…"
Same question as above: can you connect to the DB from the OBIEE container? Docker can be setup with various network configs, you could have a firewall getting in there too etc.
Hi Gianni,
How to setup obiee_cicd process using gitlab and can you share me any document for cicd process.
Have a look at the slides of my presentation of few years ago: https://speakerdeck.com/gianniceresa/pimp-your-devops-with-docker-an-oracle-ba-example
Hi Gianni Ceresa,
Thanks for giving reply.
Currently working on gitlab-runner facing an issue
“ERROR: Registering runner… forbidden (check registration token) runner=UHUZ4jsy
PANIC: Failed to register this runner. Perhaps you are having network problems”
1.Installed the docker conatiners ,gitlab server and gitlab-runner on same machine , but while running gitlab-runner register command facing an issue ????
Did you follow the GitLab doc on how to register the runner? Did you setup your docker network correctly? Do not forget Docker containers networking is a real thing: containers by default are connected to the same network but doesn’t know each others, ports need to be exposed etc. I have a host on which I run GitLab inside a docker container and the gitlab-runner on the host itself and didn’t have any issue.
HI ,
I am following the gitlab document , my network is correcttly setup but still facing the issue.
NETWORK ID NAME DRIVER SCOPE
0b95709e06ab bridge bridge local
28c580211344 compose-obiee-db_default bridge local
02ffaf1c9335 host host local
a121cd0d0584 my_network bridge local
9ee545463417 none null local
docker@cicd:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
obiee 12.2.1.2.0 02af91b10c5b 26 hours ago 18.6GB
database 12.1.0.2 8d1d6ea833aa 27 hours ago 11.3GB
oraclelinux latest bd622f029d9d 4 weeks ago 234MB
What network are your containers connected, can you ping the GitLab address/hostname from where the runner is executed? You installed GitLab on the host directly and not using their Docker image?
Hi ,
My gitlab Url:http://192.168.203.187/ci and my docker images are using
docker@cicd:/$ docker network inspect compose-obiee-db_default
[
{
“Name”: “compose-obiee-db_default”,
“Id”: “28c5802113448f00a45a3aa5d8b7f9f6397537ab760baa909697ef678a16bd56”,
“Created”: “2018-06-26T12:41:41.486609682+05:30”,
“Scope”: “local”,
“Driver”: “bridge”,
“EnableIPv6”: false,
“IPAM”: {
“Driver”: “default”,
“Options”: null,
“Config”: [
{
“Subnet”: “172.18.0.0/16”,
“Gateway”: “172.18.0.1”
}
]
},
“Internal”: false,
“Attachable”: false,
“Ingress”: false,
“ConfigFrom”: {
“Network”: “”
},
“ConfigOnly”: false,
“Containers”: {
“8bf19c9dd6d9ce15e85b7472d3cc44e59228e7feafb769bb203a3f1b73a9be3c”: {
“Name”: “compose-obiee-db_oracledb_1”,
“EndpointID”: “60666d816a5f28ca1dff91d54bdeb1773b4235312eb3100569016c9722fbcad9”,
“MacAddress”: “02:42:ac:12:00:02”,
“IPv4Address”: “172.18.0.2/16”,
“IPv6Address”: “”
},
“b66cd536cbc2714175486b53495b4b8a523889310ea635f3ee519bd15da7416e”: {
“Name”: “compose-obiee-db_obiee_12.2.1.2.0_1”,
“EndpointID”: “21f462a28beb2801f7d5ffb1cb9137039becc369dd5d88f8a6880b6cf514e578”,
“MacAddress”: “02:42:ac:12:00:03”,
“IPv4Address”: “172.18.0.3/16”,
“IPv6Address”: “”
}
},
“Options”: {},
“Labels”: {}
}
]
Well … still doesn’t say if you can connect to GitLab from the place where Gitlab-runner is. OBIEE/DB doesn’t matter here: you first need to get your gitlab up and running and the runner is part of it. You maybe want to consider posting on the GitLab forum with all the details. It’s the best place where to get support in getting GitLab up and running fine.
Hi
I have obiee image working fine but every time I start up the docker image it’s creating a new RCU schema. Is there a way to skip that?
Hi, where did you take your image from? Where does the code come from?
I built taking your post as an example (12.2.1.2).
Have a look at the code of https://github.com/gianniceresa/docker-images/blob/master/OracleBIEE/12.2.1.2.0/runOBIEE.sh , the function ‘checkOBIEEConfigured’ has the role of defining if the container has already been configured and therefor OBIEE just needs to be started or it isn’t configured and first it requires the configuration. Do you have that in your image? Did you manage that case? Because the linked image on GitHub works fine: it can be stopped and started as much as you want and the config only run once the first time.
The idea is I can use this for local development so I probably need to start the docker container every day.
right as long as I have the same container that works but I have this docker image in a virtualbox. I see the same problem with rpd and catalog too, whenever I reboot it starts it fresh (removes rpd,catalog and tries to recreate rcu) unless I am missing some step.
What do you mean by “as long as I have the same container”? If you expect different containers to not require that step you maybe want to review the difference between image and container.
Hi,
When I create OBIEE image, a have an error:
Step 7/14 : RUN cd $INSTALL_DIR && chmod ug+x $CHKSUM_TEST && ./$CHKSUM_TEST
—> Running in 138082df6062
/bin/sh: ./checksumPackages.sh: /bin/bash: bad interpreter: Text file busy
Removing intermediate container 138082df6062
The command ‘/bin/sh -c cd $INSTALL_DIR && chmod ug+x $CHKSUM_TEST && ./$CHKSUM_TEST’ returned a non-zero code: 126
There was an error building the image.
What is wrong?
Hi,
What exact image are you trying to build? I don’t remember having that kind of code into the OBIEE images (any of the 5 12c versions on GitHub).
Hi, I’m trying to build OBIEE 12.2.1.0.0.
I’ve commented
#RUN cd $INSTALL_DIR && \
# chmod ug+x $CHKSUM_TEST && \
# ./$CHKSUM_TEST
in Dockerfile and it works.
That piece of code is part of https://github.com/gianniceresa/docker-images/tree/master/Compose%20OBIEE-DB, which isn’t updated anymore and isn’t what this blog post is about.
You better use the code of the folder linked above which gives you a proper OBIEE image.
If you really want to have a Docker Composer file you can simply put it together coupling the 2 images described in this post. Composer has now new ways to manage the dependencies of one container on another one, the code would need to be updated to match these things. You also maybe want to consider to use OBIEE 12.2.1.4 instead as 12.2.1.0.0 isn’t supported anymore and it’s full of bugs.
Is it a certified configuration to run OBIEE in docker?
Yes and no. Docker being quite transparent (not like a VM) it doesn’t have a proper certification. It is supported, Oracle Support will support you in your requests if you use OBIEE on docker (an Oracle PM confirmed that aspect, just as it is for their database).
It is anyway not the ideal use case for a production usage (that’s maybe why there isn’t an official “certified in docker” stamp), but no problem at all for dev and test and any other environment like that.
Hi, I’ve downloaded all files in 12.2.1.3.0 version and jdk like on images. All necessarry files are inside 12.2.1.3.0 folder, but when i run buildDockerImage.sh it finds only BI.zip files:
Checking if required packages are present and valid…
fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip: FAILED
fmw_12.2.1.3.0_bi_linux64_Disk1_1of2.zip: OK
fmw_12.2.1.3.0_bi_linux64_Disk1_2of2.zip: OK
md5sum: jdk-8u144-linux-x64.rpm: No such file or directory
jdk-8u144-linux-x64.rpm: FAILED open or read
md5sum: WARNING: 1 listed file could not be read
md5sum: WARNING: 1 computed checksum did NOT match
MD5 for required packages to build this image did not match!
Make sure to download missing files in folder 12.2.1.3.0
Here is ll output of 12.2.1.3.0 folder:
-rw-r–r– 1 root root 1885553927 Aug 8 09:25 fmw_12.2.1.3.0_bi_linux64_Disk1_1of2.zip
-rw-r–r– 1 root root 1732404482 Aug 8 09:25 fmw_12.2.1.3.0_bi_linux64_Disk1_2of2.zip
-rw-r–r– 1 root root 1627141097 Aug 8 09:36 fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip
-rw-r–r– 1 root root 165955188 Aug 8 09:46 jdk-8u101-linux-x64.rpm
Any ideas what might be wrong?
Hi,
Yes, the issue is in the JDK file: the Checksum.md5 for OBIEE 12.2.1.3 expects JDK 8u144 and you downloaded 8u101.
OBIEE 12.2.1.3 requires at least JDK 8u131, therefore your 101 is too old (it was fine for OBIEE 12.2.1.2 which was used in the blog post).
Either download the JDK 8u144 as expected by the file or at least a JDK8 >= 131 and update the filename and checksum inside the Checksum.md5 file.
ok during posting this i realized that jdk has a new version, so i get rid off this, but still don’t know how to deal with:
fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip: FAILED
evei if I have:
-rw-r–r– 1 root root 1627141097 Aug 8 09:36 fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip
Oracle did a dirty thing there 😀
They replaced the fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip on the download page with a newer one after the product has been released. I was checking the old checksum e6d4a9d416d35879b827b20a2ab05119 which still match the original file of August 2017. The one you have now on the download page has been patched by Oracle (but they kept the same name) and it’s the same as the one for OBIEE 12.2.1.4 with a checksum of 04285a574f18767335da15a9d40c4cc2 .
You can fix your issue by editing Checksum.md5 and replace the MD5 checksum for the infrastructure file, replace e6d4a9d416d35879b827b20a2ab05119 by 04285a574f18767335da15a9d40c4cc2 .
I updated the GitHub file as anyone downloading after April 2018 will have the same issue.
More in general: any reason for not using the 12.2.1.4 directly?
I’m able to run report via REST API (oryginal port 5002) only with HTTP, but HTTPS doesn’t work. Should I enable it in fussion middleware or somewhere in administator’s tools?
By default only HTTP is available, HTTPS requires extra configuration (setup certificates etc.). You can find the steps in the official OBIEE documentation or also in MOSC documents.
Hi Gianni,
I almost crossed all parts and now struck with
Verifying data
[VALIDATION] [ERROR]:PreReq Check for create new schema failed.
[VALIDATION] [SUGGESTION]:Ensure the Database being used is compatible.
configuration Failed. Exiting configuration due to data validation failure.
Any idea whats happening?
Thanks,
Sowmya
What DB are you using?
Hello. i have same problem. my database version is 12.1.02.what can i do ?
If your database is certified to work with the OBIEE/OAS you are trying to install, you should start debugging, looking what exactly failed and execute that again with more logs or also in an interactive way to see what happen and why it happens.
Hi,
I am trying to run Oracle Analytics Server(5.5) on mac pro. Is it possible to bring up the environment with below resources?
Docker on Mac
Docker Compose for Oracle DB and Oracle Analytics Server
Ideally not having Oracle Linux / Linux host.
Regards,
Ashok
Not having a mac I can’t talk by experience…
You can run an Oracle DB in docker on a mac using the docker images based on Oracle Linux I used in this post (and for the OAS 5.5 image), therefore I would say you can run Oracle DB and OAS 5.5 without problems in a mac using docker.
Hi,
Thanks for your insight and keep you update if this works
Regards,
Ashok
hello when i run this :
docker run –name obiee \
-p 9500-9514:9500-9514 -p 9799:9799 \
–stop-timeout 600 \
–network=bi_net \
-e “BI_CONFIG_RCU_DBSTRING=localhost:1521:database\orclpdb1” \
-e “BI_CONFIG_RCU_USER=system” \
-e “BI_CONFIG_RCU_PWD=Admin123” \
oracle/obiee:12.2.1.2.0
it show it
[VALIDATION] [ERROR]:Incorrect Oracle connect string. Wrong number of : separated fields in ‘0.0.0.0:1521orclpdb1’
how to fix it?
The format of your connection string for the RCU database is not accepted. The expected format is host:port:sid (or service name instead of sid) while you are using a “\”.
hi,
but when i run this :
docker run –name obiee \
-p 9500-9514:9500-9514 -p 9799:9799 \
–stop-timeout 600 \
–network=bi_net \
-e “BI_CONFIG_RCU_DBSTRING=localhost:1521:orclpdb1” \
-e “BI_CONFIG_RCU_USER=system” \
-e “BI_CONFIG_RCU_PWD=Admin123” \
oracle/obiee:12.2.1.2.0
it show error:
RCU exiting with status 100
ERROR validating RCU command and settings, can’t validate RCU schemas creation
Did you install an Oracle Database inside the OBIEE image? Because “localhost” will be resolved by the container as being the container itself, not the host on which you are running docker.
hi
so how to fix it?
How to fix … what?
You maybe have to have a look at how Docker networking works. “localhost” has a very precise and specific meaning. Your OBIEE container must know how to link to the DB container, either by docker internal hostnames or IPs if they are on the same docker network or by using an address which can be reached by going through the Docker network setup (can be any other host in your LAN or outside, can be the docker host itself or whatever).
Hello,
Thanks for your tutorial.
I have a little question
What volumes must be created for data persistence?
for database and OBIEE
If I’m not wrong the database container by default create a volume for its own needs. You can also specify yourself which volume or mount to use for the various storage the DB can use (look at https://github.com/oracle/docker-images/tree/master/OracleDatabase/SingleInstance for some info on that). OBIEE doesn’t need any volume for storage as it stores everything inside the container itself. If you want to migrate BI content from a container to a new one (a patched image for example) you can export a BAR and import it in the new container. Otherwise the container will store your content until you don’t remove the whole container. You can stop and start it, your contant is persisted.
Hello teacher
i use :
04285a574f18767335da15a9d40c4cc2 fmw_12.2.1.3.0_infrastructure_Disk1_1of1.zip
cf86b8cab78711bca17742cdb76c66f1 fmw_12.2.1.3.0_bi_linux64_Disk1_1of2.zip
7e4c769d52790c4e00e3e37f405dbe4a fmw_12.2.1.3.0_bi_linux64_Disk1_2of2.zip
dcc4c903506766ec4c50a969babdd856 jdk-8u144-linux-x64.rpm
but when buildDockerImage have error
Checking if required packages are present and valid…
./buildDockerImage.sh: line 35: md5sum: command not found
MD5 for required packages to build this image did not match!
Make sure to download missing files in folder 12.2.1.3.0.
Any idea whats happening?
If you don’t have md5sum available on your host, it’s up to you to make sure your zip and binaries are correct and can use ‘ -i ‘ to skip the md5 checksum check before to build the image.
Dear Gianni Ceresa,
Really appreciate and thank you for sharing valuable resources, I followed your article and it’s working fine. I plan to move from the virtual server into docker soon. But I don’t know how to backup reports (obiee – repository folder) or make docker volume on that. could you help to guide how to solve it? thank.
For OBIEE/OAS content, the fact it is a VM, docker or whatever doesn’t matter: the tool is still the same tool. For migration of content you must follow the processes you would do normally when moving content from a server to another. The doc should cover that. If you are on OAS just export a BAR and import it in the other side, if you aren’t on OAS: why aren’t you on OAS?
Dear Gianni Ceresa,
could you tell me why obiee container content is persisted, I cant find any docker volume there. thanks. you so much.
Why it is persisted? It is persisted until you drop the container, it doesn’t use any volume, just the container itself.
may I know where is the mount of obiee container? thanks
There isn’t any as you can see from the supported list of options.
thank you so much, and now it’s working fine but when I change Security Model to BI publisher security, it causes an error. ( I restart the app already after changing security mode).
Docker doesn’t change the way the product works. If what you do isn’t right, the product will not work, Docker or not Docker doesn’t change anything.
Thank you for sharing this OBIEE docker project.
2 questions:
1. I’m getting this error message, so cannot create docker image (for OBIEE 12.2.1.3.0):
#10 221.7 [VALIDATION] [ERROR]:INST-07088: Insufficient disk space to install the product
#10 221.7 [VALIDATION] [SUGGESTION]:Specify a different Oracle Home or increase disk space
2. I’m trying to get OBIEE 12c in clean state (without any samples), so I can later on import .BAR into my domain in scripted way.
Would you have a chance to advise what parameters set would give me this state ?
I considered changing:
APPLICATION_TYPE=APPLICATION_TYPE_CLEAN_STATE (in GUI installer there is an option: Clean State, but I’m not sure what is exact name of this parameter)
First of all: you should really consider upgrading to OAS, error correction for 12.2.1.3 ends soon.
For the disk issue, it’s your docker container having that issue, you must make sure to give it enough space because the image isn’t optimized for space but for readability (meaning it takes lot more space than what it should). You should check your docker config to see what is the used storage driver and increase the default container size up to at least 20Gb.
If you want to import your own file, you could do it directly during configuration by setting APPLICATION_TYPE=APPLICATION_TYPE_BI_BUNDLE and then the other few parameters right after to point to your bundle. Honestly I didn’t install with the GUI for quite some time, therefore I don’t know what is offered there inside. Does the Sample App Lite really bother you so much? It is a simple RPD and catalog to test if the tool work, you can override them with the import of your content. If you want to use that “Clean State” option, run the GUI installer and before the step when it execute the job, save the response file and look inside to see what it looks like.
Thank you for your quick response. It looks like the name is: APPLICATION_TYPE_EMPTY. I will check if it works as expected with Docker image.
For APPLICATION_TYPE=APPLICATION_TYPE_BI_BUNDLE I suppose to give .jar file, not .bar right ? I used this option when I was upgrading from 11g to 12c, but now we are on 12c for log time, so I have only .BAR file. Is it possible to assign .BAR file to this option ?
Thanks a million in advance,
Joanna
Honestly? Can’t remember …
As said I always used the Sample App Lite because that’s how I can test the environment works correctly. After the deployment of content following the usual methods will anyway override everything and nothing will show it was a Sample App Lite.
Indeed increasing docker space helped 🙂 OBIEE image for 12.2.1.3 is 20.8 GB.
I will try with APPLICATION_TYPE_EMPTY as that seems to be the right option.
3 questions:
1. If I have a .BAR file – can I use it for: APPLICATION_TYPE_BI_BUNDLE + BI_BUNDLE_FILE ? In the past I applied to this option .jar file exported from 11g during 12c upgrade, however now we are long time on 12c, so have only .BAR files exported.
2. I build up docker image with only biee, without essbase and bip, so not sure if it would work with samples as expected therefore try to avoid samples 😉
3. Do you know if somewhere helm chart for Kubernetes deployment deployment has been published ? (I would love to avoid writing my own helm :()
You can always squash the image and it should go down to about 10 or there around.
1) Can’t remember, I always deploy content after the environment was up and running.
2) The Sample App Lite doesn’t come with much: it’s just a few tables in the RPD based on a XML file, nothing else.
3) Oracle has that internally. They did work on deploying OA in Kubernetes as that’s where they were looking to run their services more and more. I also know for a few people who did it, but no idea if they did publish their work somewhere.
Thank you so much for all your quick answers.
I managed to build up Docker containers to the end for 12.2.1.3 and 12.2.1.4 using oracle docker images (as they have lower image sizes) – however encountered the following limitations:
1. I needed to remove mounting volumes on Windows OS as encountered problem with:
oracle.security.jps.internal.keystore.file.FileKeyStoreManager – Failed to save keystore. Reason :
java.io.IOException: Input/output error
at java.io.RandomAccessFile.setLength(Native Method)
2. I encountered problem with Malformed IPv6 address at index 8 (Doc ID 2865449.1), so now need to downgrade JDK from u361 to u321. Alternative would be to apply patches to intermediate Oracle FMW image, so 3 questions to you:
1. did you encounter persistency error on Windows OS / Windows filesystem mounted to OBIEE container ?
2. do you know how to apply interim patches to oracle images ?
3. instead of developing my own Kubernetes helm deployment chart, would be possible to use weblogic-kubernetes-operator for OBIEE domain ?
https://oracle.github.io/weblogic-kubernetes-operator/base-images/ocr-images/#understand-oracle-container-registry-images
1) No, because I don’t run Docker on Windows. Linux only.
2) You patch it as a normal environment, I believe the patch for recent JDK is applied with OPatch, the patch has the details on how to install it.
3) No idea
1. Yes, it seems to be Windows specific issue. When I run it on Linux – volume mount works fine up to the end of domain configuration.
Unfortunately most of BI teams are Windows based, so it is a show stopper on using docker OBIEE as part of development in smooth way.
2. I would like to have those patches included as part of images builds – for java, fwm and bi images (instead of installing them manually on running container in the Kubernetes pod), so I would need to add patch installation script as part of Docker image for OracleBI. Did you come across any Dockerfile for OracleBI that includes patch installation lines ? I
1) For OBIEE there isn’t a real need for a volume mount, you could always simplify the image and get rid of the volumes.
2) Yes, I did that in a few places. But it’s part of projects I did for some customers, therefore not shared freely.