Friday, December 28, 2012

Upgrading OBIEE 11.1.1.5 to 11.1.1.6



Hi :

Re the  above

basic steps

1 : download OBIEE 11.1.1.6 from edelivery
2:  shutdown everything
3:  run the main installer as software only
4: run PSA to upgrade the database bits  ( both MDS and BIPLATFORM )
5:  now upgradenonj2eeapp.sh for both main OPMN and WT OPMN
6: now run WLST to execute bi-upgrade.py
7: now upgrade catalogs via setting upgradeandexit=true in instanceconfig.xml,restart sawserver, change the flag back and bounce sawserver again
8:edit the BIADMINISTRATOR principle and add the extra permissions

The documentation is incorrect
http://docs.oracle.com/cd/E23943_01/doc.1111/e16793/patch_set_installer.htm#BGBEAFBG

if you are starting from 11.1.1.5 jumps you past the required steps 6,7,8 above ... just something to watch out for ...
Correct Post-Patch for OBIEE is

http://docs.oracle.com/cd/E23943_01/doc.1111/e16793/patch_set_installer.htm#CHDJFHHJ


enjoy !



Happy new year if not blogging before then.

Wednesday, December 19, 2012

Just got Discoverer Plus 10.1.2.3, Excel 2013 and Windows 8 all working together !  Yes I AM BORED

Sunday, December 9, 2012

Very good post on how to do post-mortems in a crash scenario

http://www.slideshare.net/danmil30/how-to-run-a-5-whys-with-humans-not-robots#btnNext


Friday, December 7, 2012

OEL6 and oracle-rdbms-server-11gR2-preinstall

This used to be called oracle-validated but it got changed to oracle-rdbms-server-11gR2-preinstall as it sounded better perhaps ?

This RPM is very useful as it allows you to bypass all the usual timewasting in getting simple Linux basic system setup done to allow the Oracle RDBS ( whoops RDBMS)  database be installed.

1. Oracle Public YUM Repositories are now free access, as is basic OEL itself.

2. OEL6 comes preconfigured with access to the public repositories ( or you can build your own ! )

3.  This is a little more difficult in OEL5 as you have to configure up the public YUM repos yourself  but they ARE available

Therefore if your machine has HTTP access to the internet you can set it  up REALLY easily.

Let's have a look at this.

Assumptions :

1.  Clean install of OEL6
2.  yum list has been done ( i.e. the repo has correctly populated with the updated list of packages etc. )


Finding the rpm 

[root@oel6cleanzero ~]# yum list|grep oracle

oracle-logos.noarch                       60.0.11-9.el6               @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release.x86_64                6:6Server-3.0.2             @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release-notes.x86_64          6Server-7                   @anaconda-                                                    OracleLinuxServer-201206261930.x86_64/6.3
oracle-rdbms-server-11gR2-preinstall.x86_64
oracleasm-support.x86_64                  2.1.5-1.el6                 ol6_latest
[root@oel6cleanzero ~]# yum list|grep oracle
oracle-logos.noarch                       60.0.11-9.el6               @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release.x86_64                6:6Server-3.0.2             @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oraclelinux-release-notes.x86_64          6Server-7                   @anaconda-OracleLinuxServer-201206261930.x86_64/6.3
oracle-rdbms-server-11gR2-preinstall.x86_64
oracleasm-support.x86_64                  2.1.5-1.el6                 ol6_latest

There it is at the end ! 

Let's install it ....  use the -y flag to answer yes to any prompts 

 yum -y install oracle-rdbms-server-11gR2-preinstall.x86_64

Loaded plugins: refresh-packagekit, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6 will be installed
--> Processing Dependency: gcc-c++ for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: gcc for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: libaio-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: glibc-devel for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: compat-libstdc++-33 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: ksh for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Processing Dependency: compat-libcap1 for package: oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-1 will be installed
---> Package compat-libstdc++-33.x86_64 0:3.2.3-69.el6 will be installed
---> Package gcc.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: cpp = 4.4.6-4.el6 for package: gcc-4.4.6-4.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.6-4.el6.x86_64
---> Package gcc-c++.x86_64 0:4.4.6-4.el6 will be installed
--> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.6-4.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.80.el6_3.6 will be installed
--> Processing Dependency: glibc-headers = 2.12-1.80.el6_3.6 for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: glibc = 2.12-1.80.el6_3.6 for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.80.el6_3.6.x86_64
---> Package ksh.x86_64 0:20100621-16.el6 will be installed
---> Package libaio-devel.x86_64 0:0.3.107-10.el6 will be installed
---> Package libstdc++-devel.x86_64 0:4.4.6-4.el6 will be installed
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.6-4.el6 will be installed
---> Package glibc.x86_64 0:2.12-1.80.el6 will be updated
--> Processing Dependency: glibc = 2.12-1.80.el6 for package: glibc-common-2.12-1.80.el6.x86_64
---> Package glibc.x86_64 0:2.12-1.80.el6_3.6 will be an update
---> Package glibc-headers.x86_64 0:2.12-1.80.el6_3.6 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.80.el6_3.6.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.80.el6_3.6.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
--> Running transaction check
---> Package glibc-common.x86_64 0:2.12-1.80.el6 will be updated
---> Package glibc-common.x86_64 0:2.12-1.80.el6_3.6 will be an update
---> Package kernel-uek-headers.x86_64 0:2.6.32-300.39.1.el6uek will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================
 Package                                         Arch              Version                              Repository             Size
====================================================================================================================================
Installing:
 oracle-rdbms-server-11gR2-preinstall            x86_64            1.0-6.el6                            ol6_latest             15 k
Installing for dependencies:
 cloog-ppl                                       x86_64            0.15.7-1.2.el6                       ol6_latest             93 k
 compat-libcap1                                  x86_64            1.10-1                               ol6_latest             17 k
 compat-libstdc++-33                             x86_64            3.2.3-69.el6                         ol6_latest            183 k
 cpp                                             x86_64            4.4.6-4.el6                          ol6_latest            3.7 M
 gcc                                             x86_64            4.4.6-4.el6                          ol6_latest             10 M
 gcc-c++                                         x86_64            4.4.6-4.el6                          ol6_latest            4.7 M
 glibc-devel                                     x86_64            2.12-1.80.el6_3.6                    ol6_latest            970 k
 glibc-headers                                   x86_64            2.12-1.80.el6_3.6                    ol6_latest            600 k
 kernel-uek-headers                              x86_64            2.6.32-300.39.1.el6uek               ol6_latest            716 k
 ksh                                             x86_64            20100621-16.el6                      ol6_latest            684 k
 libaio-devel                                    x86_64            0.3.107-10.el6                       ol6_latest             13 k
 libstdc++-devel                                 x86_64            4.4.6-4.el6                          ol6_latest            1.5 M
 mpfr                                            x86_64            2.4.1-6.el6                          ol6_latest            156 k
 ppl                                             x86_64            0.10.2-11.el6                        ol6_latest            1.3 M
Updating for dependencies:
 glibc                                           x86_64            2.12-1.80.el6_3.6                    ol6_latest            3.8 M
 glibc-common                                    x86_64            2.12-1.80.el6_3.6                    ol6_latest             14 M

Transaction Summary
====================================================================================================================================
Install      15 Package(s)
Upgrade       2 Package(s)

Total download size: 43 M
Downloading Packages:
(1/17): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm                                                                  |  93 kB     00:00
(2/17): compat-libcap1-1.10-1.x86_64.rpm                                                                     |  17 kB     00:00
(3/17): compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm                                                          | 183 kB     00:01
(4/17): cpp-4.4.6-4.el6.x86_64.rpm                                                                           | 3.7 MB     00:08
(5/17): gcc-4.4.6-4.el6.x86_64.rpm                                                                           |  10 MB     00:29
(6/17): gcc-c++-4.4.6-4.el6.x86_64.rpm                                                                       | 4.7 MB     00:10
(7/17): glibc-2.12-1.80.el6_3.6.x86_64.rpm                                                                   | 3.8 MB     00:09
(8/17): glibc-common-2.12-1.80.el6_3.6.x86_64.rpm                                                            |  14 MB     00:51
(9/17): glibc-devel-2.12-1.80.el6_3.6.x86_64.rpm                                                             | 970 kB     00:02
(10/17): glibc-headers-2.12-1.80.el6_3.6.x86_64.rpm                                                          | 600 kB     00:01
(11/17): kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64.rpm                                                | 716 kB     00:01
(12/17): ksh-20100621-16.el6.x86_64.rpm                                                                      | 684 kB     00:01
(13/17): libaio-devel-0.3.107-10.el6.x86_64.rpm                                                              |  13 kB     00:00
(14/17): libstdc++-devel-4.4.6-4.el6.x86_64.rpm                                                              | 1.5 MB     00:03
(15/17): mpfr-2.4.1-6.el6.x86_64.rpm                                                                         | 156 kB     00:00
(16/17): oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64.rpm                                           |  15 kB     00:00
(17/17): ppl-0.10.2-11.el6.x86_64.rpm                                                                        | 1.3 MB     00:02
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               320 kB/s |  43 MB     02:16
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
Importing GPG key 0xEC551F03:
 Userid: "Oracle OSS group (Open Source Software group) "
 From  : http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libstdc++-devel-4.4.6-4.el6.x86_64                                                                              1/19
  Updating   : glibc-2.12-1.80.el6_3.6.x86_64                                                                                  2/19
  Updating   : glibc-common-2.12-1.80.el6_3.6.x86_64                                                                           3/19
  Installing : mpfr-2.4.1-6.el6.x86_64                                                                                         4/19
  Installing : cpp-4.4.6-4.el6.x86_64                                                                                          5/19
  Installing : compat-libcap1-1.10-1.x86_64                                                                                    6/19
  Installing : ksh-20100621-16.el6.x86_64                                                                                      7/19
  Installing : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                         8/19
  Installing : ppl-0.10.2-11.el6.x86_64                                                                                        9/19
  Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                10/19
  Installing : kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64                                                               11/19
  Installing : glibc-headers-2.12-1.80.el6_3.6.x86_64                                                                         12/19
  Installing : glibc-devel-2.12-1.80.el6_3.6.x86_64                                                                           13/19
  Installing : gcc-4.4.6-4.el6.x86_64                                                                                         14/19
  Installing : gcc-c++-4.4.6-4.el6.x86_64                                                                                     15/19
  Installing : libaio-devel-0.3.107-10.el6.x86_64                                                                             16/19
  Installing : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64                                                          17/19
  Cleanup    : glibc-2.12-1.80.el6.x86_64                                                                                     18/19
  Cleanup    : glibc-common-2.12-1.80.el6.x86_64                                                                              19/19
  Verifying  : compat-libcap1-1.10-1.x86_64                                                                                    1/19
  Verifying  : ksh-20100621-16.el6.x86_64                                                                                      2/19
  Verifying  : glibc-common-2.12-1.80.el6_3.6.x86_64                                                                           3/19
  Verifying  : gcc-4.4.6-4.el6.x86_64                                                                                          4/19
  Verifying  : libaio-devel-0.3.107-10.el6.x86_64                                                                              5/19
  Verifying  : oracle-rdbms-server-11gR2-preinstall-1.0-6.el6.x86_64                                                           6/19
  Verifying  : gcc-c++-4.4.6-4.el6.x86_64                                                                                      7/19
  Verifying  : glibc-headers-2.12-1.80.el6_3.6.x86_64                                                                          8/19
  Verifying  : libstdc++-devel-4.4.6-4.el6.x86_64                                                                              9/19
  Verifying  : compat-libstdc++-33-3.2.3-69.el6.x86_64                                                                        10/19
  Verifying  : glibc-2.12-1.80.el6_3.6.x86_64                                                                                 11/19
  Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                                        12/19
  Verifying  : kernel-uek-headers-2.6.32-300.39.1.el6uek.x86_64                                                               13/19
  Verifying  : cpp-4.4.6-4.el6.x86_64                                                                                         14/19
  Verifying  : glibc-devel-2.12-1.80.el6_3.6.x86_64                                                                           15/19
  Verifying  : ppl-0.10.2-11.el6.x86_64                                                                                       16/19
  Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                17/19
  Verifying  : glibc-2.12-1.80.el6.x86_64                                                                                     18/19
  Verifying  : glibc-common-2.12-1.80.el6.x86_64                                                                              19/19

Installed:
  oracle-rdbms-server-11gR2-preinstall.x86_64 0:1.0-6.el6

Dependency Installed:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6                                     compat-libcap1.x86_64 0:1.10-1
  compat-libstdc++-33.x86_64 0:3.2.3-69.el6                             cpp.x86_64 0:4.4.6-4.el6
  gcc.x86_64 0:4.4.6-4.el6                                              gcc-c++.x86_64 0:4.4.6-4.el6
  glibc-devel.x86_64 0:2.12-1.80.el6_3.6                                glibc-headers.x86_64 0:2.12-1.80.el6_3.6
  kernel-uek-headers.x86_64 0:2.6.32-300.39.1.el6uek                    ksh.x86_64 0:20100621-16.el6
  libaio-devel.x86_64 0:0.3.107-10.el6                                  libstdc++-devel.x86_64 0:4.4.6-4.el6
  mpfr.x86_64 0:2.4.1-6.el6                                             ppl.x86_64 0:0.10.2-11.el6

Dependency Updated:
  glibc.x86_64 0:2.12-1.80.el6_3.6                              glibc-common.x86_64 0:2.12-1.80.el6_3.6


As we can see it has installed all the prerequisites and dependencies needed to install Oracle Database on Enterprise Linux 6. 

But it has done other stuff too ... let's look at that ! 

It logs all its work in 
/var/log/oracle-rdbms-server-11gR2-preinstall
-bash: l: command not found
[root@oel6cleanzero oracle-rdbms-server-11gR2-preinstall]# ls -lrt
total 8
drwxr-xr-x. 3 root root 4096 Dec  5 11:11 backup
drwx------. 2 root root 4096 Dec  5 11:11 results
[root@oel6cleanzero oracle-rdbms-server-11gR2-preinstall]#

Every file it amends is backed up in the backup directory and the what it does is logged in the results directory. 
Lets look in the results directory and we see one file orakernel.log 

Adding group oinstall with gid 54321
Adding group dba
Adding user oracle with user id 54321, initial login group oinstall, supplementary group dba and  home directory /home/oracle
Changing ownership of /home/oracle to oracle:oinstall
Please set password for oracle user
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
Creating oracle user passed

Verifying  kernel parameters as per Oracle recommendations...
fs.file-max             6815744
kernel.sem              250 32000 100 128
kernel.shmmni           4096
kernel.shmall           1073741824
kernel.shmmax           4398046511104
net.core.rmem_default           262144
net.core.rmem_max               4194304
net.core.wmem_default           262144
net.core.wmem_max               1048576
fs.aio-max-nr           1048576
net.ipv4.ip_local_port_range            9000 65500
Setting kernel parameters as per oracle recommendations...
Altered file /etc/sysctl.conf
Original file backed up at /etc/sysctl.conf.orabackup
Verifying & setting of kernel parameters passed

Verifying oracle user OS limits as per Oracle recommendations...
oracle  soft    nofile          1024
oracle  hard    nofile          65536
oracle  soft    nproc           2047
oracle  hard    nproc           16384
oracle  soft    stack           10240
oracle  hard    stack           32768
Setting oracle user OS limits as per Oracle recommendations...
Altered file /etc/security/limits.conf
Original file backed up at /etc/security/limits.conf.orabackup
Verifying & setting of user limits passed

Verifying kernel boot parameters as per Oracle recommendations...
old boot params: kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16  rd_NO_DM rhgb quiet, new boot params: kernel /vmlinuz-2.6.39-200.24.1.el6uek.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16  rd_NO_DM rhgb quiet numa=off

old boot params: kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rhgb quiet, new boot params: kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/mapper/vg_oel6cleanzero-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_oel6cleanzero/lv_root rd_NO_MD rd_LVM_LV=vg_oel6cleanzero/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_NO_DM rhgb quiet numa=off

Setting kernel boot parameters as per Oracle recommendations...
Boot parameters will be effected on next reboot
Altered file /boot/grub/grub.conf
Original file backed up at /boot/grub/grub.conf.orabackup
Verifying & setting of boot parameters passed

Taking a backup of old config files under /var/log/oracle-rdbms-server-11gR2-preinstall/backup/Dec-05-2012-11-11-05


So what has it done : 

  1. Added required prerequisite Oracle RPMs to allow Oracle database install OK 
  2. Added Oracle users and groups ( dba,oinstall etc )  . there is no password set on the Oracle user so no password login can happen 
  3. Sets up kernel sysctl and limits.conf ( always fiddly ) 
  4. Changes the kernel to boot numa off 
  5. also modprobes the kernel for flow control if needed. 
So when we are done we are more or less good to install oracle straight away ! Massive timesaver 

Note this doesn't apply to RAC but you will be doing stringent hardware checks anyway 

Also I don't think this works for RHEL but it's worth a try to mess about with

Hope this helps ( did a little unconference about it at UKOUG 2012 ! ) 






Friday, November 23, 2012

Connecting Oracle Business Intelligence OBIEE to ODBC SQL Server Data Source



Hello again.   One thing I wanted to blog about was to how to get OBIEE to talk to SQL Server.

Version of  OBIEE :  11.1.1.6 ,  OS Linux x86-64

Version of SQL Server :  2008.

There are two things to do, one easy and one a little complicated.

The easy one to do is to connect rhe Admin PC ; this is as simple as creating a SQL Server ODBC DSN in ODBC Administrator.  You can then reference this ODBC DSN  in the Repository Builder.

The only real thing to be noted here is the consistent naming convention that must be adopted; you MUST give the DSN a valid name such as LIVE_DWH , TEST_DWH or some such.  The reason for this is you will be using it on the server side, as the name will be encoded into the RPD and so it will look for it on our ODBC config on the server side.


So we assume when starting here you are configuring the server side only  to talk to the ODBC data source.

I presume a slightly different approach is needed for a Windows server OS but it may not be, I haven't tried.

Items to be obtained before we continue.

1.  IP Address or hostname of the database server.
2. Port Number for the SQL Server Database This is usually 1433

Before you proceed ensure you can reach the database server, e.g. via telnet 1433.  If the screen clears or responds then the commlink is usually OK, if unreachable or timeout then you need to fix before progressing ( usually a firewall issue ). If telnet is not present ask for it to be installed or su - yourself and yum -y install telnet 

So we know we can reach the server.  We now need to know

3.  Userid and password to connect to the database.
4.  Name of the database inside SQL Server.

Merant Drivers. 
Oracle supply the Merant drivers to enable OBIEE to talk to an ODBC data source; specifically what you are doing is enabling nqserver to do so.

Unfortunately to confuse matters they also supply  2 different driver versions ( 5.3 and 6.0 ) and the default 5.3  one doesn't work ( well it doesn't for me )  to talk to SQL Server 2008. However the 6.0 has no issues.

So our story is
1:  Reconfigure OBIEE to use 6.0 drivers
2:  Configure the drivers to point at our DSN
3:  Check functionality.

Reconfiguring OBIEE

OBIEE Siebel processes ( nqserver, sawserver etc ) are executables that are controlled in V11 by the opmn framework.

Environment settings for these processes are contained in opmn.xml


OPMN to use the 6.0 Drivers 

Therefore in order to make OBIEE use the 6.0 drivers instead of the 5.3 ones we must edit opmn,xml.

Our first task is to find the right opmn.xml file

If you've installed OBIEE in the best practice setup you will have two, one for the FMW components and one for the WT components

The one you want is the FMW one.

This is usuallly found in

$OH//mw/instances/instance1/config/OPMN/opmn/opmn.xml

OK.  So take a backup of the file ( if you don't, and it breaks, it is one of the easiest means of making the OBIEE completely unusable as it is a key configuration file. ).

In this file you will see several entries for LD_LIBPATH and PATH.

These paths contain references to the Merant 5.3 drivers -e.g.


   

We need to point to all the 6.0 drivers instead.  Check the driver are installed 

ls $ORACLE_HOME/common/ODBC/Merant




]$ ls -lrt /mw/Oracle_BI1/common/ODBC/Merant/
total 16
 4096 Jun 14  2011 5.3
 4096 Jun 14  2011 5.2
 4096 Jun 14  2011 6.0SP1
 4096 Jun 14  2011 6.0

OK so they are there.
Now we need to replace the paths to 6.0 instead

Do this manually in opmn.xml above

or you can use ( no charge ! )



 sed 's/Merant\/5\.3/Merant\/6\.0/' < ./mw/instances/instance1/config/OPMN/opmn/opmn.xml > opmn.xml.new , and replace the files as appropriate

if you can't be bothered with all that typing 

OBIEE ODBC to point at Sql Server 2008 

 With the above fixes we now have good drivers to use, the next thing to is to configure the drivers to point at our needed DSN.  This means editing ODBC.ini

From the Windows Admin tool you have already added an ODBC DSN . We will call this FOODSN. 

Since the RPD wants this we also create it in ODBC.INI

Where edits are done below to protect the client settings I have **  them. 

[FOODSN]
Driver= ** PATH TO ** /Oracle_BI1/common/ODBC/Merant/6.0/lib/ARmsss24.so
Description=DataDirect 6.0 SQL Server Native Wire Protocol
AlternateServers=
AlwaysReportTriggerResults=0
AnsiNPW=1
ApplicationName=
ApplicationUsingThreads=1
AuthenticationMethod=1
BulkBinaryThreshold=32
BulkCharacterThreshold=-1
BulkLoadBatchSize=1024
BulkLoadOptions=2
ConnectionReset=0
ConnectionRetryCount=0
ConnectionRetryDelay=3
Database=**  NAME OF SQL SERVER DATABASE 
EnableBulkLoad=0
EnableQuotedIdentifiers=0
EncryptionMethod=0
FailoverGranularity=0
FailoverMode=0
FailoverPreconnect=0
FetchTSWTZasTimestamp=0
FetchTWFSasTime=1
GSSClient=native
Address=** IP ADDRESS  OF THE DATABASE, PORT OF THE SQL CONNECTION;
HostNameInCertificate=
InitializationString=
Language=
LoadBalanceTimeout=0
LoadBalancing=0
LoginTimeout=15
LogonID=** USERID TO CONNECT TO SQL SERVER 
MaxPoolSize=100
MinPoolSize=0
PacketSize=-1
Password=** PASSWORD TO CONNECT TO SQL SERVER 
Pooling=0
PortNumber=** WHATEVER THE PORT IS 
QueryTimeout=0
ReportCodePageConversionErrors=0
SnapshotSerializable=0
TrustStore=
TrustStorePassword=
ValidateServerCertificate=1
WorkStationID=
XML Describe Type=-10
Trace = 1
TraceFile = ** PATH TO SOME TRACE FILE IF PROBLEMS OCCUR 
TraceDll =  ** PATH TO ** /Oracle_BI1/common/ODBC/Merant/6.0/lib/odbctrac.so

OK.  To make all this work you must restart OPMN 

opmnctl stopall
opmnctl startall 

For debugging purposes, if errors occur they will be seen when you try and access a table in FOODSN.  

The best source of debugging errors is 
1. nqserver.log
2.  IF you are very lucky the ODBC trace routines will work.  This is very tedious to get working. 



Thursday, November 22, 2012

Changing Discoverer to run in Amazon EC2 AWS

Installing Discoverer in Amazon EC2 on linux is straightforward with only a few problems so we won't go into that here.
What I want to talk about is how to make Discoverer deal with instance restarts. This is a problem because usually in EC2 public when the instance restarts it will get a new hostname, and so Discoverer will stop working.

Disco Version : 10.1.2.3  NOT CHECKED AND PROBABLY DOESN'T work for WLS Disco 11+

So how do we solve this ?

There is a number of things to fix.


  1. Database
  2. Middle Tier
  3. Apache 

The intent is to fix these in a repeatable, scriptable way ; we're not quite there yet but we have simple steps to fix them all; it's just a question of scripting the damn things. 

1. Database :  
Easy - we assume no DB control, Grid Control, or agent.  In this case all that needs fixing is the local hostname in listener.ora 
Use  curl http://169.254.169.254/latest/meta-data/local-hostname
to find out the local hostname and sub it into listener. ora

2. Middle Tier 
We need to run chgiphost.sh. 
Source the AS environment and cd $ORACLE_HOME/chgipost/scripts
./chgiphost.sh 

oracle@ip-foonew scripts]$ ./chgiphost.sh  -mid
Oracle Home set to /u01/oracle/as
Starting Change Hostname/IP...

Enter fully qualified hostname (hostname.domainname) of destination
 (ip-foonew.eu-west-1.compute.internal)>>
Enter fully qualified hostname (hostname.domainname) of source
 (ip-fooold.eu-west-1.compute.internal)>>
Enter valid IP Address of destination
 (foonew)>>
Enter valid IP Address of source
 (fooold)>>
Change Hostname/IP completed successfully.

( In the above foonew and foold stand for the actuals from my environment.  chgipghost is a neat little script that figures out the new and old IP addresses 


3.  Apache. 

 In order to make Disco serve up properly over the Internet we had had to configure Apache to return the correct servername

Now that the name has changed we need to fix it again. 
So we need the existing public hostname

curl http://169.254.169.254/latest/meta-data/public-hostname

ec2-fooexternal.eu-west-1.compute.amazonaws.com

in httpd.conf change 
ServerName ec2foooldexternal.eu-west-1.compute.amazonaws.com

to 
ServerName ec2fooexternal.eu-west-1.compute.amazonaws.com


All should be OK now

startup db and ias 

$ORACLE_HOME/opmn/bin/opmnctl startall

All works  !  Tea and biscuits for everyone 

More later ! 

Friday, November 9, 2012

OEL 5 Repository Configuration.

Oracle Enterprise Linux 5 as shipped isn't connected to the free public yum OEL repositories.

In order to fix this to get system updates and any packages, you need to set Yum up.

This is massively easier than it looks.

Ensure your OEL system can reach the Net e.g. via

wget http://www.google.ie or some such.

We need to get the public repo details so


cd /etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-el5.repo

It should download the repo file to this directory. 

Assuming you want the latest build of everything, you are done, as the latest repo is by default enabled ; otherwise edit the repo file to enable the version you want 

Then it's just yum update.

All done. 

* Note el5 is different for el4 and el6 of course.