Sunday, 30 April 2023

Best practices for improving delete performance in Oracle

Here are some ways to improve delete query performance in Oracle:

1.DELETE statement with the WHERE clause: The DELETE statement with a WHERE clause is the most efficient way to delete rows from a table. The WHERE clause can be used to specify the conditions that must be met for a row to be deleted, which can reduce the number of rows that need to be deleted.


2.Batch processing: Instead of deleting all records in one large transaction, consider deleting records in smaller batches using a loop. This can help reduce the amount of undo and redo generated by the delete operation and improve performance.

Use COMMIT_INTERVAL parameter


3.Use the TRUNCATE statement: If you need to delete all records from a table, consider using the TRUNCATE statement instead of the DELETE statement. TRUNCATE is a faster operation because it does not generate undo and redo, and it resets the high-water mark of the table.


4.Disable indexes and constraints: If you have indexes or constraints on the table being deleted, consider disabling them temporarily during the delete operation. This can improve performance because the indexes and constraints do not need to be updated during the delete operation. Just remember to re-enable them once the delete operation is complete.


5.Partitioning: If the table being deleted is partitioned, consider using partitioning to delete only the partitions that need to be deleted. This can help reduce the amount of data that needs to be deleted and improve performance.


6.NOLOGGING option: If you do not need to recover the deleted data, consider using the NOLOGGING option during the delete operation. This can help reduce the amount of undo and redo generated by the delete operation and improve performance.


7.Parallel Processing: If your system has multiple CPUs, consider using parallel processing to delete the data. This can help divide the workload among the CPUs and improve performance.

By following these best practices, We should be able to improve delete performance in Oracle. However, it is important to test the performance of delete operation after implementing any of these optimizations to ensure that it is improving performance as expected.

Friday, 28 April 2023

Shared Server Vs Dedicated Server in Oracle

In this blog post, we will discuss the differences between shared server and dedicated server and help you determine which option is best for your database.

Dedicated Server:

In a dedicated server configuration, each user is allocated a dedicated server process. The server process is dedicated to that user for the duration of their session. This configuration provides a higher degree of control over the database resources and eliminates the need for context switching. Context switching occurs when the operating system switches from one process to another. With a dedicated server configuration, the server process is always available, and there is no need for context switching.

Dedicated servers have several advantages:

  1. Predictable Performance: As each user has their dedicated server process, there is a high degree of predictability in terms of database performance. Dedicated servers provide consistent performance regardless of the number of users or the complexity of the queries.

  2. Resource Allocation: Dedicated servers allow for the allocation of specific resources to each user, such as CPU and memory. This ensures that each user has the resources they need to perform their tasks efficiently.

  3. Simplified Tuning: In a dedicated server configuration, performance tuning is simplified as each user has their dedicated server process. It is easier to isolate and tune specific server processes.

However, dedicated servers also have some disadvantages:

  1. Cost: Dedicated servers require more hardware resources, which can increase the overall cost of the database.

  2. Scalability: As the number of users increases, adding more dedicated servers can become expensive and may not be scalable.

Shared Server:

In a shared server configuration, multiple users share a set of server processes. When a user connects to the database, they are assigned a dispatcher process. The dispatcher process manages the user's connection and directs SQL requests to a shared server process. The shared server process is then responsible for processing the user's SQL request.

Shared servers have several advantages:

  1. Resource Efficiency: Shared servers are more resource-efficient than dedicated servers. The server processes are shared among multiple users, which reduces the overall resource requirements.

  2. Scalability: Shared servers are highly scalable, and additional server processes can be added as the number of users increases.

  3. Cost: Shared servers require fewer hardware resources, which can reduce the overall cost of the database.

However, shared servers also have some disadvantages:

  1. Performance: As server processes are shared among multiple users, there can be a decrease in performance, especially when many users are accessing the database simultaneously.

  2. Complexity: Shared server configurations are more complex than dedicated server configurations. The need for dispatcher and shared server processes can make the configuration more challenging to manage.

Which One to Choose?

When deciding whether to use shared server or dedicated server architecture, there are several factors to consider. If you have a large number of client connections and want to conserve system resources, shared server architecture may be the better choice. If you have a smaller number of clients or need the best performance for individual clients, dedicated server architecture may be the better choice.

Ultimately, the choice between shared server and dedicated server architecture depends on your specific needs and workload. Both options have their own advantages and disadvantages, and it's important to carefully evaluate your requirements before making a decision.


Monday, 24 April 2023

Azure SQL Managed Instance Vs Azure SQL Database Vs SQL Server on Azure Virtual Machines

Choosing the right deployment option for your SQL Server workloads in Azure is a crucial decision that depends on various factors, including your application requirements, control preferences, and the level of management overhead you are willing to handle. In this blog post, we'll explore the key differences and considerations for Azure Database, Azure SQL Managed Instance, and SQL Server on Virtual Machines (VMs).

Azure Database:

Overview:

  • Managed Service: Azure Database is a fully managed relational database service provided by Microsoft Azure.
  • Scalability: It offers automatic and elastic scaling with built-in high availability and security features.
  • PaaS Model: Azure Database follows the Platform as a Service (PaaS) model, abstracting away infrastructure management.
  • Database as a Service: Well-suited for applications with varying workloads and a desire to focus more on the application and less on database management.

Considerations:

  • Simplicity: Azure Database is the simplest option, providing a hassle-free database experience.
  • Cost Efficiency: Pay-as-you-go pricing model can be cost-effective for variable workloads.
  • Automatic Updates: Microsoft handles maintenance tasks, including updates and patches.

Azure SQL Managed Instance:

Overview:

  • Managed Service with Compatibility: Azure SQL Managed Instance is a fully managed SQL Server instance in Azure with near 100% compatibility with on-premises SQL Server.
  • PaaS Model with Compatibility: Combines the benefits of PaaS with the compatibility of SQL Server, making it suitable for lift-and-shift scenarios.
  • VNET Integration: Allows easier migration of applications that rely on SQL Server features not available in Azure SQL Database.

Considerations:

  • Compatibility: Ideal for applications that require compatibility with existing SQL Server features.
  • Control: Offers more control than Azure Database, making it a suitable option for applications with specific requirements.
  • Migration: Simplifies migration from on-premises SQL Server environments.

SQL Server on Virtual Machines (VMs):

Overview:

  • Infrastructure as a Service (IaaS): SQL Server on VMs involves deploying and managing virtual machines in Azure running SQL Server.
  • Full Control: Provides complete control over the SQL Server instance, including the underlying operating system.
  • BYOL (Bring Your Own License): Allows the use of existing SQL Server licenses, providing flexibility for licensing.

Considerations:

  • Flexibility: Offers the highest level of flexibility, allowing you to customize the environment to meet specific needs.
  • Complex Scenarios: Suitable for complex scenarios where specific configurations, features, or applications require full control.

Choosing the Right Option:

  • Simplicity and Managed Service: If simplicity and a fully managed service are priorities, Azure Database is a strong contender.
  • Compatibility and More Control: If compatibility with on-premises SQL Server and additional control are crucial, Azure SQL Managed Instance is worth considering.
  • Full Control and Flexibility: For scenarios demanding full control over infrastructure and SQL Server instances, SQL Server on VM provides the utmost flexibility.

Ultimately, the choice depends on your unique requirements and preferences. Whether you prioritize ease of use, compatibility, or full control, Azure provides a range of options to meet your SQL Server deployment needs.

Why Python?

In the ever-expanding realm of programming languages, Python has emerged as a superstar. Whether you're a novice just stepping into the coding world or a seasoned developer seeking a versatile tool, Python has become a go-to language for many. But what makes Python so special, and why has it garnered such widespread acclaim? Let’s explore the compelling reasons behind Python’s meteoric rise and why it might be the perfect language for you.

1. User-Friendly Syntax

One of Python’s most celebrated features is its clean and readable syntax. Designed with an emphasis on simplicity, Python allows you to write code that’s almost like reading English. This clarity makes it especially appealing to beginners, who can pick up programming concepts without getting bogged down by complex syntax rules. For experienced developers, Python’s straightforward syntax translates to more efficient coding and easier maintenance.

2. Versatility Across Domains

Python’s versatility is another reason for its popularity. It’s not confined to a single domain but spans a variety of applications:

  • Web Development: Frameworks like Django and Flask make building web applications a breeze.
  • Data Science: Libraries such as Pandas, NumPy, and Matplotlib are essential tools for data analysis and visualization.
  • Machine Learning: TensorFlow, PyTorch, and scikit-learn provide powerful capabilities for building and training machine learning models.
  • Automation: Python’s simplicity makes it a favorite for writing scripts to automate repetitive tasks.

No matter what field you’re in, Python likely has the tools and libraries you need.

3. A Thriving Community

Python boasts one of the most vibrant and supportive communities in the programming world. Whether you’re a beginner seeking advice or an expert looking to contribute to open-source projects, the Python community is there to help. With numerous forums, tutorials, and conferences, you’ll find an abundance of resources to support your learning and development.

4. Extensive Libraries and Frameworks

The strength of Python lies in its vast ecosystem of libraries and frameworks. These resources allow developers to tackle complex tasks with ease. For instance, if you’re working on a web application, Django and Flask offer robust frameworks to streamline development. If you’re delving into data science, libraries like Pandas and NumPy simplify data manipulation and analysis. By leveraging these tools, you can accelerate development and focus on solving real-world problems.

5. Cross-Platform Compatibility

Python’s cross-platform nature means that code written on one operating system can run on others without modification. This flexibility is particularly valuable in today’s diverse tech landscape, where applications often need to operate across multiple platforms. Whether you're developing on Windows, macOS, or Linux, Python ensures that your code remains functional and consistent.

6. Rapid Prototyping

Python’s simplicity and readability facilitate rapid development and prototyping. If you have an idea and want to test it quickly, Python allows you to build a working prototype faster than many other languages. This capability is crucial in fast-paced environments where the ability to iterate quickly can make a significant difference.

7. Educational Value

Python is a popular choice for teaching programming due to its straightforward syntax and clear structure. Many educational institutions and online courses use Python as an introductory language because it allows students to focus on learning programming fundamentals rather than getting tangled in complex syntax. This educational emphasis has helped Python become a foundational skill for new programmers.

8. Industry Adoption

Python’s widespread adoption by major tech companies and organizations speaks volumes about its effectiveness. Companies like Google, Facebook, and Netflix rely on Python for various applications, including web services, data analysis, and machine learning. This industry validation not only reinforces Python’s capabilities but also opens up numerous career opportunities for those skilled in the language.

9. Future-Proof Skills

As technology continues to evolve, Python remains at the forefront of emerging fields such as artificial intelligence, data science, and automation. By mastering Python, you’re equipping yourself with skills that are likely to remain relevant and in demand for years to come. Python’s ongoing development and growing community support ensure that it will continue to be a valuable tool in the tech industry.

10. Enjoyable Coding Experience

Last but not least, Python is simply fun to work with. Its clean syntax, dynamic nature, and the sheer amount of possibilities it offers make programming a more enjoyable experience. When you enjoy the process of coding, you’re more likely to stay motivated and continue exploring new challenges and opportunities.

ORA-06598: insufficient INHERIT PRIVILEGES privilege

Sql Extract failed with below error

BEGIN SQLTXADMIN.sqlt$i.xtract(p_statement_id => :v_statement_id, p_sql_id_or_hash_value => '1avsfmn7dd549', p_password => 'Y'); END;

*
ERROR at line 1:
ORA-06598: insufficient INHERIT PRIVILEGES privilege
ORA-06512: at "SQLTXADMIN.SQLT$I", line 1
ORA-06512: at line 1

Solution:

To address this change SQLTXADMIN and SQLTXPLAIN needs to be granted INHERIT PRIVILEGES on SYS.

Connect AS SYSDBA and run the following sql statement to add the necessary grant:

GRANT INHERIT PRIVILEGES ON USER SYS TO SQLTXADMIN;
GRANT INHERIT PRIVILEGES ON USER SYS TO SQLTXPLAIN;

Sunday, 16 April 2023

Move ExaWatcher Logs to Different Directory in Exacs

1.Create Directory for exawatcherlogs under /u02
mkdir -p /u02/exawatcherlogs
cd /u02
chown exawatch:exawatch exawatcherlogs

2. Backup Config File
cp /opt/oracle.ExaWatcher/ExaWatcher.conf /opt/oracle.ExaWatcher/ExaWatcher.conf_bkp

3.Modify config file with new log location
cat /opt/oracle.ExaWatcher/ExaWatcher.conf
<ResultDir> /opt/oracle.ExaWatcher/archive  to <ResultDir> /u02/exawatcherlogs

4. Stop ExaWatcher
systemctl stop exawatcher
ps -ef | grep -i exawatch

5. Start Exawatcher
/opt/oracle.ExaWatcher/ExaWatcher.sh --fromconf
systemctl start exawatcher

Saturday, 15 April 2023

OEM Agent UPLOAD SYSTEM Threshold (UploadMaxDiskUsedPct: 98) exceeded with 98.54017)]

 [oracle@engracdb01 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 13c Release 5  
Copyright (c) 1996, 2021 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version          : 13.5.0.0.0
OMS Version            : 13.5.0.0.0
Protocol Version       : 12.1.0.1.0
Agent Home             : /u01/app/oracle/agent/agent_inst
Agent Log Directory    : /u01/app/oracle/agent/agent_inst/sysman/log
Agent Binaries         : /u01/app/oracle/agent/agent_13.5.0.0.0
Core JAR Location      : /u01/app/oracle/agent/agent_13.5.0.0.0/jlib
Agent Process ID       : 76837
Parent Process ID      : 76622
Agent URL              : https://engracdb01.com:3872/emd/main/
Local Agent URL in NAT : https://engracdb01.com:3872/emd/main/
Repository URL         : https://engdevoem.com:4903/empbs/upload
Started at             : 2023-12-04 02:48:33
Started by user        : oracle
Operating System       : Linux version 5.4.17-2136.307.3.6.el7uek.x86_64 (amd64)
Number of Targets      : 30
Last Reload            : (none)
Last successful upload                       : 2023-03-04 11:04:25
Last attempted upload                        : 2023-03-04 11:04:25
Total Megabytes of XML files uploaded so far : 453.72
Number of XML files pending upload           : 0
Size of XML files pending upload(MB)         : 0
Available disk space on upload filesystem    : 1.46%
Collection Status                            : [COLLECTIONS_HALTED(
  UPLOAD SYSTEM Threshold (UploadMaxDiskUsedPct: 98) exceeded with 98.54017)]

Heartbeat Status                             : Ok
Last attempted heartbeat to OMS              : 2023-03-04 11:09:27
Last successful heartbeat to OMS             : 2023-03-04 11:09:27
Next scheduled heartbeat to OMS              : 2023-03-04 11:10:27

---------------------------------------------------------------
Agent is Running and Ready


[oracle@engracdb01 bin]$ pwd
/u01/app/oracle/agent/agent_13.5.0.0.0/bin


[oracle@engracdb01 bin]$ ./emctl clearstate agent
Oracle Enterprise Manager Cloud Control 13c Release 5  
Copyright (c) 1996, 2021 Oracle Corporation.  All rights reserved.
EMD clearstate completed successfully


[oracle@engracdb01 bin]$ ./emctl stop agent
Oracle Enterprise Manager Cloud Control 13c Release 5  
Copyright (c) 1996, 2021 Oracle Corporation.  All rights reserved.
Stopping agent ... stopped.




[oracle@engracdb01 bin]$ ./emctl start agent
Oracle Enterprise Manager Cloud Control 13c Release 5  
Copyright (c) 1996, 2021 Oracle Corporation.  All rights reserved.
Starting agent ............... started.



[oracle@engracdb01 bin]$ ./emctl status agent
Oracle Enterprise Manager Cloud Control 13c Release 5  
Copyright (c) 1996, 2021 Oracle Corporation.  All rights reserved.
---------------------------------------------------------------
Agent Version          : 13.5.0.0.0
OMS Version            : 13.5.0.0.0
Protocol Version       : 12.1.0.1.0
Agent Home             : /u01/app/oracle/agent/agent_inst
Agent Log Directory    : /u01/app/oracle/agent/agent_inst/sysman/log
Agent Binaries         : /u01/app/oracle/agent/agent_13.5.0.0.0
Core JAR Location      : /u01/app/oracle/agent/agent_13.5.0.0.0/jlib
Agent Process ID       : 1805
Parent Process ID      : 1450
Agent URL              : https://engracdb01.com:3872/emd/main/
Local Agent URL in NAT : https://engracdb01.com:3872/emd/main/
Repository URL         : https://engdevoem.com:4903/empbs/upload
Started at             : 2023-03-04 11:14:41
Started by user        : oracle
Operating System       : Linux version 5.4.17-2136.307.3.6.el7uek.x86_64 (amd64)
Number of Targets      : 30
Last Reload            : (none)
Last successful upload                       : 2023-03-04 11:15:11
Last attempted upload                        : 2023-03-04 11:15:11
Total Megabytes of XML files uploaded so far : 0.27
Number of XML files pending upload           : 0
Size of XML files pending upload(MB)         : 0
Available disk space on upload filesystem    : 1.44%
Collection Status                            : Collections enabled
Heartbeat Status                             : Ok
Last attempted heartbeat to OMS              : 2023-03-04 11:14:50
Last successful heartbeat to OMS             : 2023-03-04 11:14:50
Next scheduled heartbeat to OMS              : 2023-03-04 11:15:50

---------------------------------------------------------------
Agent is Running and Ready

 

Tuesday, 4 April 2023

OCI Grid Upgrade/Patch using Image Copy

High level Steps:

1.Check The Current Grid Version Across Cluster Nodes

    dbaascli grid getDetails

2.List The Available Grid Software Images

    dbaascli cswlib showImages --product grid

3.Create A Patched Image Copy

    dbaascli grid patch --targetVersion 19.18.0.0.0 --createImage

4.Patch Grid Using image Copy

    dbaascli grid patch --targetVersion 19.18.0.0.0 --imageLocation /u02/app_acfs/exapatch/custom_images/grid1918_2023-04-03_09-17-56-PM.zip

5.Verify Grid Version Across Cluster Nodes

    dbaascli grid getDetails

 

Complete Steps with log:

1.Check the current grid version across cluster nodes

[root@ociexacsdbnode-qdhic1 ~]#  dbaascli grid getDetails

DBAAS CLI version 23.1.2.0.0

Executing command grid getDetails

Job id: a620ddd4-af0a-4839-816b-41e3e13a5940

Session log: /var/opt/oracle/log/grid/getDetails/dbaastools_2023-04-03_09-10-27-PM_207269.log

{

  "createTime" : 1679423425000,

  "updateTime" : 1679423425000,

  "scanListenerTCPPorts" : [ 1521 ],

  "scanListenerTCPSPorts" : [ 2484 ],

  "giNodeLevelDetails" : {

    "ociexacsdbnode-qdhic4" : {

      "nodeName" : "ociexacsdbnode-qdhic4",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.17.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic3" : {

      "nodeName" : "ociexacsdbnode-qdhic3",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.17.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic2" : {

      "nodeName" : "ociexacsdbnode-qdhic2",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.17.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic1" : {

      "nodeName" : "ociexacsdbnode-qdhic1",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.17.0.0.0",

      "status" : null

    }

  },

  "messages" : [ ]

}

dbaascli execution completed

[root@ociexacsdbnode-qdhic1 ~]#

 

2.List the available grid software images

[root@ociexacsdbnode-qdhic1 ~]# dbaascli cswlib showImages --product grid

DBAAS CLI version 23.1.2.0.0

Executing command cswlib showImages --product grid

Job id: efc52b92-af8f-4124-8eaf-69120c4c79a4

Session log: /var/opt/oracle/log/cswLib/showImages/dbaastools_2023-04-03_09-11-02-PM_210597.log

Log file location: /var/opt/oracle/log/cswLib/showImages/dbaastools_2023-04-03_09-11-02-PM_210597.log

############ List of Available grid Artifacts  #############

1.IMAGE_TAG=grid_19.18.0.0.0

  VERSION=19.18.0.0.0

  DESCRIPTION=19c JAN 2023 GI Image

2.IMAGE_TAG=grid_19.17.0.0.0

  VERSION=19.17.0.0.0

  DESCRIPTION=19c OCT 2022 GI Image

3.IMAGE_TAG=grid_19.16.0.0.0

  VERSION=19.16.0.0.0

  DESCRIPTION=19c JUL 2022 GI Image

4.IMAGE_TAG=grid_19.15.0.0.0

  VERSION=19.15.0.0.0

  DESCRIPTION=19c APR 2022 GI Image

Images can be downloaded using their image tags. For details, see help using 'dbaascli cswlib download --help'.

dbaascli execution completed

[root@ociexacsdbnode-qdhic1 ~]#

 

3.Create a patched image Copy

[root@ociexacsdbnode-qdhic1 ~]# dbaascli grid patch --targetVersion 19.18.0.0.0 --createImage

DBAAS CLI version 23.1.2.0.0

Executing command grid patch --targetVersion 19.18.0.0.0 --createImage

Job id: 2895b0d4-3869-4a8b-a806-342b7a2f420e

Session log: /var/opt/oracle/log/grid/patch/dbaastools_2023-04-03_09-16-14-PM_243786.log

Loading PILOT...

Session ID of the current execution is: 354

Log file location: /var/opt/oracle/log/grid/patch/pilot_2023-04-03_09-16-17-PM_244709

-----------------

Running initialization job

Completed initialization job

-----------------

Running validate_target_version job

Completed validate_target_version job

-----------------

Running validate_target_image_location job

Completed validate_target_image_location job

-----------------

Running validate_backup_locations job

Completed validate_backup_locations job

-----------------

Running validate_source job

Completed validate_source job

-----------------

Running validate_disk_space job

Completed validate_disk_space job

-----------------

Running unpackage_patches job

Completed unpackage_patches job

-----------------

Running create_temp_locations job

Completed create_temp_locations job

-----------------

Running copy_source_home job

Completed copy_source_home job

-----------------

Running unlock_temp_home job

Completed unlock_temp_home job

-----------------

Running attach_temp_home job

Completed attach_temp_home job

-----------------

Running replace_opatch job

Completed replace_opatch job

-----------------

Running check_patch_conflict job

Completed check_patch_conflict job

-----------------

Running rollback_conflicting_patches job

Completed rollback_conflicting_patches job

-----------------

Running apply_oneoffs_prepatch job

Completed apply_oneoffs_prepatch job

-----------------

Running apply_ru job

Completed apply_ru job

-----------------

Running apply_oneoffs_postpatch job

Completed apply_oneoffs_postpatch job

-----------------

Running create_gold_image job

Image location: /u02/app_acfs/exapatch/custom_images/grid1918_2023-04-03_09-17-56-PM.zip

Completed create_gold_image job

-----------------

Running cleanup job

Completed cleanup job

dbaascli execution completed

You have new mail in /var/spool/mail/root

[root@ociexacsdbnode-qdhic1 ~]#

Note:It is better to stop databases before starting patching and start them after patching is complete. This will save time during patch.

4.Patch Grid Using image Copy

[root@ociexacsdbnode-qdhic1 ~]# dbaascli grid patch --targetVersion 19.18.0.0.0 --imageLocation /u02/app_acfs/exapatch/custom_images/grid1918_2023-04-03_09-17-56-PM.zip

DBAAS CLI version 23.1.2.0.0

Executing command grid patch --targetVersion 19.18.0.0.0 --imageLocation /u02/app_acfs/exapatch/custom_images/grid1918_2023-04-03_09-17-56-PM.zip

Job id: 25979ce4-007c-48a1-a2e6-89c8b9bf2acf

Session log: /var/opt/oracle/log/grid/patch/dbaastools_2023-04-03_09-40-19-PM_24484.log

Loading PILOT...

Session ID of the current execution is: 355

Log file location: /var/opt/oracle/log/grid/patch/pilot_2023-04-03_09-40-22-PM_24962

-----------------

Running initialization job

Completed initialization job

-----------------

Running validate_nodes job

Completed validate_nodes job

-----------------

Running validate_image_location job

Completed validate_image_location job

-----------------

Running validate_target_version job

Completed validate_target_version job

-----------------

Running validate_backup_locations job

Completed validate_backup_locations job

-----------------

Running validate_source_home job

Completed validate_source_home job

-----------------

Running validate_creg_file_existence job

Completed validate_creg_file_existence job

-----------------

Running validate_crs_stack_state job

Completed validate_crs_stack_state job

-----------------

Running validate_databases job

Completed validate_databases job

-----------------

Running validate_disk_space job

Completed validate_disk_space job

-----------------

Running validate_perm_on_dir job

Completed validate_perm_on_dir job

-----------------

Running validate_users_umask job

Completed validate_users_umask job

-----------------

Running unpackage_image job

Completed unpackage_image job

-----------------

Running validate_image_product job

Completed validate_image_product job

-----------------

Running validate_image_version job

Completed validate_image_version job

-----------------

Running validate_image_patches job

Completed validate_image_patches job

-----------------

Running acquire_lock job

Completed acquire_lock job

-----------------

Running create_global_backup_loc job

Completed create_global_backup_loc job

-----------------

Running rotate_image_backup job

Completed rotate_image_backup job

-----------------

Running backup_image job

Completed backup_image job

-----------------

Running rotate_config_backup job

Completed rotate_config_backup job

-----------------

Running backup_config-ociexacsdbnode-qdhic1 job

Completed backup_config-ociexacsdbnode-qdhic1 job

-----------------

Running save_local_backup-ociexacsdbnode-qdhic1 job

Completed save_local_backup-ociexacsdbnode-qdhic1 job

-----------------

Running stop_db_instances-ociexacsdbnode-qdhic1 job

Completed stop_db_instances-ociexacsdbnode-qdhic1 job

-----------------

Running run_rootcrs_prepatch-ociexacsdbnode-qdhic1 job

Completed run_rootcrs_prepatch-ociexacsdbnode-qdhic1 job

-----------------

Running stop_tfa-ociexacsdbnode-qdhic1 job

Completed stop_tfa-ociexacsdbnode-qdhic1 job

-----------------

Running detach_source_home-ociexacsdbnode-qdhic1 job

Completed detach_source_home-ociexacsdbnode-qdhic1 job

-----------------

Running clean_source_home-ociexacsdbnode-qdhic1 job

Completed clean_source_home-ociexacsdbnode-qdhic1 job

-----------------

Running set_source_home_ownership-ociexacsdbnode-qdhic1 job

Completed set_source_home_ownership-ociexacsdbnode-qdhic1 job

-----------------

Running move_image_software_to_source_home-ociexacsdbnode-qdhic1 job

Completed move_image_software_to_source_home-ociexacsdbnode-qdhic1 job

-----------------

Running install_source_home-ociexacsdbnode-qdhic1 job

Completed install_source_home-ociexacsdbnode-qdhic1 job

-----------------

Running set_inventory_crs_flag-ociexacsdbnode-qdhic1 job

Completed set_inventory_crs_flag-ociexacsdbnode-qdhic1 job

-----------------

Running relink_with_rac_on-ociexacsdbnode-qdhic1 job

Completed relink_with_rac_on-ociexacsdbnode-qdhic1 job

-----------------

Running unpackage_config_files-ociexacsdbnode-qdhic1 job

Completed unpackage_config_files-ociexacsdbnode-qdhic1 job

-----------------

Running software_root_script-ociexacsdbnode-qdhic1 job

Completed software_root_script-ociexacsdbnode-qdhic1 job

-----------------

Running root_script_init-ociexacsdbnode-qdhic1 job

Completed root_script_init-ociexacsdbnode-qdhic1 job

-----------------

Running run_rootcrs_postpatch-ociexacsdbnode-qdhic1 job

Completed run_rootcrs_postpatch-ociexacsdbnode-qdhic1 job

-----------------

Running start_db_instances-ociexacsdbnode-qdhic1 job

Completed start_db_instances-ociexacsdbnode-qdhic1 job

-----------------

Running disable_diagsnap-ociexacsdbnode-qdhic1 job

Completed disable_diagsnap-ociexacsdbnode-qdhic1 job

-----------------

Running restore_tfa_status-ociexacsdbnode-qdhic1 job

Completed restore_tfa_status-ociexacsdbnode-qdhic1 job

-----------------

Running post_patch_updates-ociexacsdbnode-qdhic1 job

Completed post_patch_updates-ociexacsdbnode-qdhic1 job

-----------------

Running remove_local_backup-ociexacsdbnode-qdhic1 job

Completed remove_local_backup-ociexacsdbnode-qdhic1 job

-----------------

Running cleanup-ociexacsdbnode-qdhic1 job

Completed cleanup-ociexacsdbnode-qdhic1 job

-----------------

Running backup_config_on_node-ociexacsdbnode-qdhic2 job

Completed backup_config_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running save_local_backup_on_node-ociexacsdbnode-qdhic2 job

Completed save_local_backup_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running stop_db_instances_on_node-ociexacsdbnode-qdhic2 job

Completed stop_db_instances_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic2 job

Completed run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running stop_tfa_on_node-ociexacsdbnode-qdhic2 job

Completed stop_tfa_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running stop_processes_on_node-ociexacsdbnode-qdhic2 job

Completed stop_processes_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running remove_home_on_node-ociexacsdbnode-qdhic2 job

Completed remove_home_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running copy_patched_home_from_local_node-ociexacsdbnode-qdhic2 job

Completed copy_patched_home_from_local_node-ociexacsdbnode-qdhic2 job

-----------------

Running unpackage_config_backup_on_node-ociexacsdbnode-qdhic2 job

Completed unpackage_config_backup_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic2 job

Completed run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running start_db_instances_on_node-ociexacsdbnode-qdhic2 job

Completed start_db_instances_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running disable_diagsnap_on_node-ociexacsdbnode-qdhic2 job

Completed disable_diagsnap_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running restore_tfa_status_on_node-ociexacsdbnode-qdhic2 job

Completed restore_tfa_status_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running post_patch_updates_on_node-ociexacsdbnode-qdhic2 job

Completed post_patch_updates_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running remove_local_backup_on_node-ociexacsdbnode-qdhic2 job

Completed remove_local_backup_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running remove_local_patched_home_on_node-ociexacsdbnode-qdhic2 job

Completed remove_local_patched_home_on_node-ociexacsdbnode-qdhic2 job

-----------------

Running backup_config_on_node-ociexacsdbnode-qdhic3 job

Completed backup_config_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running save_local_backup_on_node-ociexacsdbnode-qdhic3 job

Completed save_local_backup_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running stop_db_instances_on_node-ociexacsdbnode-qdhic3 job

Completed stop_db_instances_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic3 job

Completed run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running stop_tfa_on_node-ociexacsdbnode-qdhic3 job

Completed stop_tfa_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running stop_processes_on_node-ociexacsdbnode-qdhic3 job

Completed stop_processes_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running remove_home_on_node-ociexacsdbnode-qdhic3 job

Completed remove_home_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running copy_patched_home_from_local_node-ociexacsdbnode-qdhic3 job

Completed copy_patched_home_from_local_node-ociexacsdbnode-qdhic3 job

-----------------

Running unpackage_config_backup_on_node-ociexacsdbnode-qdhic3 job

Completed unpackage_config_backup_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic3 job

Completed run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running start_db_instances_on_node-ociexacsdbnode-qdhic3 job

Completed start_db_instances_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running disable_diagsnap_on_node-ociexacsdbnode-qdhic3 job

Completed disable_diagsnap_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running restore_tfa_status_on_node-ociexacsdbnode-qdhic3 job

Completed restore_tfa_status_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running post_patch_updates_on_node-ociexacsdbnode-qdhic3 job

Completed post_patch_updates_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running remove_local_backup_on_node-ociexacsdbnode-qdhic3 job

Completed remove_local_backup_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running remove_local_patched_home_on_node-ociexacsdbnode-qdhic3 job

Completed remove_local_patched_home_on_node-ociexacsdbnode-qdhic3 job

-----------------

Running backup_config_on_node-ociexacsdbnode-qdhic4 job

Completed backup_config_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running save_local_backup_on_node-ociexacsdbnode-qdhic4 job

Completed save_local_backup_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running stop_db_instances_on_node-ociexacsdbnode-qdhic4 job

Completed stop_db_instances_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic4 job

Completed run_rootcrs_prepatch_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running stop_tfa_on_node-ociexacsdbnode-qdhic4 job

Completed stop_tfa_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running stop_processes_on_node-ociexacsdbnode-qdhic4 job

Completed stop_processes_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running remove_home_on_node-ociexacsdbnode-qdhic4 job

Completed remove_home_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running copy_patched_home_from_local_node-ociexacsdbnode-qdhic4 job

Completed copy_patched_home_from_local_node-ociexacsdbnode-qdhic4 job

-----------------

Running unpackage_config_backup_on_node-ociexacsdbnode-qdhic4 job

Completed unpackage_config_backup_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic4 job

Completed run_rootcrs_postpatch_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running start_db_instances_on_node-ociexacsdbnode-qdhic4 job

Completed start_db_instances_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running disable_diagsnap_on_node-ociexacsdbnode-qdhic4 job

Completed disable_diagsnap_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running restore_tfa_status_on_node-ociexacsdbnode-qdhic4 job

Completed restore_tfa_status_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running post_patch_updates_on_node-ociexacsdbnode-qdhic4 job

Completed post_patch_updates_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running remove_local_backup_on_node-ociexacsdbnode-qdhic4 job

Completed remove_local_backup_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running remove_local_patched_home_on_node-ociexacsdbnode-qdhic4 job

Completed remove_local_patched_home_on_node-ociexacsdbnode-qdhic4 job

-----------------

Running cleanup_patched_home_backup job

Completed cleanup_patched_home_backup job

-----------------

Running post_patch_validation job

Completed post_patch_validation job

-----------------

Running update_creg job

Completed update_creg job

-----------------

Running release_lock job

Completed release_lock job

-----------------

Running generate_system_details job

Completed generate_system_details job

dbaascli execution completed

You have new mail in /var/spool/mail/root

 

5.Verify Grid Version Across Cluster Nodes

[root@ociexacsdbnode-qdhic1 ~]# dbaascli grid getDetails

DBAAS CLI version 23.1.2.0.0

Executing command grid getDetails

Job id: 043f2f65-2ba9-49bb-954a-e21ae0acb78f

Session log: /var/opt/oracle/log/grid/getDetails/dbaastools_2023-04-03_10-56-47-PM_351301.log

{

  "createTime" : 1680585364000,

  "updateTime" : 1680585364000,

  "scanListenerTCPPorts" : [ 1521 ],

  "scanListenerTCPSPorts" : [ 2484 ],

  "giNodeLevelDetails" : {

    "ociexacsdbnode-qdhic4" : {

      "nodeName" : "ociexacsdbnode-qdhic4",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.18.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic3" : {

      "nodeName" : "ociexacsdbnode-qdhic3",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.18.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic2" : {

      "nodeName" : "ociexacsdbnode-qdhic2",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.18.0.0.0",

      "status" : null

    },

    "ociexacsdbnode-qdhic1" : {

      "nodeName" : "ociexacsdbnode-qdhic1",

      "homePath" : "/u01/app/19.0.0.0/grid",

      "version" : "19.18.0.0.0",

      "status" : null

    }

  },

  "messages" : [ ]

}

dbaascli execution completed

[root@ociexacsdbnode-qdhic1 ~]#