Thursday, April 17, 2014

Oracle EBS SOA Gateway testquery does not return response "TEST RESPONSE"

When i would like to detect that SOA gateway working properly, following URL is called and supposed to return "TEST RESPONSE" . If it is not returned there can be any error about ASADMIN user.Following check list can be checked.

http://server_name:port/webservices/SOAProvider/?testquery

1.Ensure that ASADMIN user is active and its password is set in $ORA_CONFIG_HOME/10.1.3/j2ee/oafm/config/system-jazn-data.xml .

When i have seen this problem, i have checked file and reset password with "!" (exclamation mark) as clear text 

<credentials>!welcome</credentials>

After restarting oafm by adoafmctl.sh stop and start , my error has gone.

Also step 2 can be checked .

2. Following queries 

select role_name from wf_user_roles where user_name='ASADMIN'

select role_name from wf_user_role_assignments where user_name='ASADMIN'

should return following results

role_name
-----------
ASADMIN
UMX|APPS_SCHEMA_CONNECT

if any rows are missing 404 error could appear

For solution "Workflow Directory Services User/Role Validation" (FNDWFDSURV) concurrent program.From system administrator responsibility relate program can be executed with following parameters,

Batch Size : 10000
User Name : ASADMIN
Fix dangling users : Yes
Add missing user/role assignment : Yes
Update WHO Columns in WF Tables : No


Wednesday, April 16, 2014

registering Oracle linux to Unbreakable Linux Network and installing ASM

In order to install asm related packages for OEL 5.7  I have registered my system to  Unbreakable Linux Network (ULN). For OEL 5  up2date --register command is used. If you are using OEL 6 uln_register is used.

# up2date --register (OEL 5)

# uln_register (OEL 6)

Do not forget , you must have your server has access to internet to register itself on ULN and of course valid ULN account.

After typing up2date --register  you will be asked to enter your ULN uid , pwd and CSI 


The up2date will collect your system information  and this information will be used for system profile.







Then up2date will collect installed packages and associate then with related system.


On last screen collected information is sent to ULN to register.

Asmlib RPM is part of “Oracle Software for Oracle Linux” channel.System must be subscribed to related channel.After login  into ULN web site (linux.oracle.com) go to systems tab and select the system you will subscribe.  By using manage subscriptions you can select “Oracle Software for Oracle linux 5 (x86_64)” channel to save .Now you can download all asmlib software directly from ULN.

To install asm related softwares following command is executed for Oracle Linux 5 and older.

# up2date -i oracleasm-support oracleasmlib oracleasm-`uname -r`

if you have Oracle Linux 6

# yum install oracleasm-support oracleasmlib oracleasm-`uname -r`

DBCA fails with Java Error Sigsegv Signal

After successfull installation and upgrade of 10.2.0.4 on linux x86_64 enviroment, whenever i would like to run dbca following error occured,

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x00536661, pid=7427, tid=4160620752
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_14-b05 mixed mode)
# Problematic frame:
# C [libc.so.6+0x41661]
#


Also netca got same error. It was caused from x Window system and related absent packages.

After installing libXtst-devel.i386 ,libXp packages error has gone and dbca started successfully,

yum install libXtst-devel.i386
yum install libXp.i386
yum install libXp.x86_64

libXp.so.6: cannot open shared object file: No such file or directory

While installing Oracle 10gr2 on linux x86_64 i have faced this error when Oracle Universal Installer is invoked.

Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-04-16_09-50-07AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
java.lang.UnsatisfiedLinkError: /tmp/OraInstall2012-04-16_09-50-07AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(Unknown Source)
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at sun.security.action.LoadLibraryAction.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
        at sun.awt.DebugHelper.<clinit>(Unknown Source)
        at java.awt.Component.<clinit>(Unknown Source)
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
Exception in thread "main" java.lang.NoClassDefFoundError
        at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
        at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
        at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
        at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)
        at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)

it is caused from missing package.After installing XFree86-libs Universal installer started successfully.

XFree86-libs-3.3.5-1.5.x.i386.rpm

Friday, April 4, 2014

Wireless component of iAS is unable to be up

After attemping to change hostname of Oracle Portal 10.1.4.0 i have seen that wireless component of iAS did not start with opmnctl. The renaming operation was not successfull and of course some negative affects occured.

Oracle MOS has an article about this which shows that node_name for wireless components are set incorrectly.

SQL> select oracle_home, ins_name, node_name from wireless.ptg_rt_sts_table;

Therefore these components will not restart with incorrect node_name.

For resolution wireless.ptg_rt_sts_table can be updated to correct name by updating node_name column for related component rows.

The Wireless Component of the iAS Will Not Start Using opmnctl or the Enterprise Manager (Doc ID 579793.1)

Monday, March 17, 2014

utl_file operations on remote directory,network shares

I have a project contains database migration from windows to linux enviroment with database upgrade . For years developers have worked on windows database server and done their utl_file operations on windows file system.After migration they have asked to work on windows file server  as so. Due to new database is on linux system i have asked that remote directory on another server is supported during utl_file operations ?

As a result, utl_file script has to create file on remote windows server from linux. I have used cifs protocol for this issue.

1. On linux new directory is created for required mount point
 
     mkdir -p /remotewin

2. With windows user,password ,domain information new mount point is mounted to related windows directory

     Assume you have directory named "remotelin" on windows server has necessary sharing.

     mount -t cifs //<WINDOWS_SERVER_IP>/remotelin /remotewin -o username= <WIN_USER_NAME>,password=<WIN_PASSWORD>,domain=<WIN_DOMAIN_NAME>,uid=<LINUX_ORACLE_USER_ID>,gid=<LINUX_ORACLE_USER_GROUP_ID>

With this command /remotewin directory on linux enviroment is mounted to windows enviroment with oracle user privilige .

After this you can use DBA_DIRECTORY or utl_file parameter  to create files on windows enviroment.

connect / as sysdba

create or replace Directory OUTBOUND_DIR as '/remotewin';

DECLARE 
  filex UTL_FILE.FILE_TYPE;
BEGIN 
  filex := UTL_FILE.fopen('OUTBOUND_DIR','Testfile.txt','W',32767);    

  UTL_FILE.put_line(filex, 'Hello World');    
  UTL_FILE.fclose(filex);                         
EXCEPTION
  WHEN utl_file.invalid_path THEN           
    dbms_output.put_line('Path not found on DB-server.');       
  WHEN utl_file.invalid_mode THEN           
    dbms_output.put_line('Invalid mode.');       
  WHEN utl_file.invalid_operation THEN           
    dbms_output.put_line('Error when opening file');       
  WHEN utl_file.invalid_filehandle THEN           
    dbms_output.put_line('Invalid filehandle');       
  WHEN OTHERS THEN         
    dbms_output.put_line('Others: '|| SQLERRM); 
END;


Sources:
http://microitblog.com/micro-it-blog/2011/04/21/mounting-cifs-shares-through-linux-with-write-permissions
http://www.cyberciti.biz/tips/how-to-mount-remote-windows-partition-windows-share-under-linux.html
http://www.samba.org/samba/docs/man/manpages-3/mount.cifs.8.html


Monday, March 3, 2014

ERROR OGG-01161 Bad column index () specified for table ., max columns = 62 .

Because of mismatch structure between source and target tables, this error can be taken.In my case i am not synchronizing all columns for specific table named TEST1 . First 62 columns of a table are in  synchronization.There was already changes in the source table and these changes were not propagated to target as well.

After abnormal crash of source database ,Golden Gate immediately gave ERROR OGG-01161 error.

2014-03-02 18:19:50  ERROR   OGG-01161  Oracle GoldenGate Delivery for Oracle, REP1.prm:  Bad column index (62) specified for table TEST.TABLE1, max columns = 62.

2014-03-02 18:19:50  ERROR   OGG-01668  Oracle GoldenGate Delivery for Oracle, REP1.prm:  PROCESS ABENDING.

For solution , I have recreated definiton file for specific table and copied def file content to target def file.I have not created absent columns at target side.Updating definition file with new definition of related table solved my issue.

Source : 

$GG_HOME=/gg

1. Created new definition parameter file for TEST.TABLE1

   ## TEST1.prm file
   DEFSFILE /gg/dirdef/TEST1.def
   USERID gg01, password gg01
   TABLE TEST.TABLE1;

2. Using the defgen utility ,new definition file is created

   /gg/defgen paramfile /gg/dirprm/TEST1.prm
   
   This command will create TEST1.def under /gg/dirdef and will contain following information for table1
   
   #######################################################################
   *+- Defgen version 2.0, Encoding UTF-8
*
*  Definitions created/modified  2014-03-02 19:05
*
*  Field descriptions for each column entry:
*
*     1    Name
*     2    Data Type
*     3    External Length
*     4    Fetch Offset
*     5    Scale
*     6    Level
*     7    Null
*     8    Bump if Odd
*     9    Internal Length
*    10    Binary Length
*    11    Table Length
*    12    Most Significant DT
*    13    Least Significant DT
*    14    High Precision
*    15    Low Precision
*    16    Elementary Item
*    17    Occurs
*    18    Key Column
*    19    Sub Data Type
*
Database type: ORACLE
Character set ID: ISO-8859-9
National character set ID: UTF-16
Locale: neutral
Case sensitivity: 14 14 14 14 14 14 14 14 14 14 14 14 11 14 14 14
Definition for table TEST.TABLE1
Record length: 204
Syskey: 0
Columns: 4
C1   64     20        0   0  0 1 0     20     20      0 0 0 0 0 1    0 1 0
C2   64     50       26  0  0 1 0     50     50     50 0 0 0 0 1    0 1 2
C3     0      1       82  0  0 1 0      1      1      0 0 0 0 0 1    0 1 0
C4   64     50       86  0  0 1 0     50     50     50 0 0 0 0 1    0 1 2
End of definition
   #######################################################################

Target :

3. Stopped replicat and manager at target

4. Due to more than 1 table exist in GoldenGate replication , only TEST1 table part of target definition file was replaced with above content between "Definition for table" and "End of definition" snippet.

5. Started manager and replicat.