Category Archives: 11i - Page 15

Cloning Multi Node To Single Node

This document briefly outlines the procedure for cloning an 11i multi node instance to a single node instance.

Assumptions
1. SOURCE Instance is split on 2 NODES:
SOURCE DB NODE – Both APPS and DB services installed on 1st Server
Application tier services are shut down
SOURCE APPS NODE – Both APPS and DB services installed on 2nd Server
Application tier services are started
2. TARGET instance is to be a single node (may be a new machine or one of the above)

Summary

Shut down the apps server
Start all services on db server
Run autoconfig to convert to instance to a single node
Run the preclone perl scripts
Copy files to new location
Convert source to 2 nodes by running autoconfig
Run clone scripts on Target

Cloning SOURCE Instance

1. Refer to the latest version of the cloning documentation on Metalink (Metalink Doc ID: 230672.1) to determine which patches to apply before cloning.

2. Shutdown the application server by running the adstpall.sh script:
cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finsvr/
./adstpall.sh apps/apps

Log off source APPS node
Log on source DB node

Make multi node a single node to begin cloning.
1. cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finsvr

2. Start all application services on database Source DB Node using adstrtal.sh:
cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finsvr
./adstrtal.sh apps/apps

Even though the listener and concurrent manager are the only services started on PROD, you will need to ensure that you start ALL services. Verify that the Concurrent Manager is up.

3. Run autoconfig:
cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finsvr
./adautocfg.sh

Read prompt carefully, choosing default responses where possible.

Migrating to AutoConfig on the Source DB Node (necessary only if a new rapid clone patch is applied).

4. cd /oraprod/oracle/prodappl/ad/11.5.0/bin (that is, $AD_TOP/bin)

Create appsutil.zip file:
perl admkappsutil.pl

appsutil.zip created in $APPL_TOP/admin/out

On the database tier (finmgr), copy or FTP the appsutil.zip file to the RDBMS_ORACLE_HOME.

5. Copy file appsutil.zip to /oraprod/oracle/proddb/9.2.0/*
unzip -o appsutil.zip

Generate and Apply AutoConfig Configuration files
This step performs the conversion to AutoConfig. Once completed, the previous configuration will not be available. The database server and the database listener must remain available during the AutoConfig run. All other database tier services should be shut down.

Warning: Running AutoConfig on the database node will update the RDBMS network listener file. Save the listener file before you run autoconfig.

7. Change directory to RDBMS_ORACLE_HOME/appsutil/bin
cd /oraprod/oracle/proddb/9.2.0/appsutil/bin

adconfig.sh contextfile=PROD_finmgr.xml appspass=apps*

8. Prepare the source system database tier for cloning
cd /oraprod/oracle/proddb/9.2.0/appsutil/scripts/PROD_finmgr (that is, $RBDMS_ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl db Tier

9. Prepare the source system application tier for cloning
cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finmgr (that is, $COMMON_TOP/admin/scripts/$CONTEXT_NAME)
perl adpreclone appsTier

10. Stop all services (DB and APPS)
cd /oraprod/oracle/prodcomn/admin/scripts/PROD_finmgr/
./adstpall.sh apps/apps
Shutdown database listener (addlnctl.sh stop apps/apps)
Shutdown database (addbctl.sh stop apps/apps)
Or run the stopDB script in /oraprod/scripts (doing so will attempt to shut the services again)

11. Copy files
Create the respective folders on target node:
clondb
clondata
clonora
clonappl
cloncomn

Copy the files from Source DB Node to Target Node. As root user, mount source node on target Node by editing /etc/exports on target node and adding the line where the source files are located (i.e. /oraprod/oracle).

Then restart NFS on the target server by entering the following command at the command prompt (as root user):
service nfs restart

12. On the target node (that is, where the clone is being created), do the following:
a. su – applmgr
b. cd /orapatch (new clone top directory)
c. mkdir prodfiles (where we want the files copied to)
d. su – root
e. Mount SOURCE directory onto TARGET directory
f. Copy the files using the operating system utilities

May need to ensure that the owner name and group of target directories are applmgr and dba respectively and not nfsmount.

To convert from single node to multi node:

Run autoconfig on Source Apps Node to make Source Instance 2 Node.

When a report is run on the target instance we get an error: “File server could not verify its initialization parameters when viewing output”. Patch 4244610 was applied, but this did not resolve the issue.

Removed spaces from listener.ora file in /orapatch/oracle/clonora/8.0.6/network/admin/clon_newtest/listener.ora. Removed all spaces near the APPLFSTT parameter. Removed everything and left reference to database alone. Bounce listener.

To change color and name, go to SysAdmin/ Security/Profile/System, under profile %Site%, change Site Name to new name. To change color, navigate to profile %Color% JavaColorScheme and Service:Visual Attributes for Settings where the colour can also be changed.

Setting Up Oracle Alerts To Send Email Notifications

This document shows how to set up Oracle Alerts to send email notifications.

1. Navigate to Alerts and enter the following information:

Application: Application Object Library
Description: Send email Notification
Name: Send Email Notification

Under Periodic > Periodic Details
Frequency: Every N Calendar Days
Days: 1
Start Time: 07:00:00
End Time: 18:00:00
Check Interval: 00:30:00

Keep: 2 Days
End Date:

Select Statement:

select w.notification_id,
w. group_id,
w.message_type,
w.message_name,
rtrim(f.email_address),
substr(f.description,1,30) name,
w.to_user,
substr(w.subject,1,100) message_text
INTO
&notification_id,
&group_id,
&message_type,
&message_name,
&email_address,
&name,
&to_user,
&message_text
from
wf_notifications w,
fnd_user f
where
w.recipient_role = f.user_name and
w.status=’OPEN’ and
trunc(begin_date) = trunc(sysdate)

2. Click the Actions button.

3. Enter the following information:

Actions – Send Email Notification
Action Name: Email User
Description: Send User an email
Action Level: Detail

Action Details – Email User

To: &EMAIL_ADDRESS
Subject: PROD NOTIFICATION:&NOTIFICATION_ID – &MESSAGE_TYPE – &MESSAGE_NAME

Select Text.

Enter the following text into the textbox:

&NAME

Please log in to Oracle Applications and check your Notifications. &MESSAGE_TEXT

Link to Oracle:
http://appsserver.serverdomain.com:8000/OA_HTML/US/ICXINDEX.htm

This is an unattended messaging system. Please do NOT respond to this email.

Oracle Applications

4. Action Sets – Send Email Notification

Seq: 1
Action Set Name: Email Notification
Suppress Duplicates:
Enable:

5. Alert Details – Send Email Notification

Under the Outputs tab:

Output Name: NOTIFICATION_ID
Description: NOTIFICATION_ID
Detail:
Summary:

Output Name: GROUP_ID
Description: GROUP_ID
Detail:
Summary:

Output Name: MESSAGE_TYPE
Description: MESSAGE_TYPE
Detail:
Summary:

Output Name: MESSAGE_NAME
Description: MESSAGE_NAME
Detail:
Summary:

Output Name: EMAIL_ADDRESS
Description: EMAIL_ADDRESS
Detail:
Summary:

Output Name: NAME
Description: NAME
Detail: 40
Summary: 40

Output Name: TO_USER
Description: TO_USER
Detail:
Summary:

Output Name: MESSAGE_TEXT
Description: MESSAGE_TEXT
Detail: 150
Summary: 150

Setting Up Cash Management Open Interface

In SQL*Plus, execute script ce_999_int.sql as user apps to create the interface table.
Ensure that the view was not changed before running script.
After running script, ensure that there are no invalid objects for owner CE.

#ce_999_int.sql
 create table ce.CE_999_INTERFACE
 (
 TRX_ID Number(15) unique,
 BANK_ACCOUNT_ID NUMBER(15) not null,
 TRX_TYPE VARCHAR2(20) not null,
 TRX_TYPE_DSP VARCHAR2(80) not null,
 TRX_DATE DATE not null,
 CURRENCY_CODE VARCHAR2(15) not null,
 STATUS VARCHAR2(15) not null,
 STATUS_DSP VARCHAR2(80) not null,
 AMOUNT NUMBER(17,2) not null,
 GL_DATE DATE not null,
 CREATION_DATE DATE not null,
 CREATED_BY NUMBER(15) not null,
 LAST_UPDATE_DATE DATE not null,
 LAST_UPDATED_BY NUMBER(15) not null,
 TRX_NUMBER VARCHAR2(15),
 EXCHANGE_RATE_TYPE VARCHAR2(30),
 EXCHANGE_RATE_DATE DATE,
 EXCHANGE_RATE NUMBER(17,2),
 CLEARED_AMOUNT NUMBER(17,2),
 CHARGES_AMOUNT NUMBER(17,2),
 ERROR_AMOUNT NUMBER(17,2),
 ACCTD_AMOUNT NUMBER(17,2),
 ACCTD_CLEARED_AMOUNT NUMBER(17,2),
 ACCTD_CHARGES_AMOUNT NUMBER(17,2),
 ACCTD_ERROR_AMOUNT NUMBER(17,2),
 CLEARED_DATE DATE
 )
 /
create or replace view apps.CE_999_INTERFACE_V
 as select
 ROWID ROW_ID,
 TRX_ID,
 BANK_ACCOUNT_ID,
 TRX_TYPE,
 TRX_TYPE_DSP,
 TRX_NUMBER,
 TRX_DATE,
 CURRENCY_CODE,
 STATUS,
 STATUS_DSP,
 AMOUNT,
 GL_DATE,
 CREATION_DATE,
 CREATED_BY,
 LAST_UPDATE_DATE,
 LAST_UPDATED_BY,
 EXCHANGE_RATE_TYPE,
 EXCHANGE_RATE_DATE,
 EXCHANGE_RATE,
 CLEARED_AMOUNT,
 CHARGES_AMOUNT,
 ERROR_AMOUNT,
 ACCTD_AMOUNT,
 ACCTD_CLEARED_AMOUNT,
 ACCTD_CHARGES_AMOUNT,
 ACCTD_ERROR_AMOUNT,
 CLEARED_DATE
 from CE.CE_999_INTERFACE
 /
 accept database char prompt 'Enter database to connect to: '
 connect apps/apps@&database
 rem compile all invalid database objects
 alter view CE_999_RECONCILED_V compile
 /
 alter view CE_999_TRANSACTIONS_V compile
 /
 alter view CE_AVAILABLE_TRANSACTIONS_V compile
 /
 alter view CE_RECONCILED_TRANSACTIONS_V compile
 /
 alter package CE_AUTO_BANK_CLEAR compile body
 /
 alter package CE_AUTO_BANK_MATCH compile body
 /

2. Start Enterprise Manager
On the database server, change directory to db/9.2.0
Source the database environment
run $oemapp dbastudio

Select the APPS schema
Select the CE_999_PKG body
Enable the clear and unclear procedures
Compile procedure bodies

Bank Statement SQL Loader Scripts

Before uploading bank statement file (SQL Loader data file), ensure that the data file exactly maps to the lines.ctl and the headers.ctl.

Sample control files (Files may need to altered to best match statement)
 # HEADER.CTL
LOAD DATA
APPEND INTO TABLE ce_statement_headers_int_all
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( BANK_ACCOUNT_NUM CONSTANT 'XXXXXXXXXXXX',
#ADD BANK ACCT NUMBER ORG_ID CONSTANT '23',
#DETERMINE ORG ID STATEMENT_NUMBER,
STATEMENT_DATE "TO_DATE(:STATEMENT_DATE,'YYYYMMDD')",
DUMMY_COLUMN FILLER,
DUMMY_COLUMN2 FILLER,
DUMMY_COLUMN3 FILLER,
DUMMY_COLUMN4 FILLER,
DUMMY_COLUMN5 FILLER,
DUMMY_COLUMN6 FILLER,
DUMMY_COLUMN7 FILLER,
DUMMY_COLUMN8 FILLER,
DUMMY_COLUMN9 FILLER,
DUMMY_COLUMN10 FILLER,
CURRENCY_CODE CONSTANT 'TTD' )

# LINES.CTL
load data
append into table ce_statement_lines_interface
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
( STATEMENT_NUMBER,
TRX_DATE "TO_DATE(:TRX_DATE, 'YYYYMMDD')",
BANK_ACCOUNT_NUM CONSTANT 'XXXXXXXXXXXX',
#ADD BANK ACCT NUMBER LINE_NUMBER SEQUENCE(COUNT),
currency_code constant 'TTD',
dummy_filler2 filler,
dummy_filler3 filler,
dummy_filler4 filler,
dummy_filler1 filler,
TRX_CODE,
TRX_TEXT,
AMOUNT,
BANK_TRX_NUMBER,
dummy_filler5 filler,
dummy_filler6 filler )

Save the data file as a .csv file.

Note:

To determine org_id, issue the following command in SQL*Plus:

Select ORGANIZATION_ID, NAME From HR_ALL_ORGANIZATION_UNITS;

11i Printer Setup Basics

This document details the basic steps in installing a new printer in the Oracle E-Business Suite. It is derived from the AIM documentation which deals with printer setup.

This document assumes that the printer has already been set up at the OS level.

Installing a New Printer

1. Printer types > Navigate – Install – Printer – Types
This window you must define a printer type for your new printer.
Use the exact name of the printer as defined at the OS Level
An example would be if you had a line printer, you may name it
“LINE” or “LN03” for the model number of the printer. This name
will be associated to the actual printer name when you register
the printer to Oracle Applications.

2. Printer > Navigate -Install – Printer – Register
You must have defined a printer type before you can register a new printer.
The value for printer name will be the operating system printer name.
Then choose the printer type that you defined in the previous step.

3. Printer types > Navigate – Install – Printer – Types
You will need to come to this form again to associate the below printer
styles to the printer type that you defined above.

4. Print Styles > Navigate – Install – Printer – Style
If you are definig new styles specifically for your printer, you would do
this here. Please review manual for the specific parameters needed to be
defined. Oracle Applications reports are designed to work with standard
shipped styles:
Portrait
Landscape
Landwide
A4
Dynamic Portrait

You may point to the seeded styles that we have, but if you have customized
reports you may have to create a new printer style to accommodate the custom
report(s).

5. Printer Driver > Navigate – Install – Printer – Driver
Oracle does provide the printer drivers for the above Styles, so unless you
are adding your own, it should not be required to define one right now.
If you are definiing your own, you must specify a unique printer driver name
and an unique user name for a given platform.

6. Lastly, if any new updates or changes have been made to any of the printer
definitions, you must bounce the concurrent manager to ensure that all changes
do take effect.

Creating an Initialization String

An Oracle Applications printer driver has two fields, the “Initialization”
and the “Reset” fields, that are used to pre and/or post append printer
control commands. The field may contain a series of commands, typically.

The initialization string is printing device dependent. Therefore, a basic string must be obtained from the vendor or from the vendor’s manuals.

The Hewlett Packer Printer Command Language (PCL) has become the pseudo-
standard for many printer makers. Currently, the language version is up to
version PCL6. Each version is moderately backward compatible with the prior
versions. That is, a newer printer can also interpret some PCL4 or PCL5e
commands.

A simple PCL string looks like: /eE/e&l1O/e(s0P/el8D/e&k4S
In Oracle Applications /e denotes the beginning of a PCL command, the escape
character. The command /eE instructs the printer to reset to the machines
default settings. Landscape paper orientation is set with the /e&l1O command.
A single digit change to the same paper orientation command can initiate a
portrait setting, /e&l0O.

Creating a Printer prt File

Each Printer Style and Printer Driver has an SRW Driver associated with
it. The SRW driver controls

a) What is SRW driver?

(1) Oracle Application reports are all generated by Oracle Reports. SRW stands for SQL*ReportWriter. SRW drivers are driver files, which are used to define output files of SRW reports into a certain format during the generation of reports. Therefore SRW drivers are only pertain to Oracle Report output files.

(2) A SRW driver controls page break, carriage return, line feed, text bold on/off, and text underline on/off instructions within the output files of Oracle Application reports. SRW drivers are designed for the DEC LN03 printer, and all printers that understand the same control characters as the LN03 printer.

(3) SRW driver files have file extension “.prt”, such as L.prt for landscape style, P.prt for Portrait Style, etc.

b) When to use SRW driver?

While submitting a report with or without a printing request involved (copies > or = 0), an output file is generated by Oracle Reports. Oracle Reports generate a requested report into an output file using the SRW driver definition for text/non-postscript reports. Therefore, a SRW driver should be always used while defining a printer for Oracle Application Reports.

c) How to define SRW driver while registering a printer for Oracle Application?

to register a printer, you need to log on to Oracle Application as a System Administrator Responsibility. SRW driver needs to be defined for both Printer Style and Printer Driver. Therefore there are two places require SRW driver being defined:

(1) In Printer Style form with navigation path:
Install -> Printer -> Styles

(2) In Printer Driver form with navigation path:
Install -> Printer -> Drivers

In the SRW field, you can define SRW drivers by
typing the SRW file name without file extension
to define the SRW driver.

d) Difference of SRW drivers for Printer Style and Printer Driver?

SRW drivers for Printer Style and Printer Driver are used at different situations depending on if a printing request to be involved. When the report is not being printed (Number of Copies = 0 and the target printer field is blank), OracleReports uses the SRW driver named by the
Printer Style in the Printer Styles form. On the other hand, when the report is to be printed (Number of Copies > 0), Oracle Reports uses the SRW driver named by Printer driver in the Printer Drivers form.

e) Where SRW driver files reside

SRW driver files reside in $FND_TOP/reports/, and they have the file extension “.prt”.

L.prt HPL.prt
P.prt HPP.prt
A.prt HPA.prt
W.prt HPW.prt
PD.prt HPPD.prt

Usually SRW drivers that file names contain “HP” are more proper for HP printers, and the ones without “HP” are for digital printers. In the driver files different letters stand for different printing style, such as “L” for landscape, “P” for Portrait, “W” for landwide. “PD” for portrait dynamic printing.

f) Common issues related with SRW drivers

(1) Lines in a reports wrapped to the next page improperly for landscape style printing.
The default for Landscape Style is rows = 66 and columns = 132 in the driver
files, which sometimes cause lines wrapped to next page improperly.
By setting rows = 57,columns = 132 in the Printer Style form

The values of rows and columns setting in the Printer Style form overwrites the width
and height values in SRW driver files. But it is a good practice to make sure the
rows and columns setting in the Printer Style form match the width and height values in
SRW driver files.

(2) Using L.prt or P.prt for HP printer cause junk characters printed on the reports.
As mentioned previously, SRW drives that the names contain “HP” are more proper for HP printers. Therefore, one should use SRW drivers that the names contain “HP” as the SRW driver files to avoid junk characters being printed on reports. Also, refer to the Header description located at the top of each .prt SRW driver file.

Quick And Dirty Backup and Recovery Test Procedure

Step 1.      Shutdown the TEST instance:

./oratest/scripts/stopTEST.sh

Step 2.      Backup the directory /oratest/oracle and all it subdirectories.

Step 3.      Rename the directory /oratest/oracle to /oratest/oracle_backup

Step 4.      Restore from backup /oratest/oracle

Step 5.      Verify Recovery by Comparing file sizes between oracle and oracle_backup

Step 6.      Start the TEST instance:

./oratest/scripts/startTEST.sh

Step 7.      Log on to TEST instance and TEST functionality.

Step 8.      Remove directory /oratest/oracle_backup