Exacs Database Creation Using dbaascli
Contents
Introduction
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:
dbaascliexaclidbcliexadbcpatchmulti
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
:
-
Backup and Restore:
- Manage and schedule backups.
- Perform on-demand backups.
- Restore the database from backups.
-
Patching:
- Apply database patches.
- Check for available patches.
- Rollback patches if necessary.
-
Database Management:
- Start and stop databases.
- Perform database health checks.
- Manage Data Guard configurations (for high availability and disaster recovery).
-
Storage Management:
- Resize the database storage as required.
-
Diagnostic Tools:
- Collect diagnostic information to troubleshoot issues.
- Generate diagnostic logs for support cases.
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
[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
[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 tofalse
.
/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.