Friday, November 29, 2024

Exacs database creation using dbaascli

 







Intro

OCI (Oracle Cloud Infrastructure) provides robust automation capabilities for routine maintenance tasks such as patching, creating database homes, and server OS updates. Oracle further simplifies these tasks by handling the staging process, reducing the administrative burden.

Additionally, Oracle has introduced several tools to streamline maintenance and management tasks, including:

  • dbaascli
  • exacli
  • dbcli
  • exadbcpatchmulti
  • dbaascli is a command-line utility for managing Oracle Database Cloud Services (DBaaS) instances. Mainly for Oracle Exadata cloud services. It provides several features to administer Oracle databases running on Oracle Cloud Infrastructure (OCI). This tool allows users to perform various administrative tasks like backup and recovery, patching, scaling, and checking the status of the database environment.

    Key Features of dbaascli:

    1. Backup and Restore:

      • Manage and schedule backups.
      • Perform on-demand backups.
      • Restore the database from backups.
    2. Patching:

      • Apply database patches.
      • Check for available patches.
      • Rollback patches if necessary.
    3. Database Management:

      • Start and stop databases.
      • Perform database health checks.
      • Manage Data Guard configurations (for high availability and disaster recovery).
    4. Storage Management:

      • Resize the database storage as required.
    5. Diagnostic Tools:

      • Collect diagnostic information to troubleshoot issues.
      • Generate diagnostic logs for support cases.
    As a DBA, it's essential to start utilizing these orchestration tools to streamline and simplify your tasks. These tools make database management more efficient by automating key processes. With dbaascli, for example, DBAs no longer need to manually download and copy binary files to servers—dbaascli will automatically download the latest binaries, making the entire process faster and smoother.

    In this article, I will demonstrate how to create a database using dbaascli.

    Note: Creating a non-CDB database is not supported via the console. The only way to create a non-CDB database is through the backend.

    Step 1: Identify the Database Home


    First, identify and note down the Database Home associated with the version you want to use for creating the database.

    For this example, since I want to create a database using the 19c home, I will record the path for the 19c Database Home.

    
    
    [root@exadevdb-node01 ~]# dbaascli dbhome info
    DBAAS CLI version 24.3.2.0.0
    Executing command dbhome info
    [INFO] [DBAAS-14011] - The usage of this command is deprecated.
       ACTION: It is recommended to use 'dbaascli dbHome getDetails or dbaascli system getDBHomes' for this operation.
    Enter a homename or just press enter if you want details of all homes
    
    1.HOME_NAME=OraHome1
      HOME_LOC=/u02/app/oracle/product/19.0.0.0/dbhome_1
      VERSION=19.24.0.0
      PATCH_LEVEL=19.24.0.0.0
      DBs installed=
       OH Backup=NOT Configured
    
    2.HOME_NAME=OraHome3
      HOME_LOC=/u02/app/oracle/product/11.2.0/dbhome_1
      VERSION=11.2.0.4
      PATCH_LEVEL=11.2.0.4.231017
      DBs installed=TEST
       Agent DB IDs=ec3f0396-d79d-450f-a9b3-aaae88b37c56
     OH Backup=NOT Configured
    
    [root@exadevdb-node01 ~]#
    
    
    

    To retrieve the DB home information, you can use the latest dbaascli command:

    
    dbaascli system getDBHomes
    
    This output will be a Jason output
    
    
    [root@exadevdb-node01 ~]# dbaascli system getDBHomes
    DBAAS CLI version 24.3.2.0.0
    Executing command system getDBHomes
    Job id: 1530c019-99c4-467d-9b2f-be3a2b5d3cd0
    Session log: /var/opt/oracle/log/system/getDBHomes/dbaastools_2024-09-30_03-45-24-PM_342051.log
    {
      "OraHome1" : {
        "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_1",
        "homeName" : "OraHome1",
        "version" : "19.24.0.0.0",
        "createTime" : 1724441733874,
        "updateTime" : 1724683497105,
        "unifiedAuditEnabled" : false,
        "ohNodeLevelDetails" : {
          "exadevdb-node02" : {
            "nodeName" : "exadevdb-node02",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          },
          "exadevdb-node01" : {
            "nodeName" : "exadevdb-node01",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          }
        },
        "messages" : [ ]
      },
      "OraHome2" : {
        "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_2",
        "homeName" : "OraHome2",
        "version" : "19.24.0.0.0",
        "createTime" : 1724680153103,
        "updateTime" : 1724692594136,
        "unifiedAuditEnabled" : false,
        "ohNodeLevelDetails" : {
          "exadevdb-node02" : {
            "nodeName" : "exadevdb-node02",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          },
          "exadevdb-node01" : {
            "nodeName" : "exadevdb-node01",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          }
        },
        "messages" : [ ]
      },
      "OraHome3" : {
        "homePath" : "/u02/app/oracle/product/11.2.0/dbhome_1",
        "homeName" : "OraHome3",
        "version" : "11.2.0.4.231017",
        "createTime" : 1724683333257,
        "updateTime" : 1727708629760,
        "unifiedAuditEnabled" : false,
        "ohNodeLevelDetails" : {
          "exadevdb-node02" : {
            "nodeName" : "exadevdb-node02",
            "version" : "11.2.0.4.231017",
            "patches" : [ "25139545", "33613829", "33991024", "35638387", "22291453", "30432076", "31335037", "32327201", "32558369", "34006614", "34533061", "34698179", "35099667", "35220732", "35239280", "35313335", "35685663", "32224895", "22366322", "31228670", "21289564", "35574089" ]
          },
          "exadevdb-node01" : {
            "nodeName" : "exadevdb-node01",
            "version" : "11.2.0.4.231017",
            "patches" : [ "25139545", "33613829", "33991024", "35638387", "22291453", "30432076", "31335037", "32327201", "32558369", "34006614", "34533061", "34698179", "35099667", "35220732", "35239280", "35313335", "35685663", "32224895", "22366322", "31228670", "21289564", "35574089" ]
          }
        },
        "messages" : [ ]
      },
      "OraHome4" : {
        "homePath" : "/u02/app/oracle/product/19.0.0.0/dbhome_3",
        "homeName" : "OraHome4",
        "version" : "19.24.0.0.0",
        "createTime" : 1724695480172,
        "updateTime" : 1727709224645,
        "unifiedAuditEnabled" : false,
        "ohNodeLevelDetails" : {
          "exadevdb-node02" : {
            "nodeName" : "exadevdb-node02",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          },
          "exadevdb-node01" : {
            "nodeName" : "exadevdb-node01",
            "version" : "19.24.0.0.0",
            "patches" : [ "34697081", "36538667", "36414915", "36587798", "36582781" ]
          }
        },
        "messages" : [ ]
      }
    }
    
    dbaascli execution completed
    [root@exadevdb-node01 ~]#
    
    

    Create a database using dbaascli commands


    Here is a sample command to create the database. For detailed information, refer to the Oracle documentation at:  Using dbaascli for Exadata Database Service

    Since we are creating a non-container database, the createAsCDB parameter is set to false.

    
    
    /bin/dbaascli database create \
    --dbname SYNPOC \
    --dbUniqueName SYNPOC_EXA \
    --dbSID SYNPOC1 \
    --createAsCDB false \
    --dbCharset AL32UTF8 \
    --dbNCharset AL16UTF16 \
    --sgaSizeInMB 4096 \
    --pgaSizeInMB 1024 \
    --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1 \
    --oracleHomeName OraHome1 \
    --tdeConfigMethod FILE \
    --executePrereqs no
    
    

    Sample log output

    
    
    [root@exadevdb-node01 ~]# /bin/dbaascli database create \
    > --dbname SYNPOC \
    > --dbUniqueName SYNPOC_EXA \
    > --dbSID SYNPOC \
    > --createAsCDB false \
    > --dbCharset AL32UTF8 \
    > --dbNCharset AL16UTF16 \
    > --sgaSizeInMB 4096 \
    > --pgaSizeInMB 1024 \
    > --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1 \
    > --oracleHomeName OraHome1 \
    > --tdeConfigMethod FILE \
    > --executePrereqs no
    DBAAS CLI version 24.3.2.0.0
    Executing command database create --dbname SYNPOC --dbUniqueName SYNPOC_EXA --dbSID SYNPOC1 --createAsCDB false --dbCharset AL32UTF8 --dbNCharset AL16UTF16 --sgaSizeInMB 4096 --pgaSizeInMB 1024 --oracleHome /u02/app/oracle/product/19.0.0.0/dbhome_1 --oracleHomeName OraHome1 --tdeConfigMethod FILE --executePrereqs no
    Job id: 88f650c6-0467-4b3b-bcda-3f38eaa0ea6e
    Session log: /var/opt/oracle/log/SYNPOC/database/create/dbaastools_2024-09-30_03-51-46-PM_368426.log
    Enter SYS_PASSWORD:
    
    Enter SYS_PASSWORD (reconfirmation):
    
    Enter TDE_PASSWORD:
    
    Enter TDE_PASSWORD (reconfirmation):
    
    Loading PILOT...
    Enter SYS_PASSWORD
    ********************
    Enter SYS_PASSWORD (reconfirmation):
    **********************
    Enter TDE_PASSWORD
    ***********************
    Enter TDE_PASSWORD (reconfirmation):
    ********************
    Session ID of the current execution is: 1490
    Log file location: /var/opt/oracle/log/SYNPOC/database/create/pilot_2024-09-30_03-53-13-PM_374149
    -----------------
    Running Plugin_initialization job
    Completed Plugin_initialization job
    Acquiring read lock: _u02_app_oracle_product_19.0.0.0_dbhome_1
    -----------------
    Running Default_value_initialization job
    Completed Default_value_initialization job
    -----------------
    Running Validate_input_params job
    Completed Validate_input_params job
    -----------------
    Running Validate_cpu_availability job
    Completed Validate_cpu_availability job
    -----------------
    Running Validate_asm_availability job
    Completed Validate_asm_availability job
    -----------------
    Running Validate_disk_space_availability job
    Completed Validate_disk_space_availability job
    -----------------
    Running Validate_huge_pages_availability job
    Completed Validate_huge_pages_availability job
    -----------------
    Running Validate_hostname_domain job
    Completed Validate_hostname_domain job
    -----------------
    Running Validate_crs_state job
    Completed Validate_crs_state job
    -----------------
    Running Install_db_cloud_backup_module job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Perform_dbca_prechecks job
    Completed Perform_dbca_prechecks job
    -----------------
    Running Validate_backup_report job
    Skipping. Job is detected as not applicable.
    Acquiring write lock: create_db_cloud
    -----------------
    Running Setup_acfs_volumes job
    Completed Setup_acfs_volumes job
    -----------------
    Running Setup_db_folders job
    Completed Setup_db_folders job
    -----------------
    
    Running DB_creation job
    Completed DB_creation job
    Releasing lock: create_db_cloud
    -----------------
    Running Generate_db_metadata job
    Completed Generate_db_metadata job
    -----------------
    Running Create_db_from_backup job
    Skipping. Job is detected as not applicable.
    Completed Create_db_from_backup job
    -----------------
    Running Load_db_details job
    Completed Load_db_details job
    -----------------
    Running Populate_creg job
    Completed Populate_creg job
    -----------------
    Running Register_ocids job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Run_datapatch job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Create_users_tablespace job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Configure_pdb_service job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Set_pdb_admin_user_profile job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Lock_pdb_admin_user job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Configure_flashback job
    Completed Configure_flashback job
    -----------------
    Running Update_cloud_service_recommended_config_parameters job
    Completed Update_cloud_service_recommended_config_parameters job
    -----------------
    Running Update_distributed_lock_timeout job
    Completed Update_distributed_lock_timeout job
    -----------------
    Running Configure_archiving job
    Completed Configure_archiving job
    -----------------
    Running Configure_huge_pages job
    Completed Configure_huge_pages job
    -----------------
    Running Set_credentials job
    Completed Set_credentials job
    -----------------
    Running Update_dba_directories job
    Completed Update_dba_directories job
    -----------------
    Running Set_cluster_interconnects job
    Completed Set_cluster_interconnects job
    -----------------
    Running Create_db_secure_profile job
    Completed Create_db_secure_profile job
    -----------------
    Running Set_utc_timezone job
    Completed Set_utc_timezone job
    -----------------
    Running Run_dst_post_installs job
    Completed Run_dst_post_installs job
    -----------------
    Running Enable_auditing job
    Completed Enable_auditing job
    -----------------
    Running Apply_security_measures job
    Completed Apply_security_measures job
    -----------------
    Running Set_listener_init_params job
    Completed Set_listener_init_params job
    -----------------
    Running Update_db_wallet job
    Completed Update_db_wallet job
    -----------------
    Running Add_oratab_entry job
    Completed Add_oratab_entry job
    -----------------
    Running Setup_dbaastools_schema job
    Skipping. Job is detected as not applicable.
    -----------------
    Running Purge_rmf_configuration job
    Completed Purge_rmf_configuration job
    -----------------
    Running Configure_sqlnet_ora job
    Completed Configure_sqlnet_ora job
    -----------------
    Running Configure_tnsnames_ora job
    Completed Configure_tnsnames_ora job
    -----------------
    Running Enable_fips job
    Completed Enable_fips job
    -----------------
    Running DTRS_DB_Configure_Job job
    Completed DTRS_DB_Configure_Job job
    -----------------
    Running Restart_database job
    Completed Restart_database job
    -----------------
    Running Create_db_login_environment_file job
    Completed Create_db_login_environment_file job
    -----------------
    Running Generate_dbsystem_details job
    Acquiring native write lock: global_dbsystem_details_generation
    Releasing native lock: global_dbsystem_details_generation
    Completed Generate_dbsystem_details job
    -----------------
    Running Cleanup job
    Completed Cleanup job
    Releasing lock: _u02_app_oracle_product_19.0.0.0_dbhome_1
    
    dbaascli execution completed
    [root@exadevdb-node01~]# 
    
    

    Conclusion

    To sum up, dbaascli is an effective command line tool that helps in performing various tasks involved in the lifecycle of a database in the context of the Oracle cloud. It makes the execution of tasks like the creation of databases, the administration of homes and even the fetching of information effortless. With dbaascli, the administrators have a way to automate most of the usual activities and cut down on errors and increase efficiency thereby making the management of databases smooth and effective.

    Wednesday, August 21, 2024

    Oracle world 2024 - AI

     




    Intro 

    The world is transitioning from the data era to the age of artificial intelligence. Many organizations are leveraging AI features to gain a competitive edge and expand their market share. Oracle 23c AI introduces a wide array of AI-driven features to support this shift. With Oracle CloudWorld just around the corner, the event will be a key platform to showcase the power and potential of AI in transforming businesses.

    Oracle CloudWorld 2024 is set to take place from September 9 to 12 in Las Vegas at the Caesars Forum Convention Center. This major event will bring together Oracle customers, partners, and industry experts to explore the latest innovations in cloud technology, AI, databases, and more.

    Oracle 23ai : True Cache

     





    Intro

    In today’s fast-paced digital landscape, speed is paramount. Users expect instant responses, and applications must seamlessly handle high traffic and demanding workloads. Oracle databases, often the backbone of critical systems, bear the weight of these performance demands. Fortunately, Oracle Database has a powerful solution: True Cache, an advanced in-memory caching technology designed to optimize database performance and enhance application efficiency.

    What is Oracle True Cache? 

    True Cache is a fast storage layer that temporarily holds frequently accessed data from an Oracle database to speed up read operations. It's like a quick-access memory that helps retrieve data faster without repeatedly querying the main database.

    Simple terms: True Cache is an in-memory, read-only caching layer positioned in front of an Oracle database.


    General Architecture 


                                                         Figure 1: True Cache Architecture


    The benefits of True Cache in Oracle 23c AI include:

    Faster Data Access: By storing frequently accessed data in memory, True Cache reduces the time needed to retrieve data from the database, leading to quicker response times for applications

    Improved Performance: With data readily available in memory, the overall performance of the database engine is enhanced, allowing for more efficient processing of queries and transactions.

    Reduced Database Load: True Cache minimizes the number of direct queries to the database, thereby reducing the workload on the database engine and freeing up resources for other tasks.

    Enhanced User Experience: Applications that rely on quick data retrieval will see significant improvements, providing a smoother and more responsive user experience.

    Scalability: As demand for data grows, True Cache can help maintain performance levels by efficiently managing and accessing frequently used data.

    If you need more detail, refer to Oracle's main blog for true cache.

    https://blogs.oracle.com/database/post/introducing-oracle-true-cache

    In this article, I will elaborate on how you can set up Oracle's true cache instance.

    Pre-requisites for True cache testing

    • Create two DBCS instances with 23ai. (Both instances should be in the same subnet).
    • Make sure connective is there for two VMs. (default ports 22 and 1521 need to be enabled for the subnet ).
    • Make sure to add the IP address of both nodes to the host file.

    Below is my machine hostname :

    Primary :

    Cache instance :




    Prepare instance 

    Using the DBCA utility, I create a BLOB file, which I then transfer to the True Cache instance. Upon inspecting the contents of the BLOB file, you'll find both the password file and the wallet stored within it.
      $ORACLE_HOME/bin/dbca -configureDatabase -prepareTrueCacheConfigFile \
     -sourceDB P23AI \
     -trueCacheBlobLocation /home/oracle/scripts/ \
     -silent 
      
    

    Expected output

    
      
    [oracle@dbsdpl24 admin]$ $ORACLE_HOME/bin/dbca -configureDatabase -prepareTrueCacheConfigFile \
    -sourceDB P23AI \
    -trueCacheBlobLocation /home/oracle/scripts/ \
    -silent
    
    Enter password for the TDE wallet:
    
    Enter password for the TDE wallet:
    Session ID of the current execution is: 1
    Log file location: /u01/app/oracle/cfgtoollogs/dbca/P23AI_jt7_yyz/trace.log_2024-08-20_04-35-42PM_53669
    -----------------
    Running Initialization job
    Completed Initialization job
    33% complete
    -----------------
    Running Validate_dataguard job
    Skipping. Job is detected as not applicable.
    40% complete
    -----------------
    Running Validate_db_version job
    Completed Validate_db_version job
    47% complete
    -----------------
    Running Validate_tde_credentials job
    Completed Validate_tde_credentials job
    53% complete
    -----------------
    Running Validate_true_cache_instance job
    Completed Validate_true_cache_instance job
    60% complete
    -----------------
    Running Validate_archive_log_mode job
    Completed Validate_archive_log_mode job
    67% complete
    -----------------
    Running Prepare_blob job
    Completed Prepare_blob job
    100% complete
    ---------- PLUGIN NOTES ----------
    Successfully created blob file: /home/oracle/scripts/blob_2024-08-20_04-35-42PM.tar.gz
    ---------- END OF PLUGIN NOTES ----------
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/P23AI_jt7_yyz/P23AI_jt7_yyz0.log" for further details.
    [oracle@dbsdpl24 admin]$
      
      
    Note: Make sure to transfer: the blob_2024-08-20_04-35-42PM.tar.gz file to the true cache instance. 


    Configure Listener on the primary instance 

    Add the required entries to the listener configuration and then restart the listener.
    
    REGISTRATION_INVITED_NODES_Listener = (10.0.1.6,10.0.1.240)
    VALID_NODE_CHECKING_REGISTRATION_LISTENER=OFF
    

    Drop DBCS-created database

    Using DBCA to delete a database on a True Cache instance.

    
    $ORACLE_HOME/bin/dbca -deleteDatabase -sourceDB TC23AI -forceArchiveLogDeletion -silent
    

    Configure True Cache

    The next step is to create true cache instance. With DBCA, we can also create a True Cache instance.

    $ORACLE_HOME/bin/dbca -createTrueCache \
    -gdbName TC23AI \
    -sid TC23AI \
    -sourceDBConnectionString dbsdpl24.sub08101943421.cnvcn01.oraclevcn.com:1521/P23AI_jt7_yyz.sub08101943421.cnvcn01.oraclevcn.com \
    -trueCacheBlobFromSourceDB /home/oracle/scripts/blob_2024-08-20_04-35-42PM.tar.gz \
    -sgaTargetInMB 14848 \
    -pgaAggregateTargetInMB 3712 \
    -silent -listeners LISTENER
    

    Expected output

    
    
    [oracle@dbsdpl53 scripts]$ $ORACLE_HOME/bin/dbca -createTrueCache \
    -gdbName TC23AI \
    -sid TC23AI \
    -sourceDBConnectionString dbsdpl24.sub08101943421.cnvcn01.oraclevcn.com:1521/P23AI_jt7_yyz.sub08101943421.cnvcn01.oraclevcn.com \
    -trueCacheBlobFromSourceDB /home/oracle/scripts/blob_2024-08-20_04-35-42PM.tar.gz \
    -sgaTargetInMB 14848 \
    -pgaAggregateTargetInMB 3712 \
    -silent -listeners LISTENER
    Enter Remote DB SYS user password:
    
    Enter password for the source database TDE wallet:
    
    [FATAL] [DBT-10317] Specified SID Name (TC23AI) already exists.
       ACTION: Specify a different SID Name that does not already exist.
    [oracle@dbsdpl53 scripts]$ vi /etc/oratab
    [oracle@dbsdpl53 scripts]$ $ORACLE_HOME/bin/dbca -createTrueCache -gdbName TC23AI -sid TC23AI -sourceDBConnectionString dbsdpl24.sub08101943421.cnvcn01.oraclevc                                                n.com:1521/P23AI_jt7_yyz.sub08101943421.cnvcn01.oraclevcn.com -trueCacheBlobFromSourceDB /home/oracle/scripts/blob_2024-08-20_04-35-42PM.tar.gz -sgaTargetInMB 1                                                4848 -pgaAggregateTargetInMB 3712 -silent -listeners LISTENER
    Enter Remote DB SYS user password:
    
    Enter password for the source database TDE wallet:
    
    [WARNING] [DBT-10331] Specified SID Name (TC23AI) may have a potential conflict with an already existing database on the system.
       CAUSE: The specified SID Name without the trailing numeric characters (TC23AI) may have a potential conflict with an already existing database on the system.
       ACTION: Specify a different SID Name that does not conflict with existing databases on the system.
    Session ID of the current execution is: 5
    Log file location: /u01/app/oracle/cfgtoollogs/dbca/TC23AI/trace.log_2024-08-20_05-28-57PM_98530
    -----------------
    Running Extract_password_file_from_blob_file job
    Completed Extract_password_file_from_blob_file job
    25% complete
    -----------------
    Running Create_static_listener job
    Skipping. Job is detected as not applicable.
    38% complete
    -----------------
    Running Register_listener job
    Completed Register_listener job
    50% complete
    -----------------
    Running Extract_tde_wallet_from_blob_file job
    Completed Extract_tde_wallet_from_blob_file job
    54% complete
    -----------------
    Running Setup_required_directories job
    Skipping. Job is detected as not applicable.
    57% complete
    -----------------
    Running Create_pfile job
    Completed Create_pfile job
    61% complete
    -----------------
    Running Start_nomount_instance job
    Completed Start_nomount_instance job
    64% complete
    -----------------
    Running Create_TDE_wallet job
    Completed Create_TDE_wallet job
    68% complete
    -----------------
    Running Create_truecache_instance job
    
    Completed Create_truecache_instance job
    71% complete
    -----------------
    Running Add_oratab_entry job
    Completed Add_oratab_entry job
    75% complete
    -----------------
    Running Reopen_wallet job
    Completed Reopen_wallet job
    100% complete
    ---------- PLUGIN NOTES ----------
    Successfully created True Cache.
    In order to complete the operation,configure the True Cache database application services from the primary database.
    ---------- END OF PLUGIN NOTES ----------
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/TC23AI/TC23AI1.log" for further details.
    
    

    After the creation True cache instance status

    No data file is needed for this, as everything is managed in-memory. Similar to Active Data Guard, archives will push all frequently accessed data.
    
    
    select open_mode,database_role from v$database;
    
    OPEN_MODE            DATABASE_ROLE
    -------------------- ----------------
    READ ONLY WITH APPLY TRUE CACHE
    
    -- MRP 
    
    SQL>  select INST_ID,PROCESS,STATUS,THREAD#,SEQUENCE#,BLOCK# from GV$MANAGED_STANDBY;
    
       INST_ID PROCESS   STATUS                  THREAD#  SEQUENCE#     BLOCK#
    ---------- --------- -------------------- ---------- ---------- ----------
             1 DGRD      ALLOCATED                     0          0          0
             1 DGRD      ALLOCATED                     0          0          0
             1 ARCH      CONNECTED                     0          0          0
             1 ARCH      CONNECTED                     0          0          0
             1 ARCH      CONNECTED                     0          0          0
             1 ARCH      CONNECTED                     0          0          0
             1 RFS       IDLE                          1          0          0
             1 RFS       RECEIVING                     1          5    1335415
             1 RFS       IDLE                          0          0          0
             1 MRP0      APPLYING_LOG                  1          5    1335416
             1 DGRD      ALLOCATED                     0          0          0
    
       INST_ID PROCESS   STATUS                  THREAD#  SEQUENCE#     BLOCK#
    ---------- --------- -------------------- ---------- ---------- ----------
             1 RMI       IDLE                          0          0          0
             1 RMI       IDLE                          0          0          0
    
    13 rows selected.
    
    

    Conclusion

    In a fast-paced world where every millisecond counts, caching is essential, and Oracle's True Cache is revolutionizing database performance. By accelerating data access and enhancing reliability and efficiency, True Cache empowers businesses to stay competitive and deliver exceptional user experiences. If you're aiming to boost your database performance, True Cache could be the game-changing solution you've been looking for.

    Thursday, August 15, 2024

    Troubleshoot ODA Repo Issue

     




    Intro 

    If you found previous blog posts helpful for addressing ODA upgrade issues on virtualization platforms, the following article will ease your journey toward the 19.8 upgrade.

    Article on Upgrades and Issues:


    ODA virtualized upgrades are always challenging, with unexpected issues often arising. One consistent problem I've noticed in upgrades up to version 18.8.0.0 is the repository disappearing after a node reboot.
    
    12.1.2.6 -> 12.1.2.10 
    12.1.2.10 -> 12.1.2.12 
    12.1.2.12 -> 18.3.0.0 
    18.3.0.0 -> 18.8.0.0 
    18.8.0.0 -> 19.8.0.0 
    19.8.0.0 -> 19.13.0.0
    

    In this article, I will elaborate on how you can overcome this repo issue. First, check the cluster VIP status.

    Thursday, July 18, 2024

    KVM Upgrade issue : 4.4.10.22– 4.4.10.30

     






    Intro

    Virtualization has significantly transformed the IT industry by enhancing the efficient utilization of server resources. Despite the rapid adoption of cloud technology, many organizations hesitate to migrate their workloads to the cloud due to concerns regarding data sensitivity and operational challenges. For such businesses, virtualization continues to be the preferred solution, offering substantial cost savings in capital expenditure (CapEx) and a secure operational environment.

    Ensuring the security of critical database workloads hosted in virtualized environments is paramount. Oracle Linux Virtualization Manager (OLVM) plays a crucial role in managing these virtual environments, and maintaining its updates is vital for safeguarding infrastructure integrity. Regular KVM upgrades are essential to uphold the security and reliability of these virtualized environments.

    While upgrading our KVM hosts, we encountered several issues, particularly with hosts that previously utilized Gluster data domains.

    Monday, July 8, 2024

    OCI immutable backup : version control

     




    Intro

    In today's data-driven era, businesses leverage data analysis to seize opportunities and gain a competitive edge. This makes it crucial for organizations to have a robust disaster recovery (DR) plan. Most organizations leverage cloud backup features to store their data securely. When backups are in the public cloud, it is essential to ensure they are not altered and can be retrieved even after a ransomware attack. Oracle Cloud Object Storage provides an excellent feature of object versioning to ensure backups are safe and can be restored at any time during ransomware attacks.

    Here are several reasons why immutable backups are important:

    Wednesday, July 3, 2024

    Measuring Storage Performance for Oracle DBs

     



    Intro

    Storage vendors often provide extensive product performance data, but this information may not accurately predict how the storage will perform with an Oracle database. This article offers practical methods to evaluate storage system performance, including Oracle-provided utilities.

    There are two main methods to analyze the performance of storage.

    • Oracle Orion
    • Oracle procedure: DBMS_RESOURCE_MANAGER.calibrate_io.
    I will show you how to measure IO using both methods in this article. 

    The easiest way to use procedure DBMS_RESOURCE_MANAGER.calibrate_io. 

    In Oracle, the DBMS_RESOURCE_MANAGER package provides procedures to manage database resources. To generate a read-only workload to measure the maximum number of IOPS (Input/Output Operations Per Second) and MB/s (Megabytes per second), you can use the CALIBRATE_IO procedure. This procedure helps in determining the I/O capabilities of the storage subsystem.

    Exacs database creation using dbaascli

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