Tuesday, July 03, 2012

Changing user password in OBIEE 11G


Hi,


Just use the below java code (Changepwd.java) and compile and run using java tool(JDEV,Netbeans etc)  and get the jar/war file and deploy the war file via Weblogic console then call the link (jmx bean url) in your analysis by using Action link method.
-------------------------------------------------------------------------------
package obiee.chngpwd;


import java.io.IOException;
import java.util.Set;


import javax.management.InstanceNotFoundException;
import javax.management.IntrospectionException;
import javax.management.MBeanException;
import javax.management.MBeanInfo;
import javax.management.MBeanOperationInfo;
import javax.management.MBeanParameterInfo;
import javax.management.MBeanServerConnection;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;


public class Changepwd {
private JMXConnector jmxConnector = null;
private MBeanServerConnection mBeanServerConnection = null;


public Changepwd() throws IOException, MalformedObjectNameException, NullPointerException, InstanceNotFoundException, IntrospectionException, ReflectionException {
JMXServiceURL serviceURL = new JMXServiceURL("service:jmx:rmi://IP/jndi/rmi://IPaddress:1090/jmxconnector");
System.out.println("Connecting to: " + serviceURL);


jmxConnector = JMXConnectorFactory.connect(serviceURL);
mBeanServerConnection = jmxConnector.getMBeanServerConnection();
Set<ObjectName> mbeans = mBeanServerConnection.queryNames(null, null);
for (ObjectName mbeanName : mbeans) {
System.out.println(mbeanName);
System.out.println("Service:" + mbeanName.getKeyPropertyListString() + "Domain:" + mbeanName.getDomain());

}
//ObjectName securityMBeanName = new ObjectName("jboss:service=JNDIView");
//ObjectName securityMBeanName = new ObjectName("jboss:service=JNDIView");
ObjectName securityMBeanName = new ObjectName("Security:Name:myrealmDefaultAuthenticator");
MBeanInfo mbeanInfo = mBeanServerConnection.getMBeanInfo(securityMBeanName);
MBeanOperationInfo[] opInfo = mbeanInfo.getOperations();
        System.out.println("Security Operations: ");
        for(int o = 0; o < opInfo.length; o ++) {
            MBeanOperationInfo op = opInfo[o];


            String returnType = op.getReturnType();
            String opName     = op.getName();
            System.out.print(" + " + returnType + " " + opName + "(");


            MBeanParameterInfo[] params = op.getSignature();
            for(int p = 0; p < params.length; p++)  {
                MBeanParameterInfo paramInfo = params[p];


                String pname = paramInfo.getName();
                String type  = paramInfo.getType();


                if (pname.equals(type)) {
                    System.out.print(type);
                } else {
                    System.out.print(type + " " + securityMBeanName);
                }


                if (p < params.length-1) {
                    System.out.print(','); 
                }
            }
            System.out.println(")");
        }
Object objUser[] = new Object[]{("userId"), ("oldPassword"), ("newPassword") };
//Object objUser[] = new Object[]{("destroy")};
String objStr[] = new String[]{("java.lang.String"), ("java.lang.String"), ("java.lang.String") };
//String objStr[] = new String[]{("java.lang.String")};


try {
//mBeanServerConnection.addNotificationListener(securityMBeanName, new PasswordListener(), null, null);
//Object responseObj = mBeanServerConnection.invoke(securityMBeanName, "jbossInternalLifecycle", objUser, objStr);
Object responseObj = mBeanServerConnection.invoke(securityMBeanName, "changeUserPassword", objUser, objStr);
System.out.println("Response:" + responseObj);




} catch (InstanceNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MBeanException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ReflectionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
* @throws IOException 
* @throws NullPointerException 
* @throws MalformedObjectNameException 
* @throws ReflectionException 
* @throws IntrospectionException 
* @throws InstanceNotFoundException 
*/
public static void main(String[] args) throws MalformedObjectNameException, NullPointerException, IOException, InstanceNotFoundException, IntrospectionException, ReflectionException {
// TODO Auto-generated method stub
new Changepwd();


}


}


For More about change password info:
http://www.rittmanmead.com/2011/10/changing-your-password-in-obiee-11g/

Till Next Time

Manually Configuring Settings for Data in Narrative Views


Hi,

Let say i have table with 1000 rows data, when i try to use narrative view in analysis got below error narrative view it's not how so "many rows data in narrative view and MaxRecords limit exceeded error".this is know issues only by changing/adding instanceconfig.xml --> narrative view content then you can able to resolve it.

1) take a backup of your instanceconfig.xml file
C:\Oracle\Middleware\instances\instance1\config\OracleBIPresentationServicesComponent\coreapplication_obips1\instanceconfig.xml

2) Narrative view you need to add below elements are,
just include <Views> b/w </Views>

<Narrative>
<MaxRecords>40000</MaxRecords>
<DefaultRowsDisplayed>1000</DefaultRowsDisplayed>
</Narrative>

3)Save your changes and close the file.

4) Restart Oracle Business Intelligence "Bi_Presentation_Services"

For More : instanceconfig.xml (increasing no of columns/rows)
http://docs.oracle.com/cd/E23943_01/bi.1111/e10541/answersconfigset.htm#CIHHBHAI
(note: refer section, 18.3.1.2 Manually Configuring Settings for Data in Views)

Row_id in obiee analysis report

Hi,


Open your report--> add one column --> click fx--> Rcount(1) then save it it will returns the row I'd sequence


Thanks

Trailing zero's in obiee11g


Hi,

If you have 15 digit's Account number on your dashboard prompt with varchar data type its loosing the trailing zero's.

to resolve this issues, to the below

can you try below on your column prompt --> edit formula --> try below
cast(cast( Column as int) as char)

Thanks

Are you sure you want to navigate away from this page?


Hi,

In OBIEE 11.1.1.5.0 when you use Microsfot Internet Explorer as the browser, every time that try to add Totals After for Columns and Measures in the Edit Table View, you get the following message:

"Windows Internet Explorer
Are you sure you want to navigate away from this page?
The changes that you made to this object have not been saved. Click Cancel to return to the editor where you can save the object.
Press OK to continue, or Cancel to stay on the current page."

If i click ok and revert, then you can save the report without message appearing, but the report does not have the total added.


Download and install patch 13969710.

ReferencesBUG:13969710 - QUERY REFRESH DOES NOT SHOW COLUMN DRAGGED FROM EXCLUDED SECTION AFTER BP2 PATCH

Till next Time...

Invalid JSON string: 0 {t:4}" Logging into OBIEE 11.1.1.6.0 after Upgrade


Hi,

The error message "Invalid JSON string: 0{t:4}" javascript error obiee11.1.1.6.0

1)Resolve this issues can you please Clear the browser cache and re-load the page or log in to OBIEE.
2)if its not working then try to Re-deploy the Analytics Application, using the file $Middleware_Home\Oracle_BI1\bifoundation\jee\analytics.ear
know Bug Ref:

This is a known bug in OBIEE 11g
BUG:13845528 - UPGRADING TO 11.1.1.6, ANALYTICS DOES NOT WORK IN FIREFOX 10.0.2 ON WINDOWS 7 PC

Please refer the below doc
OBIEE 11g: Error: "Invalid JSON string: 0 {t:4}" Logging into OBIEE 11.1.1.6.0 after Upgrade [ID 1439063.1]

Thanks
Deva

Action link Open in a New Window not working in OBIEE 11.1.1.6.0


Hi,

Action link Open in a new Window noot working in OBIEE 11.1.1.6.0:

In obiee11.1.1.6.0 Action Link method "Open in a new window " functionality is not working. Just created a report and applied the action link in one of teh column value. in that properties and setted the Action link open as in a new window. But when i click on the values of that column ---> Action link is not responding But if i set action link set it to open in the same window,it working fine.
After checking with My Oracle Support Team and Confirmed this as known bug in obiee11.1.1.6.0 version and then this bug has been fixed by applying the patch 14003822

Reference :
Bug 14165667 - LINKED REPORT OPEN IN NEW WINDOW DOES NOT WORK AFTER A CHANGE PROMPT

Thanks
Deva

Monday, July 02, 2012

Netscape.ldap.LDAPException: error result (4); Sizelimit exceeded


Hi,

LDAP configuration in BIEE 11 g via Microsoft Active Directory some times its throws below kind of error.

The error is "LDAPException: return code:netscape.ldap.LDAPException: error result (4); Sizelimit exceeded".

Note: the error message say's that you have exceeded the limit the server has been configured to return, (i.e: your request exceeded).by default values is 1000.

Solution:
we need to increase the LDAP user sizelimit -->Go to the LDAP client install drive, then search it ldp.exe file and run as admin then connect it by using ldap domain user id and password, refer the below methods,

1).  the sizelimit can be set the
LDAPConnection.setOption(LDAPv2.SIZELIMIT, new Integer(0)); for example
by Changing maximum results option using ldapconn.setOption(LDAPv2.SIZELIMIT,25000)

i.e: by Changing Look Through Limit to around 25000 in ldap server.

2.) and if you are using the netscape jar to search, do the following:
LDAPConnection ldapCon = new LDAPConnection();
LDAPSearchConstraints cons = ldapCon.getSearchConstraints();
cons.setMaxResults(-1);
ldapCon.search(ldapURL, cons);
Thanks
Deva