Wednesday, March 19, 2014

RPD Password RESET in OBIEE11g

As per my knowledge we cant able to reset the RPD password.But we can able to know already deployed RPD passwords with the help of Wlst script.

Like 10g in 11g also we can able to open RPD in Offline and Online mode.Better to memorize the password for future perspective.If we have process to reset pwd then developer can able to know the production rpd password.Then security issues come into pictuire.



Login to weblogic EM  and navigate to credentials store page as shown below.



Expand the key map oracle.bi.enterprise. It shows the earlier deployed RPD passwords.
In above image, I have 4 repositories and one scheduler schema keys in my credential key map. From the list, to get the password of “SampleAppLite” repository, follow these steps:
  • Open command prompt,
  • E:\>cd <OBIEE_HOME>\oracle_common\common\bin
  • Run wlst scrpt: <OBIEE_HOME>\oracle_common\common\bin>wlst.cmd
  • Connect to weblogic domain with the command:

    connect(“<weblogic_AdminUser>”,”<weblogic_AdminUser_Password>”,”<Adminserver_Hostname>:<Admin_Portno>”) 

    e.g: wls:/offline> connect(“weblogic”,”weblogic123″,”localhost:7001″)Connecting to t3://localhost:7001 with userid weblogic …Successfully connected to Admin Server ‘AdminServer’ that belongs to domain ‘bifoundation_domain’.————
  • Run listCred() command to get the password of SampleAppLite repository
    wls:/bifoundation_domain/serverConfig> listCred(“oracle.bi.enterprise”,”repository.SampleAppLite″)
    Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
    For more help, use help(domainRuntime)

    [Name : tempvalue, Description : null, expiry Date : null]
    PASSWORD:Admin321
You will get the password: Admin321.

Tuesday, March 18, 2014

OBIEE 11g Presentation Server Catalog Replication Across Redundant Servers



Webcat Sync with other servers:The thing about OBIEE 11g, is that there is no single way to get things “up and running”. Over the past year I have performed countless OBIEE installs and almost every one has been different to the last, due to infrastructure challenges, scale requirements or requirements for high-availability and server redundancy.
There is little we can do about infrastructure challenges, typically around policies which are in place across the IT estate and must be adhered to. Scale is simple; more users means more or bigger servers. The last point on the list is HA & server redundancy, and this is arguably the biggest area we need to address before punching in “./runInstaller” at the command-prompt.
Mark Rittman is currently pulling a wider blog posts around options for HA & server redundancy, so I’m not about to get into that in this post. What I will share in my first Rittman Mead blog post is something I have been working on recently, that is sometimes implemented as part of a HA/redundancy solution; BI Presentation Server catalog replication.

BI Presentation Server catalog replication is the Oracle supported method of moving a BI Presentation Server catalog from one running OBIEE instance to another. This is useful is many situations namly:
  • Release cycle management when specific aspects of the BI Presentation Server catalog need to be moved from one OBIEE environment to another, such as development to testing.
  • Full BI Presentation Server catalog synchronization between OBIEE instances to provide two OBIEE instances with exactly the same BI Presentation Server catalog for DR.
The 2nd point above is the scenario I am looking to cover here – using this utility we can make sure the BI Presentation Server catalog on two distinct OBIEE instances are the same. In a DR event we can either point users at the secondary server or reverse this utility to pump the data from the DR server to the primary server after the fault on the server has been cleared.  The RPD and other changes, such as user roles, would be managed as part of the release process and copied to the DR server when they are pushed to the production server. It is only the BI Presentation Server catalog which is constantly changing as the OBIEE instance is used, and therefore only the BI Presentation Server catalog which needs to be constantly replicated.
To set up BI Presentation Server catalog replication, we can use a command-line utility which ships with Oracle Business Intelligence 11g, called either “sawrepaj.bat” or “sawrepaj.sh” depending on your operating system (the two are functionally identical, and differ only in the way they are invoked from the command-line). “sawrepaj” has options to synchronise catalogs between servers, or to simply export a catalog for backups or as part of the release lifecycle; in addition, we can control the grain of what is exported down to an individual catalog folder or file.
The utility runs from the command-line and accepts a number of options, or commands, to specify how the replication takes place, using the following syntax:
sawrepaj.sh [/C path] command [command parameters]
  • mark – instruct the OBIEE server to ‘watch’ catalog files and record changes.
  • run – run the batch, as defined in the config.xml file.
Before using the utility, we need to create a config.xml file which instructs the OBIEE Presentation Services to record changes, and tells sawrepaj what to do when it executes.
The config.xml file can be placed anywhere in the filesystem and is referenced using the /C switch when calling sawrepaj – more about this /C switch later. The config file tells the sawrepaj utility which Oracle BI Presentation Servers are involved in the replication, and how to access them. The example below includes a source and target Oracle BI Presentation Server – however you could add countless other BI Presentation Servers depending on your environment.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Oracle BI Presentation Services Replication Agent Configuration File -->
<Config>
<General>
<LogExpiresHours>48</LogExpiresHours>
</General>
<Server name=”serverA" user="weblogic" pwd="Password01">
<Property name= "oracle.bi.presentation.url"
<Property name="oracle.bi.presentation.usesoaptcptransport" value="N"/>
</Server>
<Server name="serverB" user="weblogic" pwd="Password01">
<Property name= "oracle.bi.presentation.url"
<Property name="oracle.bi.presentation.usesoaptcptransport" value="N"/>
</Server>
<Folderset name="all">
<Folder>/</Folder>
</Folderset>
<ReplicationTask destination="serverA" source="serverB" folders="all" />
</Config>
The three sections of interest in the above file are Server, FolderSet and ReplicationTask. Each
  • Server tag points to an OBIEE Presentation Services instance with credentials for a user with has SOAP access.
  • FolderSet tag contains a list of Folder tags which detail the folders within the webcat to replicate.
  • ReplicationTask contains the instruction of what to do when we run sawrepaj. For the above example, serverA is the target and ServerB is the source.
Before any replication can begin, we need to enable each BI Presentation Server component for replication. Add the below to the instanceconfig.xml file between the <catalog> tags. This needs to be done for all all Presentation Server components, whether source or target for the replication.
<Replication>
<Enabled>true</Enabled>
<ReadLogRecordsSinceHoursAgo>120</ReadLogRecordsSinceHoursAgo>
<RecordsInFileLimit>4000</RecordsInFileLimit>
</Replication>
Now, back to the sawrepaj commands:
mark – The mark command is used to tell tBI Presentation services which webcat files to monitor for changes. We can be as specific as a single file, or as as vague as an entire webcat. You will need to run this on a BI server with the following command:
sawrepaj mark all /
run – The final part of the process, the run command will instruct sawrepaj to run all the tasks in the config.xml file. The below is an example of the command. If your config.xml file is not in the root path of the sawrepaj tool, you will need to specify it’s location with the /C switch. This command can be added to a cronjob, a Windows scheduler or can be ran manually, or as part of another script.
sawrepaj /C /my/config/file/config.xml run
That’s it! Once completed, the above steps will give you all you need to set up full catalog replication between multiple BI servers

Tuesday, April 2, 2013

OBIEE 11g Architecture


Web Logic Server Domain :
J2EE App Server used across the board for all 11g BI applications Contains :
Managed Server : Set of J2EE Applications used for “functioning” the BIEE system
Admin Server : Set of J2EE Applications used for “administering” of BI EE system
Oracle Process Manager and Notification Server (OPMN) domain :
Used to start/Stop system components (BI Svr, BI Pres Svr, BI Schdlr, BI ClustrCntrl)
Can be accessed from CMD or from EM page(GUI)
 Admin Server Components
WLS Admin Console
Admin GUI for WLS,Security and J2EE Components
Fusion Middleware-EM Control (FMW EM)
Admin GUI to Manage the BI Domain
JMX Beans
Java components that provide programmatic access for managing a BI domain.
Managed Server Components:
BI Plugin : Sends web http requests to BI Presentation Services
BI Security :Integrates BI Server and FMW sec platform(using webservice calls)
BI Action Services: Dedicated web services for Action framework
BI Web Service SOA: Provides Web services for objects in the BIEE Presentation Catalog, to invoke analysis, agents, and conditions.
BI Office: Provides the integration between Oracle Business Intelligence and Microsoft Office products
BIEE Domain System Components:
BI Server :
Provides capabilities to query and access data as well as services for accessing and managing the RPD file (BIEE Metadata).
BI Presentation Services:
Provides the framework and interface for the presentation of business intelligence data to Web clients. It maintains an Oracle BI Presentation Catalog service on the file system for the customization of this presentation framework.
BI Scheduler :    
 Provides framework for scheduling and delivering reports to users (used by delivers)
BI Javahost :
Enables BI Presentation Services to support various components: Java tasks for BI Scheduler, BI Publisher, and Graph generation.
BI Cluster Controller:
Used for distributing requests to BI server and ensure load balancing
Files:
Repository file (e.g. SampleSales.rpd)
Config Files (nQconfig.ini,instanceconfig.xml,)
Log Files (nqserver.log,nqquery.log, nqscheduler.log, sawlog0.log etc)
Presentation catalog (<MW_HOME>\OracleBIPresentationServicesComponent\coreapplication_obips1\catalog)

Tuesday, January 22, 2013

OBIEE11g RPD Deployment


Login to Oracle Enterprise Manager [Fusion Middleware Console]








Date Calculations

Various Calculations for Date in OBIEE


·        Due within Days:

TimestampDiff(SQL_TSI_DAY,CURRENT_DATE,"Time Dimension"."Date")



·        Days Past Due:

TimestampDiff(SQL_TSI_DAY, "Time Dimension"."Date",CURRENT_DATE)



·        Calculate current year with Current quarter:

EVALUATE ('TO_CHAR(%1,%2)' AS CHARACTER ( 30 ), CURRENT_DATE, 'YYYY-Q')



·        Calculate previous year’s Current Year with previous year’s current quarter:

EVALUATE ('TO_CHAR(%1,%2)' AS CHARACTER ( 30 ), TIMESTAMPADD( SQL_TSI_YEAR , -1, CURRENT_DATE), 'YYYY-Q')




·        Calculate current year with current fiscal quarter:

EVALUATE ('TO_CHAR(%1,%2)' AS CHARACTER ( 30 ), CURRENT_DATE, 'YYYY')||'-'||CAST("Time Dim"."Fiscal Quarter" AS char)


·        Calculate previous year’s current year with previous year’s current fiscal quarter:

EVALUATE ('TO_CHAR(%1,%2)' AS CHARACTER ( 30 ), TIMESTAMPADD( SQL_TSI_YEAR , -1, CURRENT_DATE), 'YYYY')||'-'||CAST("Time Dim"."Fiscal Quarter" AS char)



·        First Day of the CURRENT Month:

TIMESTAMPADD(SQL_TSI_DAY, -1,TIMESTAMPADD(SQL_TSI_MONTH,1,TIMESTAMPADD(SQL_TSI_DAY,1,TIMESTAMPADD(SQL_TSI_DAY, DAYOFMONTH(CURRENT_DATE)*-1, CURRENT_DATE))))

·        Last Day of Current Month

TIMESTAMPADD( SQL_TSI_DAY , -(1), TIMESTAMPADD( SQL_TSI_MONTH , 1, TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH( CURRENT_DATE) * -(1) + 1, CURRENT_DATE)))



·        First Day of the Previous Month

TIMESTAMPADD(SQL_TSI_MONTH, -1, TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH( CURRENT_DATE) * -(1) + 1, CURRENT_DATE))


·        Last Day of the Previous Month

TIMESTAMPADD( SQL_TSI_DAY , -(1), TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH( CURRENT_DATE) * -(1) + 1, CURRENT_DATE))



·        First Day of the Next Month

TIMESTAMPADD(SQL_TSI_MONTH, 1, TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH( CURRENT_DATE) * -(1) + 1, CURRENT_DATE))

·        Last Day of the Next Month

TIMESTAMPADD( SQL_TSI_DAY , -(1), TIMESTAMPADD( SQL_TSI_MONTH , 2, TIMESTAMPADD( SQL_TSI_DAY , DAYOFMONTH( CURRENT_DATE) * -(1) + 1, CURRENT_DATE)))




·        First Day of the Current Year

TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE)

·        Last Day of Current Year

TIMESTAMPADD(SQL_TSI_YEAR, 1, TIMESTAMPADD( SQL_TSI_DAY , -1, TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE)))



·        First Day of the Previous Year

TIMESTAMPADD( SQL_TSI_YEAR , -1, TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE))

·        Last Day of Previous Year

TIMESTAMPADD( SQL_TSI_DAY , -1, TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE))


·        First Day of the Next Year

TIMESTAMPADD( SQL_TSI_YEAR , 1, TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE))

·        Last Day of the Next Year

TIMESTAMPADD(SQL_TSI_YEAR, 2, TIMESTAMPADD( SQL_TSI_DAY , -1, TIMESTAMPADD( SQL_TSI_DAY , EXTRACT( DAY_OF_YEAR FROM CURRENT_DATE) * -(1) + 1, CURRENT_DATE)))



·        First Day of Current Quarter

TIMESTAMPADD( SQL_TSI_DAY , DAY_OF_QUARTER( CURRENT_DATE) * -(1) + 1, CURRENT_DATE)

·        Last Day of Current Quarter

TIMESTAMPADD( SQL_TSI_DAY , -(1), TIMESTAMPADD( SQL_TSI_QUARTER , 1, TIMESTAMPADD( SQL_TSI_DAY , DAY_OF_QUARTER( CURRENT_DATE) * -(1) + 1, CURRENT_DATE)))




·        Number of days between First Day of Year and Last Day of Current Month


DAYOFYEAR(CURRENT_DATE)

Tuesday, November 27, 2012

Loopback Adapter Installation

Installing a Loopback Adapter on Windows XP-32 Bit :
My System configuration: Ram 8 GB and windows XP Installed on virtual machine
Open the Windows Control Panel.
1.      If you are in Category view switch to Classic view
2.      Double-click Add Hardware to start the Add Hardware wizard
3.      In the Welcome window, click next
4.      Follow the screen shots one by one
describe the image
2345678910
In the Properties dialog box, click Use the following IP address and do the following:
a. IP Address: Enter a non-routable IP for the loopback adapter. For instance:
i. 10.10.10.10
ii. 192.168.x.x (x is any value between 0 and 255)
b. Subnet mask: Enter 255.255.255.0.
c. Leave all other fields empty.
Click OK
describe the image
Close Network Connections.
Restart the computer.
Add a line to the SYSTEM_DRIVE:\WINDOWS\system32\drivers\etc\hosts file with the following format, right after the localhost line:
 
IP_address hostname.domainname hostname
 where:
  • IP_address is the non-routable IP address
  • hostname is the name of the computer.
  • domainname is the name of the domain.
  •  Note : Domain name is optional. In the following screen shot. I just used my Computer Name.
  • 13
 Check the network configuration:
    • Open System in the Control Panel, and select the Computer Name tab. In Full computer name, make sure you see the host name and the domain name, for example, sales.us.mycompany.com.
    • Click Change. In Computer name, you should see the hostname, and in Full computer name, you should see the host name and domain name. Using the previous example, the host name would be sales and the domain would be us.mycompany.com.
    • Click More. In Primary DNS suffix of this computer, you should see the domain name, for example, us.mycompany.com
  • 14

Tuesday, November 20, 2012

Connection Failed Error - Import Data(11g)

In OBIEE10g no need to copy tns file in BIHome.But in OBIEE11g you need to copy in BIHome also.If you not copy this tns file then you will get “The connection has failed” error while trying to import data from the database using OCI call interface" in RPD.

To resolve above error you need to perform the below steps.
1. Add the tnsnames.ora file in the BI Home DirectoryEnsure, you add all the data source tns entry details in the tnsnames.ora file
You need to copy same tnsnames.ora file from Oracle Home (Root directory: \App\User\Product\Network\Admin) and paste the file to the below location in OBIEE11g directory
1. \OBIEE11g\Oracle_BI1\network\admin and
2.\OBIEE11g\oracle_common\admin

2. Add the tnsnames file location path in User.cmd file
Add the tnsnames file location path from one of the above location in the user.cmd file. The user.cmd file is found in the below location
Root directory: \OBIEE11g\instances\instance1\bifoundation\OracleBIApplication\coreapplication\setup



  

 I hope it will works now.Otherwise close RPD and restart the services.Then it will works.Restarting of services are suggestable.