Blog dedicated to Oracle Applications (E-Business Suite) Technology; covers Apps Architecture, Administration and third party bolt-ons to Apps
Friday, November 30, 2007
Values for context variable s_appserverid_authentication
There are 3 Modes of authentication:
OFF - Server security is not checked. Any application server machine can access the database. Code IDs are also not checked. Use this option on test systems or if you have full control over the software on all machines which can physically access your database.
ON - Some level of trust is required to access the database. Either the application server must be registered with the database or the code must pass a module and version ID known to be trusted. Use this option only if you wish to maintain compatibility with application servers that you cannot yet patch to the code level required for best security.
SECURE - Full trust is required for access to the database. Only registered application server machines may connect to the database, and only trusted code modules may connect to the database.
If you are on Oracle Applications 11.5.10.2, the context variable, s_appserverid_authentication, is the parameter that allows you to skip the framework login. Setting this parameter to "OFF" mode is only to be used for debugging purposes. Any other use, such as leaving it in the "OFF" mode for regular login, is not supported.
Thursday, November 29, 2007
adadmin errors out with ORA-00942: TABLE OR VIEW DOES NOT EXIST
AD Administration error:
The following ORACLE error:
ORA-00942: table or view does not exist
occurred while executing the SQL statement:
SELECT to_char(APPLSYS.AD_SESSIONS_S.NEXTVAL) FROM SYS.DUAL
Unable to get the current value of sequence APPLSYS.AD_SESSIONS_S
We tried to check for the ownership and existance of the sequence AD_SESSIONS_S:
SQL> SELECT SUBSTR(OWNER,1,12)
OWNER,SUBSTR(OBJECT_NAME,1,45) NAME, SUBSTR(OBJECT_TYPE,1,12) TYPE
FROM DBA_OBJECTS where object_name = 'AD_SESSIONS_S' ;
OWNER NAME TYPE
------------ --------------------------------------------- ------------
APPLSYS AD_SESSIONS_S SEQUENCE
APPS AD_SESSIONS_S SYNONYM
WAVESET AD_SESSIONS_S SYNONYM
APPS_WEB AD_SESSIONS_S SYNONYM
Also tried to execute the query manually:
SELECT to_char(APPLSYS.AD_SESSIONS_S.NEXTVAL) FROM SYS.DUAL;
TO_CHAR(APPLSYS.AD_SESSIONS_S.NEXTVAL)
----------------------------------------
1852
We tried recreating grants and synonyms but it did not work. So we followed note 149987.1 and recreated AD_SESSIONS_S:
Run adodfcmp adutil.odf to re-create the AD_SESSIONs_S
Run adodfcmp for both tables and sequences.
Navigate to $AD_TOP/admin/odf and run the adodfcmp command similar to the
following
$ adodfcmp mode=tables touser=apps/apps priv_schema=system/manager \
> odffile=adutil.odf userid=applsys/apps changedb=yes
$ adodfcmp mode=sequences touser=apps/apps priv_schema=system/manager \
> odffile=adutil.odf userid=applsys/apps changedb=yes
That fixed the error.
Wednesday, November 28, 2007
ORA-02083:database name has illegal character '.'
In OLTP instance, from OM Order Administrator Primary responsibility
1.Open ATP Inquiry Form
2.Give the Item name and Qty
3.click on the Global Availability Button.
4.Following Error message appears and user is unable to view Global Availability:
ORA-02083:database name has illegal character '.'
ORA-06512:at "SYS.DBMS_SYS_SQL", line 909
ORA-06512:at "SYS.DBMS_SQL", line 39
ORA-06512:at "APPS.MSC_SCH_WB", line 842
Official documentation states the cause of ORA-02083 as:
The database name supplied contains an invalid character. For example, there can be no periods, semicolons, single quotes, double quotes, blanks, or non-printable characters in the database name.
First I checked for the global name of OLTP and ASCP instances:
OLTP:
SQL> select * from global_name;
oltp11i.production.example.com
The global name still had the domain for production. So I changed it to:
SQL> alter database rename global name to oltp11i.development.example.com;
Database Altered
SQL> select * from global_name;
oltp11i.development.example.com
ASCP:
SQL>select * from global_name;
ascp11i
If you query dba_db_links table, you'll find that it automatically attaches the domain name derived from global name of the instance.
I dropped and recreated the ASCP hookup DB links without domain name.
ASCP Instance:
SQL> drop database link ASCP2OLTP.DEVELOPMENT.EXAMPLE.COM;
SQL> create database link ASCP2OLTP connect to apps identified by apps using 'oltp11i';
OLTP Instance:
SQL>drop database link OLTP2ASCP.DEVELOPMENT.EXAMPLE.COM;
SQL> create database link OLTP2ASCP connect to apps identified by apps using 'ascp11i';
I checked for the DB link names in MRP_AP_APPS_INSTANCES:
SQL> select M2A_DBLINK,A2M_DBLINK from mrp_ap_apps_instances
2 /
M2A_DBLINK A2M_DBLINK
--------------------------------- --------------------------------
ASCP2OLTP.DEVELOPMENT.EXAMPLE.COM OLTP2ASCP.DEVELOPMENT.EXAMPLE.COM
The DB links had been specified with domain name. I removed the domain names altogether, as the '.' (period) is not allowed in the base db name by the following statement.
SQL> update mrp_ap_apps_instances
2 set m2a_dblink='ASCP2OLTP',A2M_DBLINK='OLTP2ASCP';
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> select M2A_DBLINK,A2M_DBLINK from mrp_ap_apps_instances
2 /
M2A_DBLINK A2M_DBLINK
--------------------------- -----------------------
ASCP2OLTP OLTP2ASCP
After these changes the error changed to this:
ORA-02019: connection description for remote database not found
ORA-06512: at "APPS.MSC_ATP_PROC", line 3519
ORA-06512: at line 1
ORA-06512: at "APPS.MSC_ATPSOURCES_NEW", line 53
ORA-06512: at "APPS.MSC_SCH_WB", line 660
ORA-06512: at "APPS.ORDER_SCH_WB", line 54
------------------------------------------------
FRM-40735: WHEN-BUTTON-PRESSED trigger raised unhandled exception ORA-02019.
Tracing the error from forms side or the session from DB side is not logging this error. Still investigating this one.
Akhilesh solved this one for me. This is what he did:
On OLTP instance:
Checked the value of profile option MRP:ATP Database Link and it was oltp2ascp.development.example.com. So we removed the domain name and made it oltp2ascp
On ASCP Instance:
Logged in with Advanced Planning Administrator responsibility
Admin > Instances
The DB link values in the fields "From Source to APS" and "From APS to Source" had the dblink with domain name. Removed the domain name. Saved.
Voila, the issue is solved. Error message no longer appears and Global Availability form opens on clicking the button.
Tuesday, November 27, 2007
ld.so.1: vi: fatal: relocation error
$vi
ld.so.1: vi: fatal: relocation error: file /usr/bin/vi: symbol cur_term: referenced symbol not found
unset LD_LIBRARY_PATH
vi worked fine. /usr/ucblib directory should not be in the $LD_LIBRARY_PATH. If it is, you'll get this error.
libucb.so.1 open failed: No such file or directory
$ adfrmctl.sh start
You are running adfrmctl.sh version 115.37
ld.so.1: FNDSVCRG: fatal: libucb.so.1: open failed: No such file or directory
Killed
Starting forms server for example11i on port 9000.
ld.so.1: FNDSVCRG: fatal: libucb.so.1: open failed: No such file or directory
Killed
adfrmctl.sh: exiting with status 0
I advised him to relink the FND and AD binaries, however adadmin resulted in this error:
$ adadmin
ld.so.1: adadmin: fatal: libucb.so.1: open failed: No such file or directory
Killed
We did a truss to find out in which directories it was searching for libucb.so.1:
$ truss adadmin
execve("/example11i/erpapp/appl/ad/11.5.0/bin/adadmin", 0xFFBEAFAC, 0xFFBEAFB4) argc = 1
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
open("/var/ld/ld.config", O_RDONLY) = 3
fstat(3, 0xFFBEA808) = 0
mmap(0x00000000, 992, PROT_READ, MAP_SHARED, 3, 0) = 0xFF390000
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libclntsh.so.1.0", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libclntsh.so.1.0", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libclntsh.so.1.0", 0xFFBEA890) = 0
resolvepath("/example11i/erpapp/8.0.6/lib/libclntsh.so.1.0", "/example11i/erpapp/8.0.6/lib/libclntsh.so.1.0", 1023) = 43
open("/example11i/erpapp/8.0.6/lib/libclntsh.so.1.0", O_RDONLY) = 3
mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0xFF380000
mmap(0x0D3731A8, 4595712, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFEC00000
mmap(0xFEC00000, 4322968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFEC00000
mmap(0xFF02E000, 144324, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 4317184) = 0xFF02E000
mmap(0xFF052000, 64584, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF052000
munmap(0xFF020000, 57344) = 0
memcntl(0xFEC00000, 445716, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libnsl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libnsl.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libnsl.so.1", "/usr/lib/libnsl.so.1", 1023) = 20
open("/usr/lib/libnsl.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x15AFA2C0, 655360, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF280000
mmap(0xFF280000, 582238, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF280000
mmap(0xFF310000, 33256, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 589824) = 0xFF310000
mmap(0xFF31A000, 23312, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANON, -1, 0) = 0xFF31A000
memcntl(0xFF280000, 84064, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libsocket.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libsocket.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libsocket.so.1", "/usr/lib/libsocket.so.1", 1023) = 23
open("/usr/lib/libsocket.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x15AF9ED8, 114688, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF360000
mmap(0xFF360000, 40558, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF360000
mmap(0xFF37A000, 4365, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 40960) = 0xFF37A000
munmap(0xFF36A000, 65536) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1, 0) = 0xFF350000
memcntl(0xFF360000, 14496, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libgen.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libgen.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libgen.so.1", "/usr/lib/libgen.so.1", 1023) = 20
open("/usr/lib/libgen.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x1516F4D0, 98304, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF330000
mmap(0xFF330000, 23073, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF330000
mmap(0xFF346000, 2335, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 24576) = 0xFF346000
munmap(0xFF336000, 65536) = 0
memcntl(0xFF330000, 6932, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libdl.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libdl.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19
open("/usr/lib/libdl.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x15B00850, 8192, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF270000
mmap(0xFF270000, 2302, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF270000
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libc.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libc.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18
open("/usr/lib/libc.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x15B042E8, 802816, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF180000
mmap(0xFF180000, 704200, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF180000
mmap(0xFF23C000, 24772, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 704512) = 0xFF23C000
munmap(0xFF22C000, 65536) = 0
memcntl(0xFF180000, 113528, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libaio.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libaio.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libaio.so.1", "/usr/lib/libaio.so.1", 1023) = 20
open("/usr/lib/libaio.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x0295B288, 106496, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF160000
mmap(0xFF160000, 28909, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF160000
mmap(0xFF178000, 1584, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 32768) = 0xFF178000
munmap(0xFF168000, 65536) = 0
memcntl(0xFF160000, 7184, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libm.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libm.so.1", 0xFFBEA890) = 0
resolvepath("/usr/lib/libm.so.1", "/usr/lib/libm.so.1", 1023) = 18
open("/usr/lib/libm.so.1", O_RDONLY) = 3
mmap(0xFF380000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF380000
mmap(0x016884F8, 294912, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON, -1, 0) = 0xFF110000
mmap(0xFF110000, 225354, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF110000
mmap(0xFF156000, 7292, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 221184) = 0xFF156000
munmap(0xFF148000, 57344) = 0
memcntl(0xFF110000, 10604, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/example11i/erpapp/8.0.6/network/jre11/lib/sparc/native_threads/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/appl/cz/11.5.0/bin/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/dt/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/openwin/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/opt/SUNWcluster/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/example11i/erpapp/8.0.6/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
stat("/usr/lib/libucb.so.1", 0xFFBEA890) Err#2 ENOENT
ld.so.1: adadmin: fatal: libucb.so.1: open failed: No such file or directory
write(2, " l d . s o . 1 : a d a".., 77) = 77
munmap(0xFF380000, 8192) = 0
lwp_self() = 1
*** process killed ***
Based on the above it is clear that it is looking for libucb.so.1 in $LD_LIBRARY_PATH.
This is what we did as a workaround:
cd $ORACLE_HOME/lib
ln -s /usr/ucblib/libucb.so.1 libucb.so.1
After this both adadmin and adfrmctl.sh worked fine.
However the question still remains why it happened. I compared adadmin of this particular instance and a vision instance:
$ ldd /vision11i/erpapp/appl/ad/11.5.0/bin/adadmin
libclntsh.so.1.0 => /vision11i/erpapp/8.0.6/lib/libclntsh.so.1.0
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libm.so.1 => /usr/lib/libm.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
$ ldd /example11i/erpapp/appl/ad/11.5.0/bin/adadmin
libclntsh.so.1.0 => /example11i/erpapp/8.0.6/lib/libclntsh.so.1.0
libnsl.so.1 => /usr/lib/libnsl.so.1
libsocket.so.1 => /usr/lib/libsocket.so.1
libgen.so.1 => /usr/lib/libgen.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libc.so.1 => /usr/lib/libc.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libm.so.1 => /usr/lib/libm.so.1
libucb.so.1 => /gpswms76/erpapp/8.0.6/lib/libucb.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libelf.so.1 => /usr/lib/libelf.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
The list of libraries being referenced is not same. Clearly something was wrong in the environment when the binaries were relinked.
Metalink Note 164279.1 describes a similar problem:
PROBLEM DESCRIPTION
====================
You receive the following error message when invoking an oracle executable
on Sun Solaris. This applies to all executbles including Database, Networking,
Tools,and Applications.
ld.so.1: : fatal: libucb.so.1: open failed:
No such file or directory
Killed
PROBLEM EXPLANATION
======================
The executable was built using the wrong linker ('ld'). The Solaris
operating system comes with two linkers, the SVR4 linker (/usr/ccs/bin/ld)
and SunOS 4.x compatibility linker (/usr/ucb/ld). Oracle requires the use of
the /usr/ccs/bin utitlities to properly link the executables and
if /usr/ucb/ld is used instead of /usr/ccs/bin/ld, executables will fail with
the above error message.
NOTE: Please see the appropriate product Installation Guide for
O/S requirments.
SOLUTION DESCRIPTION
=====================
To correct the problem, you'll need to modify your PATH environment variable
so that the /usr/ccs/bin directory comes before /usr/ucb directory, and then
relink the executables that were linked with the wrong linker.
1. Correct the PATH environment variable.
csh
-----
% setenv PATH /usr/ccs/bin:${PATH}
sh, ksh or bash
-----------
% PATH=/usr/ccs/bin:$PATH
% export PATH
2. Ensure the PATH is set correctly.
% which ld
/usr/ccs/bin/ld <== This should be returned if the the PATH is
correct.
3. Relink the executables:
See Note 131321.1 for Data Server relinking instructions.
I am not sure if PATH was incorrectly set when the binaries were relinked. However, I have advised the DBA team to relink all binaries based on the above analysis.
Monday, November 26, 2007
ORA-1403 when forms is launched from self service
ORA-01403: no data found Content-type: text/html; charset=UTF-8 Location: http://justanexample.com:8000/oa_servlets/oracle.apps.fnd.sso.AppsLogin?requestUrl=APPSHOMEPAGE&cancelUrl=http%3A%2F%2F11ioltp.justanexample.com%3A8013%2Foa_servlets%2Foracle.apps.fnd.sso.AppsLogin&errText=Your%20session%20is%20no%20longer%20valid.%20Please%20login%20again.
This error only appears when we try the option from Firefox. Internet Explorer is silent and doesn't show any error.
I have asked the DBA team to enable trace on ORA-01403 in init.ora through this event to find out:
event = "1403 trace name errorstack: 10046 trace name context forever, level 12"
Some data purging had been done by DBAs, after which this error is occuring.
After trace was enabled, this is what we found in trace file:
PARSING IN CURSOR #3 len=272 dep=1 uid=173 oct=3 lid=173 tim=5586109696263 hv=1880614960 ad='9ab642f8'
SELECT FPOV.PROFILE_OPTION_VALUE FROM FND_PROFILE_OPTION_VALUES FPOV, FND_PROFILE_OPTIONS FPO WHERE FPO.PROFILE_OPTION_NAME =
'AFCORE_LOGGING_ENABLED' AND FPO.PROFILE_OPTION_ID = FPOV.PROFILE_OPTION_ID AND FPOV.LEVEL_ID = 10001 AND FPO.APPLICATION_ID
= FPOV.APPLICATION_ID
END OF STMT
PARSE #3:c=0,e=165,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=5586109696257
BINDS #3:
EXEC #3:c=0,e=126,p=0,cr=0,cu=0,mis=0,r=0,dep=1,og=4,tim=5586109696528
FETCH #3:c=0,e=101,p=0,cr=5,cu=0,mis=0,r=0,dep=1,og=4,tim=5586109696670
*** 2007-11-26 15:39:02.788
ksedmp: internal or fatal error
ORA-01403: no data found
Current SQL statement for this session:
begin
owa.user_id := :userid;
owa.password := :passwd;
owa.ip_address := :ipaddress;
owa.hostname := :hostname;
owa.init_cgi_env(:n__, :nm__, :v__);
if (owa_custom.authorize = TRUE) then
:authorized := 'yes';
else
:authorized := 'no';
end if;
:realm := owa.protection_realm;
end;
----- PL/SQL Call Stack -----
object line object
handle number name
398b4f6f0 23 package body APPS.FND_CORE_LOG
398b4f6f0 158 package body APPS.FND_CORE_LOG
39cbe1d38 213 package body APPS.FND_PROFILE
39cbe1d38 1548 package body APPS.FND_PROFILE
39cbe1d38 1720 package body APPS.FND_PROFILE
39cbe1d38 2357 package body APPS.FND_PROFILE
398b8bbd0 35 package body APPS.FND_WEB_CONFIG
398b8bbd0 214 package body APPS.FND_WEB_CONFIG
398b8bbd0 411 package body APPS.FND_WEB_CONFIG
39b7cdf08 33 package body APPS.OWA_CUSTOM
39b7d8b00 7 anonymous block
----- Call Stack Trace -----
Still investigating this one.
Wednesday, November 21, 2007
ORA-20002, Error '-21525 while compiling flexfields
While compiling the flexfields, the procedure wf_event.raise failed with following
parameters:
event_name = oracle.apps.fnd.flex.dff.compiled
event_key = FND.$SRS$.FNDSCARU
The error raised is:
ORA-20002: 3825: Error '-21525 - ORA-21525: attribute number or (collection element at index) violated its constraints' encountered during execution of Rule function 'fnd_bes_proc.process_event' for event 'oracle.apps.fnd.flex.dff.compiled' with key 'FND.$SRS$.FNDSCARU'.
There is a similar error described in Metalink Note 430477.1 which suggests applying patch 5625612 (which is superseded by ATG_PF.H RUP5 which is again superseded by RUP6). However this patch was already applied in the instance where the above error occurred.
This was solved by increasing the open_cursors in init.ora reportedly.
Oracle Openworld 2007 presentations available for download
Userid: cboracle
Password: oraclec6
You’ll be asked for userid and password when you click on the attachment icon for a given session
Tuesday, November 20, 2007
ORA-600 errors after upgrade from 9.2.0.8 to 10.2.0.3
2.ORA-00600: internal error code, arguments: [17281], [1001], [0x3AE64C028], [], [], [], [], []
3.ORA-00600: internal error code, arguments: [kcbzwb_4], [], [], [], [], [], [], []
1. Possibly bug 5108130:
Making a reference in a PL/SQL block to a synonym at a remote site R1 when
the referent of the synonym was on yet another site R2 could have resulted
in an ORA-600 [16203] error. The PL/SQL block must have been compiled by
a 9.2.0.X or earlier compiler.
2. Possibly bug 5482174:
Deinstantiation of a large number of PLSQL objects that have opened cursors
when session_cached_cursors is non-zero might hit an ORA-600 [17281] [36]
with a call stack of the form
'ksupop->kgiCallStateCleanUp->kgiLRUResize'
repeated within it a number of times.
Workaround:
Set session_cached_cursors to zero.
3. Possibly bug 5028099:
ORA-600 [kcbzwb_4] can occur when using in memory undo (IMU)
for private buffers.
Workaround:
Set "_in_memory_undo"=FALSE
Friday, November 16, 2007
LOB indexes cannot be renamed, rebuilt, or modified
You have a table with a LOB column in it.
A LOB is simply a pointer. It points to an index. the index points to the chunks that make up the LOB.
Hence when you create a LOB, you will always get a lob index created (to find the chunks
for the lob fast) and a segment that holds the lob data (chunks).
So by design, LOB indexes can not be renamed, rebuilt or modified.
If you ever try to issue alter index rebuild command on a LOB index you'll get an
ORA-02327 cannot create index on column with datatype LOB
Thursday, November 15, 2007
Visit to a data center
Wednesday, November 14, 2007
GPL Ghostscript 8.54: Unrecoverable error, exit code 1
GPL Ghostscript 8.54: Unrecoverable error, exit code 1
This error comes whenever trying to use ghostscript.
It is possible that this error is appearing because ghostscript is unable to find fonts. This is what I found when I googled:
Fonts are distributed (and installed) independently from GS since they are provided by others (not Artifex Software or the developers of Ghostscript).
Fonts will have the .pfb suffix, so a find . -name "*.pfb" -print from some top level directory (such as /usr or /app) will locate them for you. Then you can either:
1) Symbolic link to the font directory as the expected dir for example:
ln -s /usr/local/share/ghostscript/fonts /app/ghostscript-8.00/share/ghostscript/fonts
2) Tell gs where to find the fonts using the -I option to add a search path. For example:
gs -I/usr/local/share/ghostscript/fonts ...
3) Set the GS_LIB environment variable to specify the dir For example (bin/sh or bin/ksh or bin/bash):
export GS_LIB=/usr/local/share/ghostscript/fonts
Of course, if you don't already have the fonts installed, then do
so first.
Regards,
Ray Johnston
Artifex Software Inc.
Based on the above information, this is what I did:
# /usr/local/bin/pdf2ps /tmp/justanexample.pdf - | lp -d HPDLC
Error creating job: check spooling directory: /var/spool/print
$ /usr/local/bin/pdf2ps /tmp/justanexample.pdf
Error: /invalidfont in findfont
Operand stack:
--dict:5/5(L)-- F1 10 --dict:8/8(L)-- --dict:8/8(L)-- ModenaCondensedLight --dict:12/12(L)-- Helvetica-Narrow Helvetica-Narrow Font Helvetica-Narrow 1426219 Helvetica-Narrow --nostringval-- Helvetica-Narrow NimbusSanL-ReguCond
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop 1 3 %oparray_pop 1 3 %oparray_pop --nostringval-- --nostringval-- 2 1 5 --nostringval-- %for_pos_int_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- %array_continue --nostringval-- false 1 %stopped_push --nostringval-- %loop_continue --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- 9 13 %oparray_pop 10 13 %oparray_pop --nostringval-- --nostringval-- --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 13 14 %oparray_pop --nostringval-- --nostringval-- --nostringval-- 1 -1 1 --nostringval-- %for_neg_int_continue
Dictionary stack:
--dict:1120/1686(ro)(G)-- --dict:2/20(G)-- --dict:75/200(L)-- --dict:75/200(L)-- --dict:105/127(ro)(G)-- --dict:253/347(ro)(G)-- --dict:21/24(L)-- --dict:4/6(L)-- --dict:20/20(L)-- --dict:1/1(ro)(G)-- --dict:1/1(ro)(G)-- --dict:1/1(ro)(G)-- --dict:8/8(L)-- --dict:17/17(ro)(G)-- --dict:1120/1686(ro)(G)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript 8.54: Unrecoverable error, exit code 1
dasvi@tsgsd1008 #
gs –h tells me the font directory:
dasvi@tsgsd1008 # gs -h
GPL Ghostscript 8.54 (2006-05-17)
Copyright (C) 2006 artofcode LLC, Benicia, CA. All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
-dNOPAUSE no pause after page | -q `quiet', fewer messages
-g
-sDEVICE=
-sOutputFile=
embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: x11
Available devices:
bbox bit bitcmyk bitrgb bj10e bj200 bjc600 bjc800 bmp16 bmp16m bmp256
bmp32b bmpgray bmpmono bmpsep1 bmpsep8 cdeskjet cdj550 cdjcolor cdjmono
cljet5 cljet5c deskjet devicen djet500 epswrite faxg3 faxg32d faxg4 ijs
jpeg jpeggray laserjet lj5gray lj5mono ljet2p ljet3 ljet3d ljet4 ljet4d
ljetplus nullpage pbm pbmraw pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono
pdfwrite pgm pgmraw pgnm pgnmraw pj pjxl pjxl300 pkm pkmraw pksm pksmraw
png16 png16m png256 png48 pngalpha pnggray pngmono pnm pnmraw ppm ppmraw
ps2write psdcmyk psdrgb psgray psmono psrgb pswrite pxlcolor pxlmono
spotcmyk tiff12nc tiff24nc tiff32nc tiffcrle tiffg3 tiffg32d tiffg4
tiffgray tifflzw tiffpack tiffsep uniprint x11 x11alpha x11cmyk x11gray2
x11gray4 x11mono xcf
Search path:
. : /usr/local/share/ghostscript/8.54/lib :
/usr/local/share/ghostscript/8.54/Resource :
/usr/local/share/ghostscript/fonts
For more information, see /usr/local/share/ghostscript/8.54/doc/Use.htm.
Report bugs to bug-gs@ghostscript.com, using the form in Bug-form.htm.
I checked for font directory
$ ls -ltr /usr/local/share/ghostscript/fonts
/usr/local/share/ghostscript/fonts: No such file or directory
$ ls -ld /usr/local/share/ghostscript/fonts
/usr/local/share/ghostscript/fonts: No such file or directory
The problem is occurring because the fonts directory does not exist.
To fix this I created a soft link:
# cd /usr/local/share/ghostscript
# ln -s /usr/sfw/share/ghostscript/fonts fonts
# /usr/local/bin/pdf2ps /tmp/justanexample.pdf
**** Warning: Fonts with Subtype = /TrueType should be embedded.
The following fonts were not embedded:
ModenaCondensedLight
ModenaCondensedMedium
ModenaCondensedRegular
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Actuate XML to PDF Converter 1.0 <<<< **** Please notify the author of the software that produced this **** file that it does not conform to Adobe's published PDF **** specification. # /usr/local/bin/pdf2ps /tmp/hutch_bill_Aug.pdf - | lp -d HPDLC **** Warning: Fonts with Subtype = /TrueType should be embedded. The following fonts were not embedded: ModenaCondensedLight ModenaCondensedMedium ModenaCondensedRegular **** This file had errors that were repaired or ignored. **** The file was produced by: **** >>>> Actuate XML to PDF Converter 1.0 <<<< **** Please notify the author of the software that produced this **** file that it does not conform to Adobe's published PDF **** specification. request id is HPDLC-10 (1 file) # ls -ltr justanexample.ps -rw-r--r-- 1 root root 201770 Nov 15 15:32 justanexample.ps The command is not erroring out any more and the expected output of .ps file is created. I did all this as root user. Lets test this as a normal user: dasvi@tsgsd1008 # /usr/local/bin/pdf2ps /tmp/hutch_bill_Aug.pdf **** Warning: Fonts with Subtype = /TrueType should be embedded. The following fonts were not embedded: ModenaCondensedLight ModenaCondensedMedium ModenaCondensedRegular **** This file had errors that were repaired or ignored. **** The file was produced by: **** >>>> Actuate XML to PDF Converter 1.0 <<<< **** Please notify the author of the software that produced this **** file that it does not conform to Adobe's published PDF **** specification. $ /usr/local/bin/pdf2ps /tmp/hutch_bill_Aug.pdf - | lp -d HPDLC_ Error creating job: check spooling directory: /var/spool/print
This could be due to the fact that lp can't be used by normal users. Let us check the permissions on lp binary:
$ which lp
/usr/bin/lp
$ sudo su - root
# ls -ltr lp
-rwxr-xr-x 1 root lp 28092 Jan 22 2005 lp
These permissions do not allow normal users to print. setuid needs to be on the lp binary to allow normal users to print. So I changed the permissions:
# chmod 4511 lp
# ls -ltr lp
-r-s--x--x 1 root lp 28092 Jan 22 2005 lp
# exit
$ /usr/local/bin/pdf2ps /tmp/hutch_bill_Aug.pdf - | lp -d HPDLC_G
**** Warning: Fonts with Subtype = /TrueType should be embedded.
The following fonts were not embedded:
ModenaCondensedLight
ModenaCondensedMedium
ModenaCondensedRegular
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Actuate XML to PDF Converter 1.0 <<<< **** Please notify the author of the software that produced this **** file that it does not conform to Adobe's published PDF **** specification. request id is HPDLC-11 (1 file) Now it works for any normal user.
Tuesday, November 13, 2007
Backout an apps patch
begin bug ar 6002847
begin actions
end actions
end bug ar 6002847
From line 1870 copy action starts:
#=================================#
# Actions for Copying Patch Files #
#=================================#
copy ad admin/driver adf01.drv 115.0
copy ad admin/driver adf02.drv 115.0
copy ad admin/driver adf03.drv 115.52
Some other actions are:
libin ad lib aifvaf.o
libout ad lib adifo.o
jcopy j6143275_fnd.zip
link ad bin adadmin
link ad bin adadmin_wrapper
#=======================================#
# Actions for Applying Database Objects #
#=======================================#
These are the phases in applying DB objects:
appwms76@tsgsd1004 # grep Phase u6143275.drv
# Phase FIRST - First phase, runs before all others
# Phase CON - Disable constraints, foreign keys
# Phase SEQ - Create Sequences
# Phase TAB - Create Tables and Indexes
# Phase TBM - Alter table in ways not supported by ODF
# Phase PLS - Create Package Specifications
# Phase VW - Create Views
# Phase PLB - Create Package Bodies
# Phase DAA - AOL Seed Data
# Phase DAT - non-AOL Seed Data
# Phase UPG - non-AOL Transaction Data
# Phase DFR - Create deferred indexes
# Phase EN - Enable constraints, create triggers
# Phase LAST - Last phase, runs after all others
# Phase NOEXEC - These files are intentionally not executed.
#
# Phase FIRST - First phase, runs before all others
#
# file-version-parsed ad ati adsysapp2.sql 115.2
sql admin top adsysapp2.sql none none none sqlplus_driver &phase=first checkfile:nocheck &systempwd
#
# Phase CON - Disable constraints, foreign keys
#
# file-version-parsed ad patch/115/sql adgrnctx4.sql 115.7
sql ad patch/115/sql adgrnctx4.sql none none none sqlplus &phase=con checkfile:ad:patch/115/sql:adgrnctx4.sql:ICX &systempwd &un_fnd CTXSYS &un_icx ICX
#
# Phase SEQ - Create Sequences
#
# file-version-parsed ad patch/115/odf adphst.odf 115.26
exec ad patch/115/odf adphst.odf odf &phase=seq checkfile:ad:patch/115/odf:adphst.odf:seq_sequences mode=sequences
#
# Phase TAB - Create Tables and Indexes
#
# file-version-parsed ad patch/115/odf adconc.odf 115.3
exec ad patch/115/odf adconc.odf odf &phase=tab checkfile:ad:patch/115/odf:adconc.odf:tab_tables mode=tables
# file-version-parsed ar patch/115/xdf ar_line_rev_adj_gt.xdf 115.0
exec java oracle/apps/fnd/odf2 FndXdfCmp.class java &phase=tab checkfile:ar:patch/115/xdf:ar_line_rev_adj_gt.xdf:tab_table &un_ar &pw_ar &un_apps &pw_apps &jdbc_protocol &jdbc_db_addr table &fullpath_ar_patch/115/xdf_ar_line_rev_adj_gt.
xdf &fullpath_fnd_patch/115/xdf_xsl
#
# Phase TBM - Alter table in ways not supported by ODF
#
# file-version-parsed ad patch/115/sql adphtm1g.sql 115.0
sql ad patch/115/sql adphtm1g.sql none none none sql_owner &phase=tbm &un_apps &pw_apps &un_fnd
#
# Phase PLS - Create Package Specifications
#
# file-version-parsed ad patch/115/sql adawld9is.pls 115.0
sql ad patch/115/sql adawld9is.pls MVIEW_RECOMMENDATIONS SYSTEM &systempwd sqlplus &phase=pls
# file-version-parsed ad patch/115/sql adcslcks.pls 115.2
sql ad patch/115/sql adcslcks.pls none none none package &phase=pls checkfile:ad:patch/115/sql:adcslcks.pls
#
# Phase VW - Create Views
#
# file-version-parsed ar patch/115/odf arcar.odf 115.16
exec ar patch/115/odf arcar.odf odf &phase=vw checkfile:ar:patch/115/odf:arcar.odf:vw_views mode=views
# file-version-parsed ar patch/115/odf ardt.odf 115.5
exec ar patch/115/odf ardt.odf odf &phase=vw checkfile:ar:patch/115/odf:ardt.odf:vw_views mode=views
#
# Phase PLB - Create Package Bodies
#
# file-version-parsed ad patch/115/sql adawld9ib.pls 115.5
sql ad patch/115/sql adawld9ib.pls MVIEW_RECOMMENDATIONS SYSTEM &systempwd sqlplus &phase=plb
# file-version-parsed ad patch/115/sql adcslckb.pls 115.3
sql ad patch/115/sql adcslckb.pls none none none package &phase=plb checkfile:ad:patch/115/sql:adcslckb.pls
# file-version-parsed ad patch/115/sql adddb.pls 115.9
sql ad patch/115/sql adddb.pls none none none package &phase=plb checkfile:ad:patch/115/sql:adddb.pls
#
# Phase DAA - AOL Seed Data
#
# file-version-parsed ar patch/115/xml/US arwfengs.wfx 115.1
exec java oracle/apps/fnd/wf WFXLoad.class java &phase=daa+39 checkfile:ar:patch/115/xml/US:arwfengs.wfx -u &un_apps &pw_apps &jdbc_db_addr &jdbc_protocol US &fullpath_ar_patch/115/xml/US_arwfengs.wfx
# file-version-parsed ar patch/115/import/US arnlu.ldt 115.4
exec fnd bin FNDLOAD bin &phase=daa+51 checkfile:ar:patch/115/import/US:arnlu.ldt &ui_apps 0 Y UPLOAD @FND:patc
h/115/import/aflvmlu.lct @AR:patch/115/import/US/arnlu.ldt
#
# Phase DAT - non-AOL Seed Data
#
# file-version-parsed ar patch/115/import/US b3966132ca.ldt 115.1
exec fnd bin FNDLOAD bin &phase=dat checkfile:ar:patch/115/import/US:b3966132ca.ldt &ui_apps 0 Y UPLOAD @AR:patch/115/import/ararca.lct @AR:patch/115/import/US/b3966132ca.ldt
#
# Phase UPG - non-AOL Transaction Data
#
# file-version-parsed ad patch/115/sql adasnupd3.sql 115.0
sql ad patch/115/sql adasnupd3.sql none none none sqlplus &phase=upg checkfile:ad:patch/115/sql:adasnupd3.sql &un_fnd
# file-version-parsed ad patch/115/sql adphenup.sql 115.5
sql ad patch/115/sql adphenup.sql none none none sqlplus &phase=upg checkfile:ad:patch/115/sql:adphenup.sql &un_fnd
#
# Phase DFR - Create deferred indexes
#
# file-version-parsed ad patch/115/odf adphst.odf 115.26
exec ad patch/115/odf adphst.odf odf &phase=dfr checkfile:ad:patch/115/odf:adphst.odf:dfr_tables mode=tables
# file-version-parsed ar patch/115/odf arcar.odf 115.16
exec ar patch/115/odf arcar.odf odf &phase=dfr checkfile:ar:patch/115/odf:arcar.odf:dfr_views mode=views
#
# Phase EN - Enable constraints, create triggers
#
# file-version-parsed ar patch/115/sql arpltgld.sql 115.13.15103.1
sql ar patch/115/sql arpltgld.sql none none none sqlplus &phase=en checkfile:ar:patch/115/sql:arpltgld.sql
#
# Phase LAST - Last phase, runs after all others
#
# file-version-parsed ad patch/115/sql adcf1151.sql 115.7
sql ad patch/115/sql adcf1151.sql none none none sqlplus &phase=last checkfile:ad:patch/115/sql:adcf1151.sql &un_fnd
# file-version-parsed ad patch/115/sql adcf1152.sql 115.7
sql ad patch/115/sql adcf1152.sql none none none sqlplus &phase=last checkfile:ad:patch/115/sql:adcf1152.sql &un_fnd
#
# Phase NOEXEC - These files are intentionally not executed.
#
# file-version-parsed ad admin/sql adaaddlb.pls 115.6
# noexec ad admin/sql adaaddlb.pls
# file-version-parsed ad admin/sql adaaddls.pls 115.7
# noexec ad admin/sql adaaddls.pls
#========================================#
# Actions for Generating Dependent Files #
#========================================#
genform ar forms/US ARBRREMI.fmb
genform ar forms/US ARHDATTR.fmb
genform ar forms/US ARXAIEXP.fmb
genform ar forms/US ARXCOECC.fmb
genform ar forms/US ARXCOQIL.fmb
If you can manually undo each of the above steps, you can backout of an apps patch.
Friday, November 9, 2007
Dots appearing in place of commas in number fields in forms and reports
From: Geeta Kolla 06-Nov-07 20:37
Subject: Number format flipped commas and periods on screen and reports
Number format flipped commas and periods on screen and reports
Every so often, maybe once every week or so, one of the users will experience *flipped* commas and periods in their dollar values.
EXAMPLE: what should be $1,234.56 instead appears as $1.234,56
It happens on both screen as well as reports.
Any ideas, please let me know.
My reply:
From Metalink Note 333785.1 (Internationalization Guide for Apps 11i):
When a number is displayed in digits, country-specific conventions determine how that number is entered and displayed. For example, the number "one million" is usually represented as 1,000,000.00 in the United States and United Kingdom, with the period (.) being used as the decimal separator, or radix, and the comma (,) being used as the grouping separator between thousands. In contrast, many European countries use the comma as the decimal separator and the period as the grouping separator, so "one million" is usually represented as 1.000.000,00.
Number Format Support enables the characters used for the decimal separator and grouping separator to be changed to suit user preference when numbers are entered or displayed. This is referred to as a multi-radix capability. The characters used for the separators may be the period, comma, or other characters.
On each server, the setting of the parameter NLS_NUMERIC_CHARACTERS is used to specify both the decimal separator and the grouping separator. For example, NLS_NUMERIC_CHARACTERS = ".," means that "." is used as the decimal separator and "," is used as the grouping separator. Oracle Applications products generally store numbers as a data type of NUMBER, enabling numbers to be interpreted correctly with any radix format.
Another good reference note is 30778.1: Init.ora Parameter "NLS_NUMERIC_CHARACTERS" Reference Note
Also refer to notes: 408261.1, 275411.1, 364582.1 and 241047.1
Thursday, November 8, 2007
PL/SQL native compilation in Apps 11i and 12
Do we need to use this parameter plsql_native_library_dir ? Can you please check this in production and see if we need to set this ?
Or do we need to introduce this post 10g upgrade ? Can you please suggest on this.
Issue:
SQL> show error
Errors for PACKAGE APPS.AP_TAX_RECOVERY_PKG:
LINE/COL ERROR
-------- -----------------------------------------------------------------
44/2 PLS-00920: parameter plsql_native_library_dir is not set
This is what I replied:
Hi Sandeep,
Even though native plsql compilation is available since 9i, it was not being used in our environment. It is optional and set through initialization parameter, plsql_code_type (new in 10g) to native. As per metalink note 216205.1, which describes the database initialization parameters for Apps 11i, whenever you are setting plsql_code_type=NATIVE you need to set all these variables:
plsql_code_type = NATIVE
plsql_native_library_dir = /prod11i/plsql_nativelib # Uncomment if using native PL/SQL
plsql_native_library_subdir_count = 149 # Uncomment if using native PL/SQL
Please refer to
Parameter Metalink Note
plsql_code_type 394422.1
plsql_native_library_dir 153370.1
plsql_native_library_subdir_count 153371.1
To learn more about native compilation you may refer to metalink notes 311971.1 and 269012.1.
Thanks and regards,
- Vikram
Rashmi from Sandeep's team wrote back:
Hi Vikram,
Thanks for your guidelines on this.
Question: How did we come up with plsql_native_library_subdir_count = 149?
Has any rule of thumb to be followed? Please let us know.
Thanks,
Rashmi
My reply:
Hi Rashmi
It is the default as per note 216205.1. Also as per note 444524.1, in ATG_PF.H RUP6, PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT has been AutoConfig-enabled to provide more flexibility. It is defined as %s_db_plsql_native_library_subdir_count% and has a default value of 149. Here is the explanation about this parameter from 10g DB reference guide (http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams163.htm#REFRN10169):
PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT
Property Description
Parameter type Integer
Default value 0
Modifiable ALTER SYSTEM
Range of values 0 to 232 - 1 (max value represented by 32 bits)
PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT specifies the number of subdirectories created by the database administrator in the directory specified by PLSQL_NATIVE_LIBRARY_DIR.
When using the PL/SQL native compiler, Performance of file create/open operations is unacceptably slow if the number of files in a directory is very large. It is usually advisable to create subdirectories and use this parameter if the total number of different PL/SQL packages that may need to be compiled natively by all users of the database instance exceeds 10000.
The subdirectories should have names corresponding to zero-based decimal numbers, prefixed by d. For example, the database administrator can create 1000 subdirectories named d0, d1, ... d999, and set PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT to 1000.
I recommend that you set
plsql_native_library_dir = 10.2.0_ORACLE_HOME/plsql_nativelib
plsql_native_library_subdir_count = 149
and create mkdir $ORACLE_HOME/plsql_nativelib/d0,d1,d2…..d148.
Thanks and regards,
- Vikram
Wednesday, November 7, 2007
ORAINST environment variable, invPtrLoc and oraInst.loc
Central Inventory contains the information relating to all Oracle products installed on a host. Central inventory(oraInventory) is an inventory that lists ORACLE_HOMEs installed in the system using the inventory.xml file. Each central inventory consists of a file called inventory.xml, which contains the list of Oracle Homes installed.Any modification to the central Inventory should be done through OUI and it is not allowed or a supported method to manually modify the Central Inventory at any point of time. There are various other files associated with the central inventory so manually deleting the contents oraInventory directory and overwritting it leaves the database in an unstable state and may result in corruption of inventory. Every Installation and deinstallation through OUI updates the inventory.xml file as well as corresponding Oracle home comps.xml files hence manipulating manually the contents of oraInventory directory doesn't really help the cause and failes to update corresponding files associated with central Inventories.
For Example:-
./runInstaller -invPtrLoc
opatch lsinventory -invPtrLoc
1. Set the evironment variable ORAINST to the full path of oraInst.loc including the file name
itself:
ORAINST = /var/opt/oraInst.loc
export ORAINST
2. echo $ORAINST to verify it is set correctly.
You may get errors like those described in metalink note 384260.1 if the inventory is not set correctly:
Your ORAINST is /tmp
Your JDK_HOME is /u01/applgld1/gld1ora/iAS/Apache/jdk
If these are correct, press Y to continue [N] => Y
Checking the inventory for Component oracle.apache.apache 1.3.19.0.0a
oracle.sysman.oii.oiii.OiiiInventoryDoesNotExistException: No install inventory
exists on this machine.
at
oracle.sysman.oii.oiii.OiiiInstallAreaControl.initAreaControl(OiiiInstallAreaControl.java:1669)
at
oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:257)
at
oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:216)
at
oracle.sysman.oii.oiic.OiicStandardInventorySession.initSession(OiicStandardInventorySession.java:165)
at Precheck.
at Precheck.main(Precheck.java:62)
Checking the inventory please wait for a while....
This may take few seconds......
java.lang.NullPointerException
at Precheck.getInventoryDetails(Precheck.java:172)
at Precheck.main(Precheck.java:71)
java.lang.NullPointerException
at Precheck.tokenize(Precheck.java:216)
at Precheck.main(Precheck.java:72)
Tuesday, November 6, 2007
Clicking on Notifications Summary logs you out
1. Login
2. Click on Purchasing Superuser responsibility
3. Click on Notification Summary
You are logged out and thrown back to the screen which asks for username and password and the URL looks like this:
http://justanexample.com:8000/OA_HTML/AppsLocalLogin.jsp?requestUrl=APPSHOMEPAGE&cancelUrl=http%3A%2F%2F11ioltp.justanexample.com%3A8068%2F
oa_servlets%2Foracle.apps.fnd.sso.AppsLogin&langCode=US&errText=Invalid+Function
.++Please+contact+the+System+Administrator.+Please+login+again.&username=SYSADMI
N&s1=0S7jLvK2s1HivPT87K8Pzg..
Metalink Notes 243026.1 and 186123.1 provide possible solutions. However we solved it by following metalink note 311802.1 which gives the cause and solution:
Cause
Workflow Notifications Funtion (FND_FNDWFNOT) was set improperly per Bug 3550358 for Application 11.5.10. Now, the system uses Oracle Framework to access the Worklist instead of the old form function calls.Function: FNDWFNOT
User Function Name: Universal In-Box
Type: SSWA plsql function -> should be SSWA jsp function
HTML Call: wfa_html.worklist -> should be OA.jsp?akRegionCode=WF_SS_NOTIF_PAGE&akRegionApplicationId=0&OAHP=WF_SELF_SERVICE_APPLICATION&OASF
=WF_SS_NOTIFICATIONS
Solution
To implement the solution, please execute the following steps:1. Check to see if script $FND_TOP/sql wfformfnc.sql already available.
Script wfformfnc.sql 115.2 updates references of form function calls FROM the old Worklist pages (pl/sql) TO the new Oracle Framework based Worklist.
2. Run script wfformfnc.sql
Please Note:
The script wfformfnc.sql does come with the following patches/releases:
Customers on 11.5.9 - the script is available:
Patch 3492743 (Post OWF.G ROLLUP 6) or higher.
Patch 3868138 (Post OWF.G ROLLUP 7) or higher.
Customers on 11.5.10 - the script is available:
Patch 3438354 (11i.ATG_PF.H) - Part of Base 11.5.10.
Monday, November 5, 2007
Natively compile PL/SQL code in Apps 11i with RDBMS 10.2.0.3
Natively compile PL/SQL code (optional)
If you are not on the Windows Itanium platform, you can choose to run Oracle Applications 11i PL/SQL database objects in natively compiled mode with Oracle Database 10g. See the "Compiling PL/SQL Code for Native Execution" section of Chapter 11 of Oracle Database PL/SQL User's Guide and Reference 10g Release 2 (10.2).
When modifying the initialization parameters pertaining to the PL/SQL native compilation, use document 216205.1, on OracleMetaLink as a guideline. You can set the plsql_native_library_subdir_count parameter as described in the PL/SQL user's guide. Create the associated subdirectories for the given plsql_native_library_dir and plsql_native_library_subdir_count parameters.
Natively compile PL/SQL code (optional)
If you are on a UNIX/Linux platform, you can choose to run Oracle Applications 11i PL/SQL database objects in natively compiled mode with Oracle Database 10g. See PL/SQL Native Compilation of Applications 11i on Oracle Database 10g Release 1 (10.1.0) on OracleMetaLink.
I am wondering why they made it optional in 10.2.x release.
In an SR raised with Oracle for a performance issue in Projects module, they have recommended that we set the following parameters:
Mandatory parameter | current | recommended |
_system_trig_enabled | (NOT FOUND) | TRUE |
o7_dictionary_accessibility | TRUE | FALSE |
_sort_elimination_cost_ratio | (NOT FOUND | 5 |
_like_with_bind_as_equality | (NOT FOUND | TRUE |
_fast_full_scan_enabled | (NOT FOUND | FALSE |
_sqlexec_progression_cost | (NOT FOUND | 2147483647 |
plsql_optimize_level | (NOT SET | 2 |
plsql_code_type | (NOT SET) | NATIVE |
plsql_native_library_dir | (NOT SET)\ | ?/prod11i/plsql_nativelib |
_b_tree_bitmap_plans | NOT FOUND | FALSE |
optimizer_secure_view_merging | NOT SET | FALSE |
#########
#
# PL/SQL Parameters
#
# The following parameters are used to enable the PL/SQL global optimizer
# and specify the compilation type.
#
# Release 11i environments that use Oracle Database 10g can employ either
# interpreted or compiled (native) PL/SQL code. The default is interpreted.
# While native PL/SQL compilation can improve runtime performance, this may
# be at the expense of increased downtime
, because of the need to generate
# and compile the native shared libraries. If native compilation is to be used,
# the parameter plsql_native_library_dir should be set to the path of the
# directory that will be used to store the shared libraries, and that line
# and the plsql_native_library_subdir_count line below should be uncommented.
#
#########
plsql_optimize_level = 2 #MP
plsql_code_type = INTERPRETED
# plsql_native_library_dir = /prod11i/plsql_nativelib # Uncomment if using native PL/SQL
# plsql_native_library_subdir_count = 149 # Uncomment if using native PL/SQL
I am trying to understand how is downtime going to increase because of enabling native sql compilation. Will update this post once I have more information.
Friday, November 2, 2007
Identify dynamic and static init.ora parameters
This view lists parameters and parameter values that are currently in effect for the session. Each list parameter value appears as a row in the view.
Presenting the list parameter values in this format enables you to quickly determine the values for a list parameter. For example, if a parameter value is "a,b" looking at V$PARAMETER
does not tell you if the parameter has two values ("a" and "b") or one value ("a, b"). V$PARAMETER2
makes the distinction between the list parameter values clear.
Column | Datatype | Description |
---|---|---|
NUM | NUMBER | Parameter number |
NAME | VARCHAR2(80) | Name of the parameter |
TYPE | NUMBER | Parameter type:
|
VALUE | VARCHAR2(512) | Parameter value for the session (if modified within the session); otherwise, the instance-wide parameter value |
DISPLAY_VALUE | VARCHAR2(512) | Parameter value in a user-friendly format. For example, if the VALUE column shows the value 262144 for a big integer parameter, then the DISPLAY_VALUE column will show the value 256K . |
ISDEFAULT | VARCHAR2(6) | Indicates whether the parameter is set to the default value (TRUE ) or the parameter value was specified in the parameter file (FALSE ) |
ISSES_MODIFIABLE | VARCHAR2(5) | Indicates whether the parameter can be changed with ALTER SESSION (TRUE ) or not (FALSE ) |
ISSYS_MODIFIABLE | VARCHAR2(9) | Indicates whether the parameter can be changed with ALTER SYSTEM and when the change takes effect:
|
ISINSTANCE_MODIFIABLE | VARCHAR2(5) | For parameters that can be changed with ALTER SYSTEM , indicates whether the value of the parameter can be different for every instance (TRUE ) or whether the parameter must have the same value for all Real Application Clusters instances (FALSE ). If the ISSYS_MODIFIABLE column is FALSE , then this column is always FALSE . |
ISMODIFIED | VARCHAR2(10) | Indicates whether the parameter has been modified after instance startup:
|
ISADJUSTED | VARCHAR2(5) | Indicates whether Oracle adjusted the input value to a more suitable value (for example, the parameter value should be prime, but the user input a non-prime number, so Oracle adjusted the value to the next prime number) |
ISDEPRECATED | VARCHAR2(5) | Indicates whether the parameter has been deprecated (TRUE ) or not (FALSE ) |
DESCRIPTION | VARCHAR2(255) | Description of the parameter |
ORDINAL | NUMBER | Position (ordinal number) of the parameter value. Useful only for parameters whose values are lists of strings. |
UPDATE_COMMENT | VARCHAR2(255) | Comments associated with the most recent update |
If
ISSES_MODIFIABLE
parameter is true, the parameter can be changed on session level, and if issys_modifiable or isinstance_modifiable is true, the parameter can be changed on system level.
Improve imp and exp performance
How can one improve Import/ Export performance?
EXPORT:- Set the BUFFER parameter to a high value (e.g. 2M)
- Set the RECORDLENGTH parameter to a high value (e.g. 64K)
- Stop unnecessary applications to free-up resources for your job.
- If you run multiple export sessions, ensure they write to different physical disks.
- DO NOT export to an NFS mounted filesystem. It will take forever.
- Create an indexfile so that you can create indexes AFTER you have imported data. Do this by setting INDEXFILE to a filename and then import. No data will be imported but a file containing index definitions will be created. You must edit this file afterwards and supply the passwords for the schemas on all CONNECT statements.
- Place the file to be imported on a separate physical disk from the oracle data files
- Increase DB_CACHE_SIZE (DB_BLOCK_BUFFERS prior to 9i) considerably in the init$SID.ora file
- Set the LOG_BUFFER to a big value and restart oracle.
- Stop redo log archiving if it is running (ALTER DATABASE NOARCHIVELOG;)
- Create a BIG tablespace with a BIG rollback segment inside. Set all other rollback segments offline (except the SYSTEM rollback segment of course). The rollback segment must be as big as your biggest table (I think?)
- Use COMMIT=N in the import parameter file if you can afford it
- Use ANALYZE=N in the import parameter file to avoid time consuming ANALYZE statements
- Remember to run the indexfile previously created
Export from 8i and import to 10g
Regular export/import (exp/imp) utilities are different from DataPump expdp/impdp
utilities. The dump written by regular export/import (written with exp/imp utility) cannot be handled by DataPump import (expdp/impdp utility).
ORA-39000: bad dump file specification
Cause: The user specified a dump file that could not be used in the current job.
Action: Specify a dump file that is usable for the job.
ORA-31640: unable to open dump file "string" for read
Cause: Import was unable to open the export file for reading.
Action: Take appropriate action to restore the device.
From the error messages it is clear that Datapump is not able to read the dump file.
SOLUTION:
Use the regular import (imp utility - not the 10g IMDP) version 10g (10.2) to read the export dump written by exp utility version 8i.
Reference:http://download.oracle.com/docs/cd/B28359_01/server.111/b28319/dp_overview.htm#i1009203
Note:
Dump files generated by the Data Pump Export utility are not compatible with dump files generated by the original Export utility. Therefore, files generated by the original Export (exp) utility cannot be imported with the Data Pump Import (impdp) utility.
You could also refer to metalink note 132904.1 which has the Compatibility Matrix for Export & Import Between Different Oracle Versions.
Thursday, November 1, 2007
sudo (superuser do)
In Solaris you don't find sudo (though its available on sunfreeware.com) because we have RBAC. For details on RBAC see Ben Rockwood's blog entry: http://www.cuddletech.com/blog/pivot/entry.php?id=362
Root privilege is required during Oracle RDBMS installation for running root.sh. Refer to Metalink Note 413855.1 Can root.sh be run as sudo. The other time when root access is required is when you are installing a fresh instance of E-Business Suite. On unix, root user starts the rapidwiz (Rapid Install) process which installs E-Business Suite.