Author: GoldKeeperSnr

  • Configure BIEE Scheduler with MySQL

    I am using a Windows PC to do this, so the instructions may not directly translate to UNIX/Linux.

    1. Create a database for BIEE to use.
      Create the objects required using this script (this is a tweaked version of the standard SAJOBS.DB2.sql script):
      CREATE TABLE S_NQ_JOB (
          JOB_ID decimal(10,0) NOT Null,
          NAME varchar (50)  ,
          DESC_TEXT varchar (255)  ,
          SCRIPT_TYPE varchar (20)  ,
          SCRIPT varchar (255)  ,
          MAX_RUNTIME_MS decimal(10,0)  ,
          USER_ID varchar (128)  ,
          NEXT_RUNTIME_TS timestamp,
          LAST_RUNTIME_TS timestamp,
          MAX_CNCURRENT_INST decimal(10,0)  ,
          BEGIN_YEAR decimal(10,0)  ,
          BEGIN_MONTH decimal(10,0)  ,
          BEGIN_DAY decimal(10,0)  ,
          END_YEAR decimal(10,0)  ,
          END_MONTH decimal(10,0)  ,
          END_DAY decimal(10,0)  ,
          START_HOUR decimal(10,0)  ,
          START_MINUTE decimal(10,0)  ,
          END_HOUR decimal(10,0)  ,
          END_MINUTE decimal(10,0)  ,
          INTERVAL_MINUTE decimal(10,0)  ,
          TRIGGER_TYPE decimal(10,0)  ,
          TRIGGER_DAY_INT decimal(10,0)  ,
          TRIGGER_WEEK_INT decimal(10,0)  ,
          TRIGGER_RANGE_DOW decimal(10,0)  ,
          TRIGGER_RANGE_DOM decimal(10,0)  ,
          TRIGGER_RANGE_MTH decimal(10,0)  ,
          TRIG_RANGE_DAY_OCC decimal(10,0)  ,
          DELETE_DONE_FLG decimal(10,0) NOT Null,
          DISABLE_FLG decimal(10,0) NOT Null,
          HAS_END_DT_FLG decimal(10,0) NOT Null,
          EXEC_WHEN_MISS_FLG decimal(10,0) NOT Null,
          DEL_SCPT_DONE_FLG decimal(10,0) NOT Null,
          PATH_IN_SCPT_FLG decimal(10,0) NOT Null,
          ISUSER_SCPT_FLG decimal(10,0) NOT Null,
          DELETE_FLG decimal(10,0) NOT Null,
          TZ_NAME varchar(100)
      );
      CREATE INDEX S_NQ_JOB_M1 ON S_NQ_JOB (NEXT_RUNTIME_TS) ;
      CREATE INDEX S_NQ_JOB_M2 ON S_NQ_JOB (USER_ID);
      CREATE UNIQUE INDEX S_NQ_JOB_P1 ON S_NQ_JOB (JOB_ID);CREATE TABLE S_NQ_JOB_PARAM (
          JOB_ID decimal(10,0) NOT NULL,
          RELATIVE_ORDER decimal(10,0) NOT NULL ,
          JOB_PARAM varchar (255),
          DELETE_FLG decimal(10,0) NOT NULL
      );

      CREATE TABLE S_NQ_INSTANCE (
          JOB_ID decimal(10,0) NOT NULL,
          INSTANCE_ID decimal(20,0) NOT NULL,
          STATUS decimal(10,0),
          BEGIN_TS timestamp,
          END_TS timestamp,
          EXIT_CODE decimal(10,0) ,
          DELETE_FLG decimal(10,0) NOT NULL,
          ERROR_MSG_FLG decimal(10,0) NOT NULL
      );

      CREATE UNIQUE INDEX S_NQ_INSTANCE_U1 ON S_NQ_INSTANCE (JOB_ID, INSTANCE_ID);
      CREATE INDEX S_NQ_INSTANCE_M1 ON S_NQ_INSTANCE (END_TS, STATUS, INSTANCE_ID ASC) ;
      CREATE INDEX S_NQ_INSTANCE_M2 ON S_NQ_INSTANCE (BEGIN_TS, STATUS, INSTANCE_ID ASC) ;
      CREATE INDEX S_NQ_INSTANCE_M3 ON S_NQ_INSTANCE (INSTANCE_ID ASC, DELETE_FLG ASC) ;
      CREATE INDEX S_NQ_INSTANCE_M4 ON S_NQ_INSTANCE (JOB_ID, INSTANCE_ID, STATUS, DELETE_FLG) ;
      CREATE INDEX S_NQ_INSTANCE_M5 ON S_NQ_INSTANCE (STATUS ASC, DELETE_FLG ASC) ;

      CREATE TABLE S_NQ_ERR_MSG (
          JOB_ID decimal(10,0) NOT NULL,
          INSTANCE_ID decimal(20,0) NOT NULL,
          RELATIVE_ORDER decimal(10,0) NOT NULL,
          ERROR_MSG_TEXT varchar (255),
          DELETE_FLG decimal(10,0) NOT NULL
      );

      CREATE UNIQUE INDEX S_NQ_ERR_MSG_U1 ON S_NQ_ERR_MSG (JOB_ID, INSTANCE_ID, RELATIVE_ORDER);
      CREATE INDEX S_NQ_ERR_MSG_F1 ON S_NQ_ERR_MSG (INSTANCE_ID ASC)  ;
    2. Create a user, and grant it access to the tables.
    3. Create an ODBC Connection to the MySQL Database, and check it works.
    4. Now start the scheduler configuration tool.
      Tell it that the connection type is ODBC and let it use the default Call Interface. Then enter details of the Data source created in step three, and include the user name and password.
      So, using the Windows OS, I have set it as follows:
      BIEE Scheduler Connection Settings
      Can also do this in the schconfig command line based tool, so I would expect this to work the same way under Linux.
    5. Then start the Scheduler service.
    6. On windows navigate to this directory:
      c:\OracleBIData\web\config
    7. Then run the following:
      \OracleBI\web\bin\cryptotools.exe credstore -add -infile credentialstore.xml
      and input the following bold values:
      >Credential Alias: admin
      >Username: Administrator
      >Password: *************
      >Do you want to encrypt the password? y/n (y): n
      >File "credentialstore.xml" exists. Do you want to overwrite it? y/n (y): y
    8. Now must edit instanceconfig.xml file, as modification by MBean didn’t work correctly.
      edit instanceconfig.xml
      Now, look for </ServerInstance> entry at the end of the file, and immediately before it, insert the following (path needs to be adapted appropriately for installation directory.
      <CredentialStore>
      <CredentialStorage type="file" path="c:/OracleBIData/web/config/credentialstore.xml"/>
      </CredentialStore>

      Save the file. Credentials have now been saved correctly and will be used by Presentation Server.
    9. Restart the presentation server service.
    10. You should now be able to save a iBot and not get a error reported by the application server.
  • Installing Oracle InstantClient on Linux

    This was very quick and easy to to actually!

    I transferred the 11i client (basic and the SQL*Plus bit) to my central server, and extracted out the software.
    Then I copied the executables to my bin directory, and the libraries to the lib directory.
    Finally, I moved glogin.sql to my sql directory.
    All I then had to do was amend the profile to set an LD_LIBRARY_PATH variable.

    The only thing left was to ensure SQLPATH was set, and then set TNS_ADMIN variable to where I am housing the tnsadmin.ora file.

    Hey presto! an 11i client install which can connect everywhere I tell it that it can get to.

  • Running WinHlp32.exe on Vista

    OK, we have an application at work who’s help wasn’t working under Vista SP1.
    Had a hunt, found this on the Microsoft web site.

    In short, download a patch from here to install the executable.
    There are 32bit and 64bit installation packages.

    You now need to create the following entries in the registry.

    1. Create the folder:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp
    2. Next create the following DWORD (32-bit) values in the above created folder:
      AllowProgrammaticMacros with hex value of 1
      AllowIntranetAccess with hex value of 1

    At this point the PC should be bounced. On starting back up, the old help files should now work fine.

  • First batch is in.

    Quite relieved to have the first chunk out of the way.

    I really must go back over some of them, and see how relevant they still are…

    You never know, someone else might be looking for a “What a DBA should really know about 10gAS R3!” document.
    I can also put in my warnings about Oracle Portal 🙂

    Off to Legoland tomorrow…. Should be fun if the weather holds. Might be touch on the chilly side though.

    Hope TomTom wants to play properly with the route…
    I’m a bit worried the BlueTooth GPS Receiver doesn’t want to charge up again…
    That would be really annoying… Not sure I can get a replacement under guarantee this time…

    Ho humm, off to bed!

    Night all.

    Gavin

  • Getting there….

    … but it is taking a while though.

    I think I will try to focus on the performance based notes first.

    All that being said, I have transcribed my notes on my first installation of the Oracle eBusiness Suite and psychologically it feels good to get it all typed in!

    Gavin

  • Uggghhhh… first post.

    As part of my continuing attempts to use this site I’ve made properly, I’ve decided to sort out my study. So, today I’ve mostly been reading old UKOUG notes… I seem to have several dozen pages worth of notes for when I’ve been to UKOUG Conferences over the last few years… I’m going to transfer them up to this site… mainly so I can throw the stupid bits of paper away! I have a horrible feeling that they may be totally useless to everyone, but I just want to get rid of the paper!