In this post, i am going to cover on how i did an upgrade of EBS R12 Database 12c to 19c(19.11) on AWS IaaS. The application EBS 12.1.3 was running on AWS EC2 and Database 12.1.0.2 was also running on AWS EC2. As per Database releases and Support timelines support for 12c database is soon going to end, whereas 19c has long term support.
Now coming to the actual work being done, the existing database size was having a size of 1.6TB. We had used DBUA to upgrade the database. As you might be aware with 19c DB comes the multitenant architecture and with EBS it comes with one container and one pluggable. In my previous posts, i have explained in step by step approach on how we can upgrade the EBS 12.1.0.2 DB to 19c running on compute in OCI. You can refer the following https://samappsdba.blogspot.com/2020/12/upgrade-EBS-12.2-database-12c12.1.0.2-to-19c19.3-Part-1.html
1. uname -a
cat /etc/redhat-release cat /etc/os-releaseTo determine if the required kernel errata is installed, enter the following command
uname -r it should be x64 /tmp----min 1 GBswap space allocation relative to RAM (Oracle Database)
Between 1 GB and 2 GB: 1.5 times the size of the RAM Between 2 GB and 16 GB: Equal to the size of the RAM More than 16 GB: 16 GB Note: If you enable HugePages for your Linux servers, then you should deduct the memory allocated to HugePages from the available RAM before calculating swap space.Use this procedure to gather information about your server configuration.
1. Use the following command to determine physical RAM size on the server: # grep MemTotal /proc/meminfo 2. Determine the size of the configured swap space: # grep SwapTotal /proc/meminfo free -g total used free shared buff/cache available If necessary, see your operating system documentation for information about how to configure additional swap space.Determine the amount of space available in the /tmp directory:
# df -h /tmp If the free space available in the /tmp directory is less than what is required, then complete one of the following steps: • Delete unused files from the /tmp directory to meet the disk space requirement.Checking Server Hardware and Memory Configuration
Determine the amount of free RAM and disk swap space on the system: # freeDetermine if the system architecture can run the software:
# uname -mVerify that the processor architecture matches the Oracle software release to install. For example, you should see the following for a x86-64 bit system:
x86_64 If you do not see the expected output, then you cannot install the software on this system.6. Verify that shared memory (/dev/shm) is mounted properly with sufficient size:
df -h /dev/shm The df-h command displays the filesystem on which /dev/shm is mounted, and also displays in GB the total size and free size of shared memory.start a terminal session and enter the following command as root, depending on your platform. For example:
• Oracle Linux 7 # yum install oracle-database-preinstall-19c Note: Use the -y option if you want yum to skip the package confirmation prompt.check if all the rpms are installed or not
Oracle E-Business Suite Installation and Upgrade Notes Release 12 (12.2) for Linux x86-64 (Doc ID 1330701.1) rpm -qa --qf "%{n}-%{v}-%{r}.%{arch}\n" | grep libgcc curl -o oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-2.el8.x86_64.rpm curl -o compat-libstdc++-33-3.2.3-72.el7.i686.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libstdc++-33-3.2.3-72.el7.i686.rpm curl -o compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm rpm -ivh compat-libstdc++-33-3.2.3-72.el7.i686.rpm rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm yum install oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm If not using the pre-install rpm, the following packages must be installed from the Oracle Linux 7 or RHEL 7 distribution media on both the application and database tiers: • binutils-2.23.52.0.1-16.el7.x86_642 • compat-libcap1-1.10-7.el7.x86_64 • compat-libstdc++-33-3.2.3-71.el7.i686 • compat-libstdc++-33-3.2.3-71.el7.x86_64 not present • gcc-4.8.2-16.el7.x86_64 • gcc-c++-4.8.2-16.el7.x86_64 • gdbm-1.10-8.el7.i686 • gdbm-1.10-8.el7.x86_64 • glibc-2.17-55.el7.i686 • glibc-2.17-55.el7.x86_64 • glibc-common-2.17-55.el7.x86_64 • glibc-devel-2.17-55.el7.i686 • glibc-devel-2.17-55.el7.x86_64 • libaio-0.3.109-12.el7.i686 • libaio-0.3.109-12.el7.x86_64 • libaio-devel-0.3.109-12.el7.x86_64 • libgcc-4.8.2-16.el7.i686 • libgcc-4.8.2-16.el7.x86_64 • libgomp-4.8.2-16.el7.x86_64 • libstdc++-devel-4.8.2-16.el7.i686 • libstdc++-devel-4.8.2-16.el7.x86_64 • libstdc++-4.8.2-16.el7.i686 • libstdc++-4.8.2-16.el7.x86_64 • libXi-1.7.2-2.1.el7.i686 • libXp-1.0.2-2.1.el7.i686 • libXp-1.0.2-2.1.el7.x86_64 • libXtst-1.2.2-2.1.el7.i686 • make-3.82-21.el7.x86_64 • perl-File-CheckTree-4.42-3.el7.noarch • redhat-lsb-4.1-24.0.1.el7.x86_64 • sysstat-10.1.5-4.el7.x86_64 • util-linux-2.23.2-16.el7.x86_64 Additionally, the following RPMs are required for the database tier: • elfutils-libelf-devel-0.158-3.el7.x86_64 • libaio-devel-0.3.109-12.el7.i686 • xorg-x11-utils-7.5-13.1.el7.x86_64Disabling Transparent Huge Pages
To disable Transparent HugePages: 1. For Oracle Linux 7 and Red Hat Enterprise Linux 7, add or modify the transparent_hugepage=never parameter in the /etc/default/grub transparent_hugepage=never Run the grub2–mkconfig command to regenerate the grub.cfg file. # grub2-mkconfig -o /boot/grub2/grub.cfg Restart the system to make the changes permanent. more /etc/oraInst.loc more /etc/oraInst.loc inventory_loc=/u02/oracle/oraInventory inst_group=oinstall Checking Resource Limits for Oracle Software Installation UsersLog in as an installation owner.:-
Check the soft and hard limits for the file descriptor setting. Ensure that the result is in the recommended range. For example: $ ulimit -Sn 1024 $ ulimit -Hn 65536 Check the soft and hard limits for the number of processes available to a user. Ensure that the result is in the recommended range. For example: $ ulimit -Su 2047 $ ulimit -Hu 16384 Check the soft limit for the stack setting. Ensure that the result is in the recommended range. For example: $ ulimit -Ss 10240 $ ulimit -Hs 32768 ulimit -Su 254341 ]ulimit -Hu 254341 ulimit -Ss—below the recommended value 8192 ulimit -Hs unlimited ]# 5. Repeat this procedure for each Oracle software installation owner. If necessary, update the resource limits in the /etc/security/limits.conf /database-installation-guide-linux.pdf--for 19c for all the checksCheck the NLS Settings select * from database_properties where PROPERTY_NAME in ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET'); PROPERTY_NAME -------------------------------------------------------------------------------- PROPERTY_VALUE -------------------------------------------------------------------------------- DESCRIPTION -------------------------------------------------------------------------------- NLS_CHARACTERSET WE8MSWIN1252 Character set NLS_NCHAR_CHARACTERSET AL16UTF16 NCHAR Character set PROPERTY_NAME -------------------------------------------------------------------------------- PROPERTY_VALUE -------------------------------------------------------------------------------- DESCRIPTION select * from nls_database_parameters where parameter='NLS_NCHAR_CHARACTERSET'; SQL> select * from nls_database_parameters where parameter='NLS_NCHAR_CHARACTERSET'; PARAMETER -------------------------------------------------------------------------------- VALUE ---------------------------------------------------------------- NLS_NCHAR_CHARACTERSET AL16UTF16Download the 19C Binaries
Download
the binaries for 19.3 from E-Delivery
Unzip the 19c binaries under the Oracle HOME
|
cat
/etc/oracle-release #
cat /etc/redhat-release #
cat /etc/os-release |
prepare the target DB server
Oracle
E-Business Suite Installation and Upgrade Notes Release 12 (12.2) for Linux
x86-64 (Doc ID 1330701.1) |
Before the DB installation in Source
Run hcheck.sql in source 12c database
Sqlplus
/ as sysdba
Spool
hcheck.txt @hcheck.sql |
Verify Software version
Patches to apply, comments on them, and relevant Oracle E-Business Suite releases.
Patch 8796558
Patch 9239090 - Release 12.1.3
Check the AD/TXK version
Patch 23569686 - R12.AD.B.delta.8
Patch 27135427 - R12.TXK.B.delta.4
Patch 30033914 - 19c interoperability patch for Release 12.1.3
Patch 27102203
Patch 28613638
Patch 28685719
Patch 29178111
Patch 29583055
Patch 29905536
Patch 30370150
Patch 30601878
Patch 31209544
Patch 31406810
Patch 30824278 - Apply only for Windows.
Check SEC_CASE_SENSITIVE_LOGON
select bug_id,bug_number from
ad_bugs where bug_number='12964564'; BUG_ID BUG_NUMBER
show parameter
SEC_CASE_SENSITIVE_LOGON ; NAME TYPE VALUE |
Create the initialization parameter setup files on Source DB
Run the following commands to create the $ORACLE_HOME/dbs/<ORACLE_SID>_initparam.sql and $ORACLE_HOME/dbs/<ORACLE_SID>_datatop.txt files. |
19c Binary installation and the rest of the activities can be followed in my earlier posts where i have covered the step by step approach
FAQ
1. is Oracle EBS certified to be run on AWS
Oracle has not certified it. However, for EBS, you just need the IaaS which is EC2 for application and database. Amazon will be only responsible for infrastructure and based upon Oracle EBS certification matrix, you can install any OS and run EBS on top of it
2. Can i use Amazon RDS for my EBS database needs?
No.
3. For EBS, shared Appl_Top what can i use in AWS
EFS
References:
1. Overview of Running Oracle E-Business Suite on AWS whitepaper-https://d1.awsstatic.com/whitepapers/migrate-oracle-e-business-suite.pdf?did=wp_card&trk=wp_card
2. https://blogs.oracle.com/ebsandoraclecloud/post/is-oracle-e-business-suite-certified-on-amazon-aws-ec2