Multinode adop patching:
In a multi-node setup on EBS 12.2, we can apply patches individually on each node as well.
Multinode adop patching:
In a multi-node setup on EBS 12.2, we can apply patches individually on each node as well.
In Oracle Apps R12.2 whenever we are changing apps password we need to update the new value in EBSDatasource in Weblogic.
Recenty i got an issue with patch.. Patch failed with Relinking..the following are the details
Patch Failed With Relink Error..
Relink of module “RAXTRX” failed.
See error messages above (also recorded in log file) for possible
reasons for the failure. Also, please check that the Unix userid
Recent Change : cloned from Prdouction
Error MSg :- adrelink error
make -f /apps11i/apapps11i/11510/admin/APPS11i/out/link_ar_20452.mk
/apps11i/apapps11i/11510/ar/11.5.0/bin/RAXTRX
Starting link of ar executable ‘RAXTRX’ on Wed March 25 02:12:13 IST 2011
gcc -s -L/apps11i/product/806/lib -L/apps11i/product/806/lib/stubs -ldl -o
/apps11i/apapps11i/11510/ar/11.5.0/bin/RAXTRX
/apps11i/apapps11i/11510/ar/11.5.0/lib/raamai.o \
/apps11i/apapps11i/11510/ar/11.5.0/lib/libar.a
/apps11i/apapps11i/11510/fnd/11.5.0/lib/libfnd.a -lsql
/apps11i/product/806/lib/nautab.o /apps11i/product/806/lib/naeet.o
/apps11i/product/806/lib/naect.o /apps11i/product/806/lib/naedhs.o `cat
/apps11i/product/806/lib/naldflgs` -lnetv2 -lnttcp -lnetwork -lncr -lclient
-lvsn -lcommon -lgeneric -lmm -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3
-lnetv2 -lnttcp -lnetwork -lncr -lclient -lvsn -lcommon -lgeneric -lepc
-lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 -lclient -lvsn -lcommon
-lgeneric -lnlsrtl3 -lcore4 -lnlsrtl3 -lcore4 -lnlsrtl3 `cat
/apps11i/product/806/lib/sysliblist` -ldl -lpthread -lm
/apps11i/product/806/rdbms/lib/defopt.o
/apps11i/product/806/rdbms/lib/ssbbded.o
/usr/bin/ld: cannot find /PROD/806/lib/stubs/libc.so.6
collect2: ld returned 1 exit status
make: *** [/apps11i/apapps11i/11510/ar/11.5.0/bin/RAXTRX] Error 1
Done with link of ar executable ‘RAXTRX’ on Wed March 25 02:12:14 IST 2011
Relink of module “RAXTRX” failed.
See error messages above (also recorded in log file) for possible
reasons for the failure. Also, please check that the Unix userid
Cause:-libc.so is pointing to Production ..
Resolution/Fix:- Need to change libc.so reference to apps11i
Steps to resolve this Problem
============================
1) login as apuser(applmgr)
2) change directory to $ORACLE_HOME/lib/stubs
3) cat libc.so
chk wther its pointing to the COrrect instance
4) if not Then chanage to Present instance and restart the patch…
In my case :
$ cd $ORACLE_HOME/lib/stubs
$ ls -lrt libc.so
-rw-r–r– 1 apapps11i dba 77 Mar 25 02:42 libc.so
$ cat libc.so
GROUP ( /PROD/806/lib/stubs/libc.so.6 /usr/lib/libc_nonshared.a )
here Our libc.so pointed to PROD instance..
changing entry from /PROD/806/lib/stubs/libc.so.6 to /apps11i/806/lib/stubs/libc.so.6
And restarted the patch… Its applied successfully
Reference Note:-
=================
1275418.1
244256.1
19c PDB service remove/add:
By default, Container Database (CDB) provides only one service for every Pluggable Database (PDB) for connections, but we can create our own services for various entries of applications.
There're two ways to add a service to a PDB:
It's an administration package for managing services of a database.
For RAC databases or Oracle Restart, we can use it to manage services.
To add a service to a normal, non-CDB database, you may go for that post.
For single-instance, we can only use DBMS_SERVICE to add services to a PDB.
Let's see current status of listener.
[oracle@test ~]$ lsnrctl status
...
Services Summary...
Service "ORCLCDB" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "aa736f65d66215cce053992aa8c08959" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully
As you can see, the default service ORCLPDB of the PDB now registers with listener.
Let's see what PDB we have.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORCLPDB READ WRITE NO
Let's switch container to the PDB.
SQL> alter session set container=ORCLPDB;
Session altered.
Make sure that we are in the right container.
SQL> show con_name
CON_NAME
------------------------------
ORCLPDB
Let's see current services of the container before adding a service to it.
SQL> column con_id format 99
SQL> column pdb format a15
SQL> column network_name format a30
SQL> select con_id, pdb, network_name from cdb_services where pdb is not null and con_id > 2 order by pdb;
CON_ID PDB NETWORK_NAME
------ --------------- ------------------------------
3 ORCLPDB ORCLPDB
Where dynamic view CDB_SERVICES is derived from DBA_SERVICES.
SQL> exec dbms_service.create_service('ERP', 'ERP');
PL/SQL procedure successfully completed.
The service is added to current PDB, no matter a single-instance or a RAC database.
There're more variations on adding a failover service to the cluster by DBMS_SERVICE.
SQL> exec dbms_service.start_service('ERP');
PL/SQL procedure successfully completed.
For RAC database, you should start the services on all instances in the cluster:
SQL> exec dbms_service.start_service('ERP', DBMS_SERVICE.ALL_INSTANCES);
PL/SQL procedure successfully completed.
To automatically start the service after PDB is open, you just need to save current state for the PDB.
SQL> alter pluggable database orclpdb save state;
Pluggable database altered.
For RAC database, you should save the state of PDB on all instances in the cluster:
SQL> alter pluggable database orclpdb save state instances=all;
Pluggable database altered.
There're more variations on saving state of a PDB or all PDB.
Let's see current services of the container after adding a service to it.
SQL> select con_id, pdb, network_name from cdb_services where pdb is not null and con_id > 2 order by pdb;
CON_ID PDB NETWORK_NAME
------ --------------- ------------------------------
3 ORCLPDB ERP
3 ORCLPDB ORCLPDB
Let's check online services of current PDB.
SQL> column name format a30;
SQL> column network_name format a30;
SQL> select name, network_name from v$active_services;
NAME NETWORK_NAME
------------------------------ ------------------------------
orclpdb orclpdb
ERP ERP
For RAC databases, you may see the information like this:
SQL> select inst_id, name, network_name from gv$active_services;
INST_ID NAME NETWORK_NAME
---------- ------------------------------ ------------------------------
1 orclpdb orclpdb
1 ERP ERP
2 orclpdb orclpdb
2 ERP ERP
Let's see current status of listener.
[oracle@test ~]$ lsnrctl status
...
Services Summary...
Service "ERP" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDB" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "aa736f65d66215cce053992aa8c08959" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "orclpdb" has 1 instance(s).
Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully
We have a new service which registers with the new listener.
We use SQL*Plus to test the connection from an external client.
C:\Users\edchen>sqlplus hr/hr@192.168.0.11:1521/erp
...
SQL> select count(*) from employees;
COUNT(*)
----------
107
We have connected to the PDB.
If you want to remove the service from the PDB, you have to stop it first.
SQL> show con_name
CON_NAME
------------------------------
ORCLPDB
SQL> exec dbms_service.stop_service('ERP', DBMS_SERVICE.ALL_INSTANCES);
PL/SQL procedure successfully completed.
Then delete it.
SQL> exec dbms_service.delete_service('ERP');
PL/SQL procedure successfully completed.
When access custom form we got following error message “
Function not available to this responsibility”.
The XXCUS_TOP=/u02/oracle/apps/apps_st/appl/xxcus/12.0.0
XXCONV_TOP=/u02/oracle/apps/apps_st/appl/xxconv/12.0.0
reason for this issue is that, missing entry for CUSTOM_TOP under
default.env file.
In R12, CUSTOM_TOP should be defined under default.env in $INST_TOP/ora/10.1.2/forms/server directory.
After cloning or Autoconfig this issue happened. In Apps R12 under $INST_TOP/ora/10.1.2/forms/server/default.env is there.
Just add the custom top in that file.
Other wise add the same in XML files permentally.
Solution
1. Login apps user
2. cd $INST_TOP/ora/10.1.2/forms/server directory.
3. Cofirm that your CUSTOM_TOP’s are registered in the default.env file.
This means that, you should create an entry for environment variable
CUSTOM_TOP (which contains physical path to your custom directory)
like below in default.env file
present under location $INST_TOP/ora/10.1.2/forms/server directory.
Like,
or
Add below entry in XML files, So that automatically this patch registerd to default.env.
/u02/oracle/apps/apps_st/appl/xxcus/12.0.0
/u02/oracle/apps/apps_st/appl/xxconv/12.0.0
4. Not required restart any services
5. Close the login page and again try
Decrypt Weblogic user password in EBS 12.2
Weblogic admin user that was set.
Couldn't load private key - Putty key format too new
Problem
When you use PuTTygen to generate or convert to a ppk key and leave PuTTygen settings as default, you might experience this issue.
The issue/image above is from Solar-PuTTy (v3.0.1.1197), but the problem could happen using any FTTP or SSH client. For instance, In MobaXterm (Personal Edition v21.4 Built 4786), you get from the terminal:
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
From PuTTy version 0.75, the program uses a new format to generate the SSH private key; it uses ppk version 3. However, PuTTY 0.74 or earlier versions can't read this format, and this can be a problem for programs that use PuTTY internally, like Solar PuTTY or MobaXtermn. If the internal PuTTY version is not compatible with PPK version 3, the program can't use keys created with a default setting of PuTTY 0.75.
You can generate a new SSH key pair or change the private key format of an existing private key using PuTTygen.
Step 1: Change the PuTTygen PPK File Version to version 2.
Run the PuTTYgen program. Go to Key > Parameters for saving key files...
Change the PuTTygen PPK File Version to version 2.
Step 2: Generate a new SSH key pair or change the format of an existing one.
After following step one, you can now generate a key using the ppk version 2. You will be able to SSH to the cloud instance. This option is better if you are just creating the cloud instance.
Click on Generate a public or public key pair, click on Generate. Click Save private key, to save the key with the old ppk format.
Or, if you have already created a cloud instance using the new ppk format (version 3), the best option is to change the format of that key and convert it to the (old) version 2.
Click on Load and search for your ppk key (version 3). Click Save private key, to convert the key to the old ppk format.