ePrivacy and GPDR Cookie Consent by Cookie Consent

Friday, February 24, 2017

Unicode And Non-Unicode

Unicode : 

A Unicode character takes more bytes to store the data in the database. As we all know, many global industries want to increase their business worldwide and grow at the same time, they would want to widen their business by providing services to the customers worldwide by supporting different languages like Chinese, Japanese, Korean, and Arabic. Many websites these days are supporting international languages to do their business and to attract more and more customers and that makes life easier for both parties.

Non-Unicode :
Non Unicode is exactly the opposite of Unicode. Using non-Unicode it is easy to store languages like ‘English’ but not other Asian languages that need more bits to store correctly otherwise truncation will occur.
Now, let’s see some of the advantages of not storing the data in the Unicode format:
1. It takes less space to store the data in the database hence we will save a lot of hard disk space. 
2. Moving database files from one server to another takes less time. 


What’s the difference between a Unicode and non-Unicode Tools install?

SOLUTION:
If UNICODE_ENABLED=1 on the PSSTATUS table, then you definitely have a Unicode installation. If UNICODE_ENABLED=0, then you do NOT have a Unicode installation.

Non-Unicode
Unicode
(char, varchar, text)
(nchar, nvarchar, ntext)
Stores data in fixed or variable length
Same as non-Unicode
char: data is padded with blanks to fill the field size. For example, if a char(10) field contains 5 characters the system will pad it with 5 blanks
nchar: same as char
varchar: stores actual value and does not pad with blanks
nvarchar: same as varchar
requires 1 byte of storage
requires 2 bytes of storage
char and varchar: can store up to 8000 characters
nchar and nvarchar: can store up to 4000 characters
Best suited for the US English: "One problem with data types that use 1 byte to encode each character is that the data type can only represent 256 different characters. This forces multiple encoding specifications (or code pages) for different alphabets such as European alphabets, which are relatively small. It is also impossible to handle systems such as the Japanese Kanji or Korean Hangul alphabets that have thousands of characters."1
Best suited for systems that need to support at least one foreign language: "The Unicode specification defines a single encoding scheme for most characters widely used in businesses around the world. All computers consistently translate the bit patterns in Unicode data into characters using the single Unicode specification. This ensures that the same bit pattern is always converted to the same character on all computers. Data can be freely transferred from one database or computer to another without concern that the receiving system will translate the bit patterns into characters incorrectly.


PeopleSoft Compare Reports

PeopleSoft Compare Reports
PeopleSoft Compare Reports provide a means to compare PeopleSoft objects present in one database against a different database or a file. This can be done at a Project level or at database level.
Compare reports come in handy during an upgrade. In this post we will discuss on the different statuses that are shown on a PeopleSoft Compare Reports when one project is compared against another database.
Statuses in PeopleSoft Compare Reports
PeopleSoft shows the following statuses on Compare Reports. Each status has it own meaning and significance during an upgrade. Let’s look at each one of them.
Same
The compared definitions are defined the same in both databases that are compared. Such definitions need not be migrated to the other database.
Absent
This status is shown when the definition is present in one of the databases but not in the other. If the target database does not have the definition, it may have to be migrated.
Unknown
This is the default status for all non-comparison definitions. PeopleSoft doesn’t compare the definitions that show this status. They may have to be compared manually or using a non-PeopleSoft utility.
Changed
This status states that there is a change in the definitions that are being compared, across the databases. This also states that the change was carried out by PeopleSoft (Oprid PPLSOFT)
*Changed
This status states that there is a change in the definitions that are being compared, across the databases. But unlike the previous status, in this case, the change was carried out NOT by PeopleSoft.
Unchanged
Unlike the meaning of this status, there were changes found in this case as well. But the date time stamp on such definitions is prior to the release date time stamp on the compared databases. It also states that the change was carried out by PeopleSoft.
*Unchanged
This status is similar in meaning to the above status except that the changes to the objects in this case was carried out NOT by PeopleSoft.



Upgrade Oracle Applications from 11i to R12

Upgrade Oracle Applications from 11.5.10.2 to R12

Version 11.5.10.2
Oracle Applications Vision Instance
OS: Redhat Linux update 5
Type: Single Node instance
Applications OS User: applmgrupd
Installed directory: /d01/oracle/singlenode
Database 9i OS User : oracleupd
9i Database Home = /d01/oracle/singlenode/testdb/9.2.0
10g Database Home = /d01/oracle/singlenode/testdb/10.2.0
Instance SID: TEST
Host: linux1

Task – To Upgrade Oracle Applications 11.5.10.2 to R12



Upgrade path

• Applications R11.5.6 and below requires to first upgrade to R11.5.10.2/10gR2

• Applications R11.5.7 and up can be directly upgraded to R12

• Database in all releases must have been upgraded to 10gR2 (11.5.9.2 / 11.5.10.2) or should be done during upgrade to R12 (11.5.9.1/11.5.10.1 and below



Here are steps to upgrade Oracle Application 11.5.10.2 to R12, let’s split the activity into 6 steps

1> Please do upgrade the database from 9.2.0.6 to 10.2.0.3,

2> Apply the below patches in your existing 11.5.10.2 environment

Shut down the entire E-Business Suite environment and perform a full backup
4712852 - Minipack 11i.AD.I.4
5753359 - ALPPNR, NO RESPONSE ACTION PROCESSOR CONC PGM ENDS IN ERROR
5467526 - OATM MIGRATION UTILITY: ORA-22853 IN ERROR LOG
5120936 - TUMS for R12: TO DELIVER TUMS UTILITY FOR UPGRADES FROM 11I TO R12
5726010 - AD Preparation Scripts for R12

4712852 - Minipack 11i.AD.I.4
5753359 - ALPPNR, NO RESPONSE ACTION PROCESSOR CONC PGM ENDS IN ERROR
*5467526 - OATM MIGRATION UTILITY: ORA-22853 IN ERROR LOG
5120936 - TUMS for R12: TO DELIVER TUMS UTILITY FOR UPGRADES FROM 11I TO R12

sqlplus apps/apps @adtums.sql /usr/tmp

-- Review TUMS report in /usr/tmp

5726010 - AD Preparation Scripts for R12

Enable the maintenance mode

-- Apply patch 5726010
unzip p5726010_11i_GENERIC.zip

cd 5726010/

sqlplus apps/apps @adgncons.sql apps apps
# modify the adcrtbsp.sql to specify the path for new tablespaces

sqlplus system/manager @adcrtbsp.sql

su - oracleupd

mkdir -p $ORACLE_HOME/appsutil/admin
cd $ORACLE_HOME/appsutil/admin
cp /software/upgrades/11.5.10.2toR12/r12/5726010/adgrants.sql .

sqlplus '/ as sysdba' @adgrants.sql applsys

3> Run rapidwiz to create R12 code tree

The installation will install R12 applications components and the database home
Select upgrade to Oracle Applications R12
Select upgrade actions screen
select create upgrade file system

enter the parameters required to set up your new environment run rapid install Here are the screen shot



The Installation creates APPL_TOP, COMMON_TOP, INST_TOP and 10g Oracle Home
Move the new environment file into .bash_profile

su - applmgrupd
cd /d01/oracle/apps/apps_st/appl
mv .bash_profile .bash_profile_11.5.10
cat APPSVIS_linux1.env >> /home/applmgrupd/.bash_profile

4> Apply the below patches in R12 environment

4502962 – R12 Minipack

Now onwards, you are connected to R12 application
-- Apply patch AD.A 4502962


-- Apply patch 4440000
Run the NLS upgrade patch driver (conditional)
• Download the NLS Release 12 patch (4440000) for each active language in the system.
• Run each driver (u4440000.drv) with adpatch
• NLS patch driver has the same name as the American English patch driver.

Synchronize NLS and American English product patches (conditional)
• Generate manifest using perl $AD_TOP/bin/adgennls.pl
• Backup manifest file $APPL_TOP/admin/$TWO_TASK/out/adgennls.txt
http://updates.oracle.com/TransSync
• Don’t check Translation Level Updates
• Upload manifest
• Download and apply patch

-- Configuration Phase
Disable maintenance mode
Run autoconfig

Run rapidwiz to configure and start processes
Sign on to R12 applications check concurrent managers

Run autoconfig
su - applmgrupd
perl $AD_TOP/bin/admkappsutil.pl
su - oracleupd
cd $ORACLE_HOME
cp /d01/oracle/inst/apps/TEST_linux1/admin/out/appsutil.zip .
unzip -o appsutil.zip
cd $ORACLE_HOME/appsutil/scripts/TEST_linux1
sh adautocfg.sh


5> Configuration Phase – R12

Run rapidwiz to configure and start processes
-----------------------------------------
rapidwiz - Upgrade to Oracle Applications Release 12 -> Upgrade Action -> Select Configure Upgraded

Release 12 instance
$INST_TOP/admin/VIS_linux1.xml
/d01/oracle/inst/apps/TEST_linux1/appl/admin/TEST_linux1.xml




Sign on to R12 applications check concurrent managers





Connect as sysadmin/sysadmin




6> Apply the online help

cd $AU_TOP/patch/115/driver/

Please enter the name of your AutoPatch driver file : u5051400.drv

Gather schema statistics for CBO

Release 12 employs cost-based optimization, which examines FND table statistics to determine the most efficient access paths and join methods for executing SQL statements. These statistics are gathered by the FND_STATS process, which you initiate by running the
Gather Schema Statistics concurrent program.

From your Release 11i APPL_TOP, complete the following steps:
1. Log in to Oracle Applications with the System Administrator responsibility.
2. Navigate to the Submit Request window (Request > Run).
3. Submit the Gather Statistics program. (Schema)


PeopleSoft Project Migrations

Object Migrations
PeopleSoft Project Migrations- Best practice to migrate PS definitions from one environment to other is to compare and report from source to target, and then copy from source to target. There is no requirement to copy a project to file.

The conventional way is to copy the project definition (not items) to the target, copy the target project to file, and then migrate the project is so that you will have a backup to "backout" changes. The problem with this approach is that another project can come in later with some of the same items. If you copy back in one of those backup projects, it may overwrite the new changes and break the newest change. 

In other words, the overlap of items within projects causes a file based backup strategy to fail. A much safest approach is to use a change management system e.g. Quest STAT.

A project definition is a pointer to other objects. Once you copy the project definition, the project itself will "pick up" the definition that exist in the target (PROD). So, when you copy the project to file from prod, if the objects exist in prod, then you are copying the actual objects, even though your copy to prod was just the project definition without items. If you copied the items too, then you would overwrite the objects that exist in prod.

A copy of a project definition copies the project name, description, attributes, etc and the names of the items in the project. If you open that project in the target, and if the target has items with the same name, then you will notice that the target project actually does have contents. It is that contents that you are copying to file.

Non-comparable objects: Some of these are-
1.             XML Definitions,
2.             Message Catalog entries, - a message catalog cannot be migrated using database copy.
3.             Portal Registery definitions,
4.             Roles and Tress,
5.             Cube definitions 


Compare Options- 
1) Compare language - select the language of definitions that you want to compare and select COMMON- which specifies basic definition characteristics and parameters that are not language sensitive. Clicking 'Select All' is a recommended default and if COMMON is not selected, basic definition characteristics are omitted.
2) Comparison - select highest release that the two database (source and target) have in common. Compare process labels definitions as changed or *changed if these have been changed since the date and timestamp of this release level.
3) Compare Type - Project or Database radio buttons to select from.
4) Target Orientation -this selection determines how the Upgrade checkbox in upgrade definition window are set for definitions that were last modified by customer (customizations) in one database and last modified by Oracle in other database.
4.1) PeopleSoft Vanilla - if this orientation is selected, the upgrade checkbox will be set so as to preserve peoplesoft changes.
4.2) Keep Customization - this option lets Upgrade check box to be set so that your customizations are preserved.

Report Options tab - Select Generate Browser reports checkbox to generate compare reports that you can view through browser in addition to app designer window.
Report Filer tab - use default settings appearing in filter matrix unless you have a specific need.


Compare and Copy Process - after running a compare and report through app designer, if Upgrade checkbox is not checked, this object will not be copied to target. Compare process checks/clear this checkbox however you can manually override this, i.e. you can FORCE migrate objects if needed. However, you cannot check the Done checkbox, you can only clear in need to re-migrate. Action field on upgrade workspace window displays the action to be taken during the Copy process. Only the definitions those have Upgrade selected and Done cleared(by compare process or manually overridden) are copied to target during the upgrade process.


Compare Report Analysis: 
Definition Status - 

1) unknown - default status for all non-comparable definitions.
2) absent - definitions found in one database and absent in other. i.e. during an upgrade, the new PPLSOFT definitions must have Absent in target and all the customizations will be Absent in source ( as source will be a copy of new release and target will be a recent copy of prod) during an upgrade.
3) changed - peoplesoft modified since the comparison release. LASTUPDOPRID=PPLSOFT, LASTUPDDTTM > comparison release DTTM.
4) unchanged - peoplesoft modified prior to comparison release. LASTUPDOPRID=PPLSOFT, LASTUPDDTTM <= comparison release DTTM.
5) *changed - customer modified since comparison release. LASTUPDOPRID=cust, LASTUPDDTTM > comparison release DTTM.
6) *unchanged - customer modified prior to comparison release. LASTUPDOPRID=cust, LASTUPDDTTM <= comparison release DTTM.
7) same - same defined in both source and target. you will see same-same after a successful migration.

Unchanged  * changed  - Keep target i.e. do not copy
Absent *changed - Keep target i.e. do not copy
Changed * changed - Copy and Reapply customization
Important - if the pair shows as Any *unchanged - raise a flag. 



Migrating Roles & Permission Lists - when migrating Permission Lists containing menu/component/page permissions from source database to target, make sure that -
1) the menu/component/page definition(s), already exists in target database  or
2) these all definitions are in same project as permission list

This will ensure a successful migration of the menu/component authorizations to be stored in PSAUTHITEM's row for the permission list being migrated. If above requirements are not satisfied, the permission list will be partially migrated and the required PSAUTHITEM rows will not be present in target database. In app designer, you would see any errors rather permission list will appear to be successfully migrated.

It is recommended to run Portal Security Sync after migrating a project containing a permission list.

 

ALTER in Place & ALTER by Table Rename - these are two important build options which determine the build process. These have system performance implications so need to be chosen carefully. 
Alter by Table Rename - when selected, the build process creates a temporary table as per current definition(changes made to the original table and/or its fields). The data from the original table is now imported into this temporary table. The original table is then dropped and the temporary table is renamed to the original table. The indexes on the old table are dropped before being renamed to the new table name and the indexes are re-created after the table is renamed to the new name.
Alter Table in Place- For this option, the index creation process goes through the Recreated index only if modified option on the Create tab.  Thus it does not always recreate indexes if there where no changes to the key structure. The alter place is only a good option to choose if the table you are creating has large amounts of data and there is no change to the key structure in App Desinger. 

Performance tip-

For an Oracle database, monitor index usage by issuing
- ALTER INDEX MONITORING USAGE;
and drop index which are not being used. ALTER INDEX ... REBUILD is faster than dropping and re-creating an index. The statement reorganize or compact an existing index or changes its storage characteristics. This statement uses the fast full scan feature. It reads all the index blocks using multiblock I/O, then discards the branch blocks. A further advantage of this approach is that the old index is still available for queries while the rebuild is in progress.
 
Migrating SQRs