Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps

Monday, February 16, 2009

LRM-00123: invalid character 0 found in the input file

When starting the Oracle database with Veritas Cluster Server, we got the following error:

LRM-00123: invalid character 0 found in the input file
ORA 1078 : Text: failure in processing initialization parameters

Oracle reads the PFILE/SPFILE information from our internal character set identified with PL/SQL and not the database created character set. While technically not hard-coded as US7ASCII, this is what the character set used is for SSTDLANG.

The problem is caused by ORACORE's enforcement of compiler character set when reading the INIT.ORA file. SSTDLANG is the limitation.

What we noticed is that by mistake we had given the name of the spfile as the pfile name. Veritas Oracle agent needs a plain text ASCII file like init.ora. So we create a file called vcs_init.ora which has a single line
spfile=path_to_spfile

Once we corrected this VCS was able to bring up the database without issues.

ORA-01403 ORA-06512 at "APPS.AD_FILE_SYS_SNAPSHOTS_PKG", line 2472

Recently while doing shared APPL_TOP migration, we got this error while trying to update current snapshot:

About to attempt instantiating the current-view snapshot: Fri Feb 13 2009 22:24:14

Attempting to instantiate the current-view snapshot...
ORA-01403: no data found
ORA-06512: at "APPS.AD_FILE_SYS_SNAPSHOTS_PKG", line 2472
ORA-06512: at line 2

AD Administration error:
Error while executing statement (curr-vw inst)


AD Administration error:
Error calling adusnapInstCurrVwSnapshot

AD Administration error:
Could not get SnapshotId

Failed to store APPL_TOP Snapshot to tables
adusnapMaintainSnapshot() : Error calling adusnapUpdateCurrentView()
Error calling adusnapMaintainSnapshot

Metalink Note 284759.1 gave a clue as it described this error on the clone of Production. However we were doing this on Production and had not faced this error in any of the iterations before. I checked the name of the appl_top in ad_appl_tops table and found that it was incorrect. The name of the appl_top refereed to the old server name on which the application was running 6 months ago. 6 months ago we had migrated to the new server but never changed the appl_top name. I went through the code of AD_FILE_SYS_SNAPSHOTS_PKG and found that it was calling ad_snapshots. The appl_top id in ad_appl_tops and the appl_top_id in ad_snapshots was not matching. This was because we had cleaned up ad_appl_tops and run autoconfig on all tiers. I searched in dba_tab_columns and found that there were 16 tables which had appl_top_id column. Updating all these tables with the new appl_top_id would have been a pain. So instead I suggested the DBAs to

update ad_appl_tops
set appl_top_id = 'appl_top_id of the old server'
where appl_top_id = 'newly generated appl_top_id for new server';

Once the DBAs did this, the update current snapshot process completed without errors.

Friday, February 13, 2009

Portal 3.0.9 first page appears on accessing /oa_servlets/AppsLogin

While logging on to a test instance, I saw this error:
Forbidden
You don't have permission to access /pls/$TWO_TASK_portal30/portal30.home on this server.

apache access_log shows

192.168.11.23 - - [13/Feb/2009:10:41:14 -0500] "GET /pls/$TWO_TASK_portal30/portal30.home HTTP/1.1" 403 245 0

access_log_pls shows


error_log_pls shows
[Fri Feb 13 10:40:56 2009] [error] mod_plsql: /pls/$TWO_TASK_portal30/portal30.home HTTP-403 ORA-1017 Proxy log On failed.
Please verify that you have specified correct connectivity information i.e. username, password & connect-string in the DAD
[Fri Feb 13 10:41:14 2009] [error] mod_plsql: /pls/$TWO_TASK_portal30/portal30.home HTTP-403 ORA-1017 Proxy log On failed.
Please verify that you have specified correct connectivity information i.e. username, password & connect-string in the DAD

I checked the wdbsvr.app file and found this in the portal30 DAD:

[DAD_apps11i_portal30]
connect_string  =  apps11i
password        =  secretseven
username        =  portal30
default_page    =  portal30.home
document_table  =  portal30.wwdoc_document
document_path   =  docs
document_proc   =  portal30.wwdoc_process.process_download
upload_as_long_raw =
upload_as_blob  = *
reuse           =  Yes
connmax         = 10
enablesso       = Yes
pathalias       = url
pathaliasproc   = portal30.wwpth_api_alias.process_download
cgi_env_list=SERVER_NAME=apps11i.justanexample.com,
REQUEST_PROTOCOL=http,SERVER_PORT=8002,HOST=apps11i.justanexample.com:8000

I checked in the db

SQL> conn portal30/secretseven
ERROR:
ORA-01017: invalid username/password; logon denied

Since this was a test instance, I decided to see what happens if we change the password of portal30 user to secretseven.

So I changed the password of portal30 to secretseven

conn / as sysdba
alter user portal30 identified by secretseven

Accessing the /oa_servlets/AppsLogin page took me to:

http://apps11i.justanexample.com:8000/servlet/page?_pageid=51&_dad=apps11i_portal30&_schema=PORTAL30

which showed the Oracle Portal 3.0.9 first page:

I tried accessing it through: 
http://apps11i.justanexample.com:8000/OA_HTML/AppsLocalLogin.jsp

That showed me the expected username and password page:


Will update as I learn more.

Thursday, February 12, 2009

Solaris 10 zone won't plumb up virtual IPs

Recently unix team rebooted Solaris 10 zones and the zones wouldn't come up. This was tracked down to /etc/hostname* files :

$ ls -ltr /etc/hostname*
-rw-r--r-- 1 root root 9 Oct 15 10:41 /etc/hostname.nxge3
-rw-r--r-- 1 root root 9 Jan 19 10:44 /etc/hostname.nxge3:1
-rw-r--r-- 1 root root 9 Jan 20 16:21 /etc/hostname.nxge3:2

$ cat /etc/hostname.nxge3
server1

$ cat /etc/hostname.nxge3
vip1

$ cat /etc/hostname.nxge3
vip2

The first file without a colon is the physical name of the zone. The :1 and :2 are virtual names for the server. These files contain only the hostname without domainname. Unless you have corresponding entry for these virtual hostnames in /etc/hosts the zone will not plumb up the virtual IPs. As per our example above these entries need to be present in the /etc/hosts file:

192.168.7.1 server1.justanexample.com
192.168.7.1 vip1.justanexample.com
192.168.7.1 vip2.justanexample.com

Wednesday, February 11, 2009

ORA-12154 during adconfig

sqlplus /nolog @$COMMON_TOP/admin/install/$CONTEXT_NAME/txkJavaMailerCfg.sql -nopromptmsg $TWO_TASK http 8020

AutoConfig Profile Phase
Running Profile Process 9 of 11 for AD_TOP
Executing script in InstantiateFile:
$COMMON_TOP/admin/install/erppgjh1_erppgjh1/txkJavaMailerCfg.sh

script returned:
****************************************************

txkJavaMailerCfg.sh started at Wed Feb 11 11:06:24 EST 2009


The environment settings are as follows ...

ORACLE_HOME : /apps11i/erpapp/8.0.6
ORACLE_SID :
TWO_TASK : apps11i
PATH : /apps11i/erpapp/iAS/Apache/perl/bin:/apps11i/erpapp/8.0.6/bin:/apps11i/erpapp/appl/fnd/11.5.0/bin:/apps11i/erpapp/appl/ad/11.5.0/bin:$COMMON_TOP/util/java/1.4/j2sdk1.4.2_04/bin:$COMMON_TOP/util/unzip/unzip::/apps11i/erpapp/8.0.6/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/apps11i/erpapp/iAS/Apache/perl/bin:/apps11i/erpapp/AventX/bin:/apps11i/erpapp/iAS/Apache/perl/bin:/apps11i/erpapp/8.0.6/bin:$COMMON_TOP/util/java/1.4/j2sdk1.4.2_04/bin:$COMMON_TOP/util/unzip/unzip:/apps11i/erpapp/8.0.6/bin:/usr/bin:/usr/ccs/bin:/usr/sbin:/usr/local/bin:/usr/bin:/usr/openwin/bin:/usr/dt/bin:/sbin:/usr/sbin:/usr/platform/sun4u/sbin:/usr/ucb:/usr/ccs/bin:/usr/java/bin
LD_LIBRARY_PATH : /apps11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads:/apps11i/erpapp/appl/cz/11.5.0/bin:/apps11i/erpapp/8.0.6/lib:/usr/dt/lib:/usr/openwin/lib


Executable : /erppgjh1/erpapp/8.0.6/bin/sqlplus


The arguments passed to txkJavaMailerCfg.sql are as follows ...

USERNAME : -nopromptmsg
PASSWORD :
TWO_TASK : erppgjh1
URL_PROTO_GENERAL : http
PORT_GENERAL : 8020

-nopromptmsg erppgjh1 http 8020

SQL*Plus: Release 8.0.6.0.0 - Production on Wed Feb 11 11:06:25 2009

(c) Copyright 1999 Oracle Corporation. All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve service name


ERRORCODE = 1 ERRORCODE_END
.end std out.

.end err out.
****************************************************

We have a TAR open with Oracle for this. They have advised us to apply TXK Rollup S patch 6372396:

ACTION PLAN
============

Please apply patch ='6372396' and retest issue this issue is addressed in
Bug 6443745 - CLNADMPRF.SH FAIL WITH ORA-12154 WHILE RUNNING AUTOCONFIG

and the fix is patch 6372396.

Applying the TXK Rollup S patch 6372396 resolved this problem.

We also faced this issue in instances which are already on TXK Rollup S.  As a quick-fix we re-applied TXK Rollup S to correct this issue.  I am still investigating this issue for a more logical fix.

Tuesday, February 10, 2009

Where is the workflow notification mailer smtp and imap hostname stored in DB

This query tells you where the Workflow notification mailer is running:

select target_node
from apps.fnd_concurrent_queues
where concurrent_queue_name like 'WFMLRSVC%';

This query tells you the IMAP inbound server name, SMTP outbound server name, value of reply to email address:

SELECT b.component_name,
c.parameter_name,
a.parameter_value
FROM apps.fnd_svc_comp_param_vals a,
apps.fnd_svc_components b,
apps.fnd_svc_comp_params_b c
WHERE b.component_id = a.component_id
AND b.component_type = c.component_type
AND c.parameter_id = a.parameter_id
AND c.encrypted_flag = 'N'
AND b.component_name like '%Mailer%'
AND c.parameter_name in ('INBOUND_SERVER','OUTBOUND_SERVER', 'REPLYTO')
ORDER BY c.parameter_name;