Thursday, October 28, 2021

Oracle cloud Infrastructure (OCI) - Part 2 : OCI -VM Standby database creation

 

Intro

acronym - 
DG -  dataguard
OCI - Oracle Cloud Infrastructure  

Most important part of the IT Infrastructure is to have a proper disaster recovery plan . Organization are spending colossal sum of money to have proper DR infrastructure. Best practice is to create your DR site on different city or different geographical location.  OCI provides greater flexibility to create DR within the same region or different region. Even small/medium scale companies can afford this DR sites. These OCI cloud features enable greater enhancement to infrastructure.

Furthermore , OCI provides Oracle Data Guard features address DR (disaster recovery) situations. DG to enables & ensures high availability, data protection, and disaster recovery for your enterprise database.

Oracle Data Guard provides an extensive set of services that create, maintain, manage, and monitor one or more standby databases to enable production Oracle databases to survive disasters (such as natural disasters) and data corruption.


 

Active Data Guard vs Normal Data Guard

Oracle Data Guard maintains these standby databases as a cloned version of the production database and regularly applies changes from Primary Database to Standby Database. Then, If the production database becomes unavailable because of a planned or an unplanned outage, Oracle Data Guard can switch any standby database to the primary role, minimizing the downtime associated with the outage.

Active Data Guard:  Active Data Guard enables read-only access to a physical standby database for queries, sorting, reporting, Web-based access, and so on, while continuously applying changes received from the primary database. In active data guard standby database work as  be read only with apply state.





Note: For Active Data Guard, when you create the database, you need to select the Extreme Performance.

There are 4 different types of editions in Oracle Cloud
  1. Enterprise Edition
  2. Standard Edition
  3. High-Performance
  4. Extreme Performance.

Normal  Data Guard:  Normal Data Guard enables you to switch to the Standby Database when your primary database is down due to some outage or natural disasters. In normal Data guard, you can still open the standby database in read-mode but changes not applied while in read-only mode. 




Types of DG : Physical | Logical | Snapshot
  • Physical: Redo logs are Shipped & Applied on Standby Database
  • Logical: Mainly used for Rolling Upgrades & Redo logs are shipped & transformed to SQL & then they are applied.
  • Snapshot: A snapshot Standby Database receives and archives, but does not apply redo logs data from a primary database.

Creating DG in cloud environment now simplify to less than 4 clicks.  This article I will cover the how to create standby database within the same region.

First Navigate to the database and view the database this shows the enable data guard.





As per this figure we need to feed to Display Name , Region and Availability domain ..etc






Next select the required shape for the database server and provide hostname for the standby server.

Important to select the correct network vcn. We are creating this in public segment to access this via internet.




Next select the database mode and transport mode. For this testing I'm selecting Maximum performance and transport mode as Async.




Error

This errors comes when the port 1512 is not enable for destination.



Data Guard Association cannot be created when standard database service port (1521) is 
blocked for instances in 
Subnet: ocid1.subnet.oc1.ca-toronto-1.aaaaaaaavkfa3xtnoyn4ce5l4g2ttgzf54lhkofaavnaoxiv3irog7ghkika 
by security rules associated with 
Subnet: ocid1.subnet.oc1.ca-toronto-1.aaaaaaaaceab2pepfsk54ektbyuvfl2rulk4d4luzbfu2iduyr7cmd2gwibq

Solution

To overcome this we need to create two rules for one for Ingress and one for Egress. Port 1512 should be available to communicate with standby server in region level.

 



Follow the same steps above to create the standby database.




Once the provisioning is complete check the status from work request.



Verification

We can validate data guard status using dgmgrl utility . Also it's better to check the database role by login to database.




Database Role :


INSTANCE_NAME    STATUS       HOST_NAME                                                        STARTUP_TIME
---------------- ------------ ---------------------------------------------------------------- ----------------
PWSH011          MOUNTED      dbsdpl251                                                        26/10/2021 20:55
PWSH012          MOUNTED      dbsdpl252                                                        26/10/2021 20:55

SQL> select open_mode,database_role from gv$database;

OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
MOUNTED              PHYSICAL STANDBY
MOUNTED              PHYSICAL STANDBY

SQL>

DGMRRL Utility :


#### DG status

DGMGRL> show configuration;

Configuration - PWSH01_yyz16x_PWSH01_yyz1k6

  Protection Mode: MaxPerformance
  Members:
  PWSH01_yyz16x - Primary database
    PWSH01_yyz1k6 - Physical standby database

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 22 seconds ago)

DGMGRL> show database verbose 'PWSH01_yyz1k6';

Database - PWSH01_yyz1k6

  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 0 seconds ago)
  Apply Lag:          0 seconds (computed 0 seconds ago)
  Average Apply Rate: 4.00 KByte/s
  Active Apply Rate:  198.00 KByte/s
  Maximum Apply Rate: 198.00 KByte/s
  Real Time Query:    ON
  Instance(s):
    PWSH011
    PWSH012 (apply instance)


Thursday, October 21, 2021

Oracle Cloud Infrastructure (OCI) - Part 1 : RAC using OCI VM Servers

 




Intro

Most of the companies do not want to maintain data centers because it’s too costly for the organization. Cloud platforms like Oracle , Azure ,AWS and Google Cloud enables companies to host their server farms on cloud. This is major game changer of the current era, Cloud hosting enables many features to optimize the cost and new features like scaling the resource as per the organization needs.

I strongly believe use of pay as you go concept enable companies to save money and help them to focus on their core business. Also many features are introduced on cloud environments optimize security of the environment.

This is simple explanation of what is oracle cloud and the service offering of the database.

What is oracle cloud ?

Oracle Cloud is a cloud computing service offered by Oracle Corporation providing servers, storage, network, applications and services through a global network of Oracle Corporation managed data centers.

This article we are going to cover database RAC database creation on OCI.


1. Setup network

Initial step is to create a network , because we need public network to access server.

Login to OCI console and navigate to Networking → Virtual Cloud Network.

As we are creating this database for testing purpose you can use VCN Wizard and create two network
  1. Public (Access database via internet)
  2. Private (Internal network)





This figure illustrates the VCN network creation.





2. Create VM (RAC environment)


Oracle Database → Bare Metal , VM and Exadata.







Once you login to database page click the “Create DB system”




To create a database we need to feed information like compartment name , region , shape and configure db system . As we are going to create a RAC instance we need to give node count as two(2).




As we are setting up RAC give node count as 2. Then installation will be complete on two node RAC.



Now select the vm shape that required for your database load.





2.1 Setup SSH keys


Use below link to generate ssh-keys. ssh keys are required to login database servers.





For this database installation we are going to use “Oracle Grid Infrastructure “ , so data files will be resides in ASM storage.




Once you feed all the required information click the create button. This process will take close to 45min - 1 hour . As we are creating this using “Oracle Grid Infrastructure “ installation will take some time .

  1. Install grid
  2. Create ASM storage.
  3. Install database software and create database.




Once  the database creation is complete check the status of the server.





3. Login to environment


you can use Cmder | Console Emulator console to to login OCI , using this we can execute linux commands.

To login OCI navigate to where your private key is located and 
run  : ssh -i ./myOracleCloudKey.ppk opc@<ip_address>



D:\Cloud-Lab\chana885391
λ ssh -i ./myOracleCloudKey.ppk opc@140.238.152.37
Enter passphrase for key './myOracleCloudKey.ppk':
Last login: Fri Oct 15 20:47:43 2021 from 173.34.200.48
[opc@dbsdpl21 ~]$ sudo su - oracle
Last login: Fri Oct 15 21:42:12 UTC 2021
[oracle@dbsdpl21 ~]$ ps -ef | grep pmon
oracle    4261  3978  0 19:37 pts/0    00:00:00 grep --color=auto pmon
[oracle@dbsdpl21 ~]$

[oracle@dbsdpl21 ~]$ ps -ef | grep pmon
grid      7184     1  0 19:38 ?        00:00:00 asm_pmon_+ASM1
grid      8080     1  0 19:39 ?        00:00:00 apx_pmon_+APX1
oracle    8535     1  0 19:39 ?        00:00:00 ora_pmon_PWSH011
oracle    9568  3978  0 19:39 pts/0    00:00:00 grep --color=auto pmon

SQL> show parameter db_uni

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      PWSH01_yyz16x

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PWHSE_PDB                      READ WRITE NO

INSTANCE_NAME    STATUS       HOST_NAME                                                        STARTUP_TIME
---------------- ------------ ---------------------------------------------------------------- ----------------
PWSH011          OPEN         dbsdpl21                                                         19/10/2021 19:39
PWSH012          OPEN         dbsdpl22                                                         19/10/2021 19:39

Tuesday, October 19, 2021

OEM 13c BI (Business Intelligence) reporting

 








13c cloud control has enable reporting feature to represent data in graphical manner. We can use oem repo database to extract required information to perform proactive dba administration. Representing data using graphs , pie charts etc.. help dba's to get the complete picture of the environment in short period of time. These health check reports helps to address issues in proactive manner.

Managing 100+ databases needs these kind of BI reporting.   As dbas we need to make sure to address issues proactively.

This article will cover BI report creation. To create these reports oem BI component should be up and running.

Use below mention command to verify the component status.



[oracle@em13clnx bin]$ ./emctl status oms
Oracle Enterprise Manager Cloud Control 13c Release 3
Copyright (c) 1996, 2018 Oracle Corporation.  All rights reserved.
WebTier is Up
Oracle Management Server is Up
JVMD Engine is Up
BI Publisher Server is Up


As the component is up and running , we can login to BI reporting console.





Creating reports consists with four steps.


  1. Create data model
  2. Create report using data model
  3. Schedule report
  4. Publish the report using email


Data Model


Initial step is to create a data model , Login to BI console and select the data model .

Best option is to start with sql query because we can extract required data from oem repo database views and tables.



This figure illustrates selecting the sql query as data model set.




Use this as a sample query to get ASM space usage and  create a sample data model.
Make sure to change the target information as per your environment.




select TARGET_NAME,TABLESPACE_NAME,TABLESPACE_SIZE,TABLESPACE_USED_SIZE,COLLECTION_TIMESTAMP
from MGMT$DB_TABLESPACES 
where TARGET_NAME ='pimstst'



Even you can create few more data models to get db growth and tablespace usage etc..



For newly created report and data models , best practice is to create separate folder and save the reports and data models.




Once the data model creation is complete select report icon and associate the correct data model.

Also make sure to save the sample data , because we are going to use this sample data to create the report.

This figure illustrates saving the sample data .


Same window top right there is icon to create the report. select the create report icon will move to report creation console.


Report creation 


This figures shows to report creation , There are two options
  1. Guided method to create report
  2. Use report editor ( I preferred this method , because this gives you full control over the report)



First create a lay out . In this figure we created 1 column with 10 rows .

Next steps is to select the appropriate table , as we need to generate graph use pivot table.

Field can be dragged and drop to the pivot table.


Copy the created pivot tables and copy to next row. One table we use to give data information . Other one we can convert to chat.


Pivot tab there is option to covert table to graph , This figure shows converting table to graph.




Save the repot and go backup to main windows and view the report

Congratulation !!!! You are first report is complete.



Publish report

Setup Email

 

It’s not that hard to setting up email delivery , Navigate to administration tab and select email and provide required email username , password and port number.




Schedule report

Next step is to schedule a report , to schedule report click more icon on the created report . This will open a other window feed information such as email address and mail subject etc .. 


This figure illustrates the scheduling report using email address.


Schedule the frequency of the report generation as per your requirement. This can be once a month , weekly or daily.


Job status can be verified after the report generation.



Tuesday, October 12, 2021

Oracle Wallet Manager - External Password Store

 

Configuring catalog user to Use the External Password Store




This era of security is a major concern , organization use various password management to meet the safety compliance requirements. Protecting database schema and password is very important for any organization. In this article I'm going to focus on securing the RMAN catalog user password and login.

  Oracle wallet is a really user-friendly option which enables autologin feature without supplying a password. It is no longer a part of Oracle Advanced Security. This feature is available in all licensed editions of all supported releases of the Oracle database.

Below link provide more information for oracle wallet manager as external password store.

https://docs.oracle.com/middleware/1213/wls/JDBCA/oraclewallet.htm#JDBCA596


This explanation will be useful for who are new to oracle wallet . 

What is Oracle wallet used for?

Oracle Wallet provides a simple and easy method to manage database credentials across multiple domains. It allows you to update database credentials by updating the Wallet instead of having to change individual data source definitions. This is accomplished by using a database connection string in the data source definition that is resolved by an entry in the wallet.

This feature allows to take a step further by also using the Oracle TNS (Transparent Network Substrate) administrative file to hide the details of the database connection string (host name, port number, and service name) from the data source definition and instead use an alias. If the connection information changes, it is simply a matter of changing the tnsnames.ora file instead of potentially change many data source definitions.

The wallet can be used to have common credentials between different domains. That includes two different WLS domains or sharing credentials between WLS and the database. When used correctly, it makes having passwords in the data source configuration unnecessary.


Step to create wallet and add user credential to wallet.

Create wallet


mkstore -wrl /u01/app/oracle/admin/wallet -create

Wallet password : 0racle123#

[oracle@crs01 wallet]$ mkstore -wrl /u01/app/oracle/admin/wallet -create
Oracle Secret Store Tool Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter password:
PKI-01002: Invalid password. Passwords must have a minimum length of eight characters and contain alphabetic characters combined with numbers or special characters.
Enter password:
Enter password again:
[oracle@crs01 wallet]$ ls -lrth
total 8.0K
-rw-------. 1 oracle oinstall   0 Sep 29 14:32 ewallet.p12.lck
-rw-------. 1 oracle oinstall 149 Sep 29 14:32 ewallet.p12
-rw-------. 1 oracle oinstall   0 Sep 29 14:32 cwallet.sso.lck
-rw-------. 1 oracle oinstall 194 Sep 29 14:32 cwallet.sso

Setup sqlnet.ora to use wallet files

We identify the wallet files need to set the sqlnet.ora file with WALLET_LOCATION and SQLNET.WALLET_OVERRIDE = TRUE parameters.


[oracle@crs01 admin]$ cat sqlnet.ora
WALLET_LOCATION =
   (SOURCE =
        (METHOD = FILE)
        (METHOD_DATA = (DIRECTORY=/u01/app/oracle/admin/wallet/))
    )
SQLNET.WALLET_OVERRIDE = TRUE
[oracle@crs01 admin]$

Add user to wallet and verify


[oracle@crs01 admin]$ mkstore -wrl /u01/app/oracle/admin/wallet -createCredential RMAN_CAT_PDB  RMAN_TWHSE rman_twhse
Oracle Secret Store Tool Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
[oracle@crs01 admin]$  mkstore -wrl /u01/app/oracle/admin/wallet -listCredential
Oracle Secret Store Tool Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
Copyright (c) 2004, 2019, Oracle and/or its affiliates. All rights reserved.

Enter wallet password:
List credential (index: connect_string username)
2: RMAN_CAT_PDB RMAN_TWHSE
1: TWHSE_PDB CHANAKA
[oracle@crs01 admin]$

Login to catalog database



[oracle@crs01 admin]$ sqlplus /@rman_cat_pdb

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Oct 12 16:00:11 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Last Successful login time: Tue Oct 12 2021 15:55:17 -04:00

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> show user
USER is "RMAN_TWHSE"
SQL>

Login rman catalog without specifying the password


[oracle@crs01 admin]$ rman target / catalog /@rman_cat_pdb

Recovery Manager: Release 19.0.0.0.0 - Production on Tue Oct 12 16:02:14 2021
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

connected to target database: TWHSE01 (DBID=3636451434)
connected to recovery catalog database

RMAN> create catalog tablespace RMAN_TWHSE_TBS;

recovery catalog created

RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

RMAN>

Modify catalog user password


mkstore -wrl /u01/app/oracle/scripts/tns -modifyCredential RMAN_CAT_PDB  RMAN_TWHSE rman_twhse_123

Friday, October 8, 2021

OEM 13.5 Installation - Part 1

 





This article illustrates the oem 13.5 installation. In this installation both database and oem repo going to be under same server.

Also I have mentioned the main oracle document link to get more understanding of the installation requirements and 13.5 new features.

Oracle Enterprise Manager Cloud Control 13.5 - Installation and Upgrade


13.5 new features.

Cloud Control Introduction


I know most of the experienced dba are fully conversant with 13c cloud control  , But for the freshers who are searching to get the flavor of oem undernoted guide lines will be useful.

What is OEM used for Oracle?

Oracle Enterprise Manager is a system management tool which provides an integrated solution for managing your heterogeneous environment. It combines a graphical console, agents, common services, and tools to provide an integrated, comprehensive systems management platform for managing Oracle products.


From the Oracle Enterprise Manager's Console, you can:
  • Administer, diagnose, and tune multiple databases.
  • Distribute software to multiple servers and clients.
  • Schedule jobs on multiple nodes at varying time intervals.
  • Monitor objects and events throughout the network.
  • Customize your display using multiple graphic maps and groups of network objects, such as nodes and databases.
  • Administer Oracle Parallel Servers. For information about administering Oracle Parallel Servers, see the Oracle Parallel Server Support for the Oracle Enterprise Manager Console Guide.
  • Integrate participating Oracle or third-party tools.

1 Pre-requisites.

1.1 Hardware requirements.


Database:


OMS Repository:



1.2 rpm requirements


Required rpm for oracle linux 7.
There rpm can be installed from oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm


  yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
  

1.3 Download the 13.5binary


you can down the installation files from edelivery or mention oracle url.

Oracle Software Delivery Cloud

Oracle Enterprise Manager Downloads

This oem 13.5 binaries consists of 5 files. To perform the installation we need to execute em13500_linux64.bin executable.





2. Installation

2.1 Database Installation for Repo


We need to create new database for repository . Please find the below mention commands to create
database for oem repository.



export ORACLE_HOME=/u01/local/oracle/Oracle_19c
export PATH=$PATH:/usr/local/oracle/Oracle_19c/bin


dbca -silent -createDatabase                                                    \
     -templateName General_Purpose.dbc                                          \
     -gdbname emcdb -sid emcdb -responseFile NO_VALUE                           \
     -characterSet AL32UTF8                                                     \
     -sysPassword SysPassword1                                                  \
     -systemPassword SysPassword1                                               \
     -createAsContainerDatabase true                                            \
     -numberOfPDBs 1                                                            \
     -pdbName emrep                                                             \
     -pdbAdminPassword PdbPassword1                                             \
     -databaseType MULTIPURPOSE                                                 \
     -memoryMgmtType auto_sga                                                   \
     -totalMemory 2000                                                          \
     -storageType FS                                                            \
     -datafileDestination /oradata                                              \
     -redoLogFileSize 50                                                        \
     -emConfiguration NONE                                                      \
     -ignorePreReqs


expected output logs:

[oracle@oem13c ~]$ dbca -silent -createDatabase                                                    \
>      -templateName General_Purpose.dbc                                          \
>      -gdbname emcdb -sid emcdb -responseFile NO_VALUE                           \
>      -characterSet AL32UTF8                                                     \
>      -sysPassword SysPassword1                                                  \
>      -systemPassword SysPassword1                                               \
>      -createAsContainerDatabase true                                            \
>      -numberOfPDBs 1                                                            \
>      -pdbName emrep                                                             \
>      -pdbAdminPassword PdbPassword1                                             \
>      -databaseType MULTIPURPOSE                                                 \
>      -memoryMgmtType auto_sga                                                   \
>      -totalMemory 2000                                                          \
>      -storageType FS                                                            \
>      -datafileDestination /oradata                                              \
>      -redoLogFileSize 50                                                        \
>      -emConfiguration NONE                                                      \
>      -ignorePreReqs
Prepare for db operation
8% complete
Copying database files
31% complete
Creating and starting Oracle instance

32% complete
36% complete
40% complete
43% complete
46% complete
Completing Database Creation
51% complete
53% complete
54% complete
Creating Pluggable Databases
58% complete
77% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
 /u01/app/oracle/cfgtoollogs/dbca/emcdb.
Database Information:
Global Database Name:emcdb
System Identifier(SID):emcdb
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/emcdb/emcdb.log" for further details.

After completing the installation set the bash profile as mention below.

########### Bash profile

[oracle@oem13c ~]$ cat /home/oracle/scripts/setEnv.sh
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=crs01.localdomain
export ORACLE_UNQNAME=emcdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=emcdb
export PDB_NAME=EMREP
export DATA_DIR=/oradata

export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[oracle@oem13c ~]$


Configure listener for repository database. Use netca or netmgr graphical tools to configure the listener.

###### set database local listener parameter
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.200)(PORT = 1525))';

###### Configure Listener

[oracle@oem13c admin]$ lsnrctl status

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 01-OCT-2021 13:37:35

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=crs01.localdomain)(PORT=1525)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                01-OCT-2021 13:35:27
Uptime                    0 days 0 hr. 2 min. 8 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.0.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/oem13c/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1525)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1525)))
Services Summary...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
  Instance "emcdb", status READY, has 1 handler(s) for this service...
Service "cd4eb736d6c94084e055000000000001" has 1 instance(s).
  Instance "emcdb", status READY, has 1 handler(s) for this service...
Service "emcdb" has 1 instance(s).
  Instance "emcdb", status READY, has 1 handler(s) for this service...
Service "emcdbXDB" has 1 instance(s).
  Instance "emcdb", status READY, has 1 handler(s) for this service...
Service "emrep" has 1 instance(s).
  Instance "emcdb", status READY, has 1 handler(s) for this service...
The command completed successfully


Set the below mention database parameters as mention below , We need to set hidden parameters _allow_insert_with_update_check this is required for oem installation.

################# DB parameters.

sqlplus / as sysdba <

2.2 Repo Installation 

 We need to create below mention mount points location to install oem repo.

########## OEM report directory
mkdir -p /u02/app/oracle/middleware
mkdir -p /u02/app/oracle/agent
Execute the em13500_linux64.bin executable to start the installation in graphical mode.


Let’s perform this using advanced installation.



This figure shows pre-requisites check.


Select required plugging for oem installation.



Set passwords for weblogic domain and node manager.


Set repository database settings for oem 13c installation.





This figures shows the database parameter , even there is option to fixed some of the parameters via gui.

To setup sga sizes you need to set and bounce the database.





Tablespace settings for oem repository


Configure oracle library location


Make sure to keep this because this figure has the port configuration details



Installation summary


Installation progress

Execute root.sh to complete the installation


Congratulations!!! Now installation is complete


Access oem via url:

Login via sysman user.



Exacs database creation using dbaascli

  Intro OCI (Oracle Cloud Infrastructure) provides robust automation capabilities for routine maintenance tasks such as patching, ...