Friday, September 28, 2012

Resetting weblogic OBIEE admin password / creating new OBIEE admin user / forgot weblogic admin password

During the installation of OBIEE 11g on my humble 6 year old Thinkpad laptop, I came across this error where the admin user namely weblogic was not able to login after the installation even though the password was correctly typed.

Tried shutting down the service and restarting it from command line but Admin server (weblogic) refused to start citing authentication problem for the admin “weblogic” user.

The best way to resolve this is to create another admin user and then login with this new user in the Fusion Middleware console and then change the password for the old admin user “weblogic”.

  1. open a cmd prompt and cd to $DOMAIN_HOME\bin e.g. D:\OBIEE11g\user_projects\domains\bifoundation_domain\bin
  2. and execute setDomainEnv.cmd
  3. in the directory D:\OBIEE11g\user_projects\domains\bifoundation_domain\security rename DefaultAuthenticatorInit.ldift file to DefaultAuthenticatorInit.ldift.org
  4. generate a new admin user and password by
    cd D:\OBIEE11g\user_projects\domains\bifoundation_domain\security
    java weblogic.security.utils.AdminAccount rtadmin rtpass .
    note:
    rtadmin is the new admin user
    rtpass is the password for the new admin user
    .(dot) after password will create a new default authenticator file “DefaultAuthenticatorInit.ldift” in the current directory (which is the “security” directory).
  5. rename boot.properties located in D:\OBIEE11g\user_projects\domains\bifoundation_domain\servers\AdminServer\security to boot.properties.bak
  6. rename DefaultAuthenticatormyrealmInit.initialized located in D:\OBIEE11g\user_projects\domains\bifoundation_domain\servers\AdminServer\data\ldap to DefaultAuthenticatormyrealmInit.initialized.bak
    note: it’s a good idea to backup the entire D:\OBIEE11g\user_projects\domains\bifoundation_domain\servers\AdminServer\data directory
  7. open a cmd prompt and start the Admin server
    D:\OBIEE11g\user_projects\domains\bifoundation_domain\bin>startWebLogic.cmd
    provide the new admin username and password: rtadmin/rtpass
  8. the weblogic server should start and you should have access to the weblogic console http://localhost:7001/console/
    Login to weblogic console with the new admin user and go to Security Realms –> myrealm. select the users and Groups tab


  9. change the password fro the old admin user “weblogic”
    save and logout. Test things work fine by logging in as “weblogic” use with the new password.
  10. in the directory D:\OBIEE11g\user_projects\domains\bifoundation_domain\servers\AdminServer\security create the boot.properties. This file contains the username and password of the admin user. when you start the services, the username and password will be encrypted.
Note: if you delete or rename the data directory located in D:\OBIEE11g\user_projects\domains\bifoundation_domain\servers\AdminServer\data, weblogic will create a new data/ldap directory BUT important users like  BISystemUser and OracleSystemUser will no longer be available and your service will not start properly.

Wednesday, September 26, 2012

Localizing BI Metadata in OBIEE

We Localize metadata specific to user locale deployments. This post explains how to localize the repository meta data. Users can select their preferred language choice and   create and view the analysis.

You can use the Externalize Strings utility in the Administration Tool to localize the
names of subject areas, tables, hierarchies, columns, and their descriptions in the
Presentation layer –> OBIEE Administrator’s guide.

Open your repository in the BI Admin Tool. Select the Subject Area which you want to localize. Right click on the subject area –> Externalize display names –> Generate custom name.

image

go to the Tools Menu –> utilities  and select the “Externalize Strings” utility.

Note: Before you do this, make sure your presentation layer objects have sensible names else the translation won’t make much sense.

image

image

Save the data to a csv file. I have named the file as salesLocalization.csv the contents of which look as shown below.

.localizing04

change the file contents as described below,

  • delete the last column
  • rename the columns to METADATA_OBJECT, SESSION_VAR, MESSAGE
  • create a new column LANG_ID
  • insert translated entries in the languages you want.

The first column contains the actual  repository object name, the second contains the session variable name for that object, the third contains the text that should be displayed in Answers and the fourth column you specify the language code.

the modified file will look like this:

image

create a table in your data warehouse schema

CREATE TABLE JT_LOCALIZATION
(
    METADATA_OBJECT     varchar2(200),
    SESSION_VAR     varchar2(200),
    MESSAGE     varchar2(200),
    LANG_ID     varchar2(5)
);

import the data from the csv file into this table by your technique of choice (toad, sql loader, etc).

create a new connection pool and import this table in the repository.

image

image

create a row-wise inilitalization block to match the user selected language session variable.

image

localizing09

give the default initialization string as

select SESSION_VAR, MESSAGE from JT_LOCALIZATION where LANG_ID =
'VALUEOF(NQ_SESSION.WEBLANGUAGE)'

localizing10

localizing11

localizing12

localizing13

localizing14

localizing15

Check for consistency, save your rpd and deploy it.

Login in to Answers, and select the default language (English),

logout and login but this time select French or Spanish and notice the change in the way the  translated text is displayed in answers.

localizing17

Friday, September 7, 2012

Using netstat command and process explorer to check port usage by application

 

While installing Visual SVN server on Windows, the installation wizard showed that port 443 was being used by another program. I didn’t remember the program that was using this port, hence I wanted to check which program was using it. I did this on Windows 7 64 bit.

there are various options available  with the netstat command.

image

image

notice the PID 2324, check this PID in process explorer

image

In this case, TeamViewer is using the 443 port. Better to switch to an alternative port such as 8443

  1. Note: you may want to use the command netstat -a -n -o –b so that it also displays the application using the particular port of interest to you. This is good for a quick peek at the conflict, but using process explorer has its own advantages.
  2. you can use the pipe and find command to limit the output of the netstat command. netstat -a -n -o | find "443"