Introduction
Installing Oracle Database 12c on a Red Hat or Oracle Linux system is a straightforward process that requires careful preparation and attention to detail. In this blog post, we will guide you through the steps to successfully install Oracle Database 12c on your Linux system.
Oracle Installation Prerequisites
Perform either the Automatic Setup or the Manual Setup to complete the basic prerequisites. The Additional Setup is required for all installations.
Automatic Setup
If you plan to use the “oracle-database-server-12cR2-preinstall” package to perform all your prerequisite setup, issue the following command.
1 2 3 |
# yum install oracle-database-server-12cR2-preinstall -y |
1 2 3 |
# yum update -y |
Additional Setup
The following steps must be performed, whether you did the manual or automatic setup.
Set the password for the “oracle” user.
1 2 3 |
passwd oracle |
Set secure Linux to permissive by editing the “/etc/selinux/config” file, making sure the SELINUX flag is set as follows.
1 2 3 |
SELINUX=permissive |
Once the change is complete, restart the server or run the following command.
1 2 3 |
# setenforce Permissive |
If you have the Linux firewall enabled, you will need to disable or configure it.
1 2 3 4 |
# systemctl stop firewalld # systemctl disable firewalld |
Create the directories in which the Oracle software will be installed.
1 2 3 4 5 |
mkdir -p /u01/app/oracle/product/12.2.0.1/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01 |
Install 12.2 Database Binaries in silent mode.
Install Oracle 12.2 database software in silent mode (12.2.0.1)
Please note pre-requisites already been taken care like kernel parameters, add groups, profile and etc
1 2 3 4 5 6 7 8 9 |
Usually to install 12.2.0.1 database software we will use ./runInstaller graphical user interface. Some times may not have access to a graphical user interface. Silent mode installation allows to configure necessary Oracle components without using graphical interface In this response file can be used to provide all the required information for the installation, so no additional user input is required. |
1 2 3 |
[oracle@localhost]$ unzip linuxx64_12201_database.zip |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[oracle@localhost ~]$ cd database [oracle@localhost database]$ ls -ltr total 36 -rwxr-xr-x. 1 oracle dba 500 Feb 6 2013 welcome.html drwxr-xr-x. 4 oracle dba 4096 Jan 26 2017 install -rwxr-xr-x. 1 oracle dba 8771 Jan 26 2017 runInstaller drwxr-xr-x. 2 oracle dba 4096 Jan 26 2017 rpm drwxrwxr-x. 2 oracle dba 4096 Jan 26 2017 sshsetup drwxrwxr-x. 2 oracle dba 4096 Jan 26 2017 response drwxr-xr-x. 14 oracle dba 4096 Jan 26 2017 stage [oracle@localhost database]$ cd response [oracle@localhost response]$ ls -ltr total 60 -rwxrwxr-x. 1 oracle dba 6209 Jun 20 2016 netca.rsp -rwxrwxr-x. 1 oracle dba 25502 Jan 5 2017 dbca.rsp -rw-rw-r--. 1 oracle dba 22924 Jan 26 2017 db_install.rsp [oracle@localhost response]$ cp db_install.rsp db_install.rsp.bkp [oracle@localhost response]$ ls -ltr total 84 -rwxrwxr-x. 1 oracle dba 6209 Jun 20 2016 netca.rsp -rwxrwxr-x. 1 oracle dba 25502 Jan 5 2017 dbca.rsp -rw-rw-r--. 1 oracle dba 22924 Jan 26 2017 db_install.rsp -rw-r--r--. 1 oracle dba 22924 Jan 2 08:25 db_install.rsp.bkp [oracle@localhost response]$ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 |
File name: db_install.rsp [oracle@localhost response]$ cat db_install.rsp #################################################################### ## Copyright(c) Oracle Corporation 1998,2017. All rights reserved.## ## ## ## Specify values for the variables listed below to customize ## ## your installation. ## ## ## ## Each variable is associated with a comment. The comment ## ## can help to populate the variables with the appropriate ## ## values. ## ## ## ## IMPORTANT NOTE: This file contains plain text passwords and ## ## should be secured to have read permission only by oracle user ## ## or db administrator who owns this installation. ## ## ## #################################################################### #------------------------------------------------------------------------------- # Do not change the following system generated value. #------------------------------------------------------------------------------- oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0 #------------------------------------------------------------------------------- # Specify the installation option. # It can be one of the following: # - INSTALL_DB_SWONLY # - INSTALL_DB_AND_CONFIG # - UPGRADE_DB #------------------------------------------------------------------------------- oracle.install.option=INSTALL_DB_SWONLY #------------------------------------------------------------------------------- # Specify the Unix group to be set for the inventory directory. #------------------------------------------------------------------------------- UNIX_GROUP_NAME=oinstall #------------------------------------------------------------------------------- # Specify the location which holds the inventory files. # This is an optional parameter if installing on # Windows based Operating System. #------------------------------------------------------------------------------- INVENTORY_LOCATION=/u01/app/oraInventory #------------------------------------------------------------------------------- # Specify the complete path of the Oracle Home. #------------------------------------------------------------------------------- ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1 #------------------------------------------------------------------------------- # Specify the complete path of the Oracle Base. #------------------------------------------------------------------------------- ORACLE_BASE=/u01/app/oracle/product #------------------------------------------------------------------------------- # Specify the installation edition of the component. # # The value should contain only one of these choices. # - EE : Enterprise Edition # - SE2 : Standard Edition 2 #------------------------------------------------------------------------------- oracle.install.db.InstallEdition=<strong>EE</strong> ############################################################################### # # # PRIVILEGED OPERATING SYSTEM GROUPS # # ------------------------------------------ # # Provide values for the OS groups to which SYSDBA and SYSOPER privileges # # needs to be granted. If the install is being performed as a member of the # # group "dba", then that will be used unless specified otherwise below. # # # # The value to be specified for OSDBA and OSOPER group is only for UNIX based # # Operating System. # # # ############################################################################### #------------------------------------------------------------------------------ # The OSDBA_GROUP is the OS group which is to be granted SYSDBA privileges. #------------------------------------------------------------------------------- oracle.install.db.OSDBA_GROUP=oinstall #------------------------------------------------------------------------------ # The OSOPER_GROUP is the OS group which is to be granted SYSOPER privileges. # The value to be specified for OSOPER group is optional. #------------------------------------------------------------------------------ oracle.install.db.OSOPER_GROUP=oinstall #------------------------------------------------------------------------------ # The OSBACKUPDBA_GROUP is the OS group which is to be granted SYSBACKUP privileges. #------------------------------------------------------------------------------ oracle.install.db.OSBACKUPDBA_GROUP=oinstall #------------------------------------------------------------------------------ # The OSDGDBA_GROUP is the OS group which is to be granted SYSDG privileges. #------------------------------------------------------------------------------ oracle.install.db.OSDGDBA_GROUP=oinstall #------------------------------------------------------------------------------ # The OSKMDBA_GROUP is the OS group which is to be granted SYSKM privileges. #------------------------------------------------------------------------------ oracle.install.db.OSKMDBA_GROUP=oinstall #------------------------------------------------------------------------------ # The OSRACDBA_GROUP is the OS group which is to be granted SYSRAC privileges. #------------------------------------------------------------------------------ oracle.install.db.OSRACDBA_GROUP=oinstall ############################################################################### # # # Grid Options # # # ############################################################################### #------------------------------------------------------------------------------ # Specify the type of Real Application Cluster Database # # - ADMIN_MANAGED: Admin-Managed # - POLICY_MANAGED: Policy-Managed # # If left unspecified, default will be ADMIN_MANAGED #------------------------------------------------------------------------------ oracle.install.db.rac.configurationType= #------------------------------------------------------------------------------ # Value is required only if RAC database type is ADMIN_MANAGED # # Specify the cluster node names selected during the installation. # Leaving it blank will result in install on local server only (Single Instance) # # Example : oracle.install.db.CLUSTER_NODES=node1,node2 #------------------------------------------------------------------------------ oracle.install.db.CLUSTER_NODES= #------------------------------------------------------------------------------ # This variable is used to enable or disable RAC One Node install. # # - true : Value of RAC One Node service name is used. # - false : Value of RAC One Node service name is not used. # # If left blank, it will be assumed to be false. #------------------------------------------------------------------------------ oracle.install.db.isRACOneInstall= #------------------------------------------------------------------------------ # Value is required only if oracle.install.db.isRACOneInstall is true. # # Specify the name for RAC One Node Service #------------------------------------------------------------------------------ oracle.install.db.racOneServiceName= #------------------------------------------------------------------------------ # Value is required only if RAC database type is POLICY_MANAGED # # Specify a name for the new Server pool that will be configured # Example : oracle.install.db.rac.serverpoolName=pool1 #------------------------------------------------------------------------------ oracle.install.db.rac.serverpoolName= #------------------------------------------------------------------------------ # Value is required only if RAC database type is POLICY_MANAGED # # Specify a number as cardinality for the new Server pool that will be configured # Example : oracle.install.db.rac.serverpoolCardinality=2 #------------------------------------------------------------------------------ oracle.install.db.rac.serverpoolCardinality= ############################################################################### # # # Database Configuration Options # # # ############################################################################### #------------------------------------------------------------------------------- # Specify the type of database to create. # It can be one of the following: # - GENERAL_PURPOSE # - DATA_WAREHOUSE # GENERAL_PURPOSE: A starter database designed for general purpose use or transaction-heavy applications. # DATA_WAREHOUSE : A starter database optimized for data warehousing applications. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.type= #------------------------------------------------------------------------------- # Specify the Starter Database Global Database Name. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.globalDBName= #------------------------------------------------------------------------------- # Specify the Starter Database SID. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.SID= #------------------------------------------------------------------------------- # Specify whether the database should be configured as a Container database. # The value can be either "true" or "false". If left blank it will be assumed # to be "false". #------------------------------------------------------------------------------- oracle.install.db.ConfigureAsContainerDB= #------------------------------------------------------------------------------- # Specify the Pluggable Database name for the pluggable database in Container Database. #------------------------------------------------------------------------------- oracle.install.db.config.PDBName= #------------------------------------------------------------------------------- # Specify the Starter Database character set. # # One of the following # AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2, # EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257, # BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6, # AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8, # IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, # KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950, # ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258 #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.characterSet= #------------------------------------------------------------------------------ # This variable should be set to true if Automatic Memory Management # in Database is desired. # If Automatic Memory Management is not desired, and memory allocation # is to be done manually, then set it to false. #------------------------------------------------------------------------------ oracle.install.db.config.starterdb.memoryOption= #------------------------------------------------------------------------------- # Specify the total memory allocation for the database. Value(in MB) should be # at least 256 MB, and should not exceed the total physical memory available # on the system. # Example: oracle.install.db.config.starterdb.memoryLimit=512 #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.memoryLimit= #------------------------------------------------------------------------------- # This variable controls whether to load Example Schemas onto # the starter database or not. # The value can be either "true" or "false". If left blank it will be assumed # to be "false". #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.installExampleSchemas= ############################################################################### # # # Passwords can be supplied for the following four schemas in the # # starter database: # # SYS # # SYSTEM # # DBSNMP (used by Enterprise Manager) # # # # Same password can be used for all accounts (not recommended) # # or different passwords for each account can be provided (recommended) # # # ############################################################################### #------------------------------------------------------------------------------ # This variable holds the password that is to be used for all schemas in the # starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.ALL= #------------------------------------------------------------------------------- # Specify the SYS password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.SYS= #------------------------------------------------------------------------------- # Specify the SYSTEM password for the starter database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.SYSTEM= #------------------------------------------------------------------------------- # Specify the DBSNMP password for the starter database. # Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.DBSNMP= #------------------------------------------------------------------------------- # Specify the PDBADMIN password required for creation of Pluggable Database in the Container Database. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.password.PDBADMIN= #------------------------------------------------------------------------------- # Specify the management option to use for managing the database. # Options are: # 1. CLOUD_CONTROL - If you want to manage your database with Enterprise Manager Cloud Control along with Database Express. # 2. DEFAULT -If you want to manage your database using the default Database Express option. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.managementOption= #------------------------------------------------------------------------------- # Specify the OMS host to connect to Cloud Control. # Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.omsHost= #------------------------------------------------------------------------------- # Specify the OMS port to connect to Cloud Control. # Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.omsPort= #------------------------------------------------------------------------------- # Specify the EM Admin user name to use to connect to Cloud Control. # Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.emAdminUser= #------------------------------------------------------------------------------- # Specify the EM Admin password to use to connect to Cloud Control. # Applicable only when oracle.install.db.config.starterdb.managementOption=CLOUD_CONTROL #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.emAdminPassword= ############################################################################### # # # SPECIFY RECOVERY OPTIONS # # ------------------------------------ # # Recovery options for the database can be mentioned using the entries below # # # ############################################################################### #------------------------------------------------------------------------------ # This variable is to be set to false if database recovery is not required. Else # this can be set to true. #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.enableRecovery= #------------------------------------------------------------------------------- # Specify the type of storage to use for the database. # It can be one of the following: # - FILE_SYSTEM_STORAGE # - ASM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.storageType= #------------------------------------------------------------------------------- # Specify the database file location which is a directory for datafiles, control # files, redo logs. # # Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.fileSystemStorage.dataLocation= #------------------------------------------------------------------------------- # Specify the recovery location. # # Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation= #------------------------------------------------------------------------------- # Specify the existing ASM disk groups to be used for storage. # # Applicable only when oracle.install.db.config.starterdb.storageType=ASM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.asm.diskGroup= #------------------------------------------------------------------------------- # Specify the password for ASMSNMP user of the ASM instance. # # Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE #------------------------------------------------------------------------------- oracle.install.db.config.asm.ASMSNMPPassword= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username. # # Example : MYORACLESUPPORT_USERNAME=br8dba@oracle.com #------------------------------------------------------------------------------ MYORACLESUPPORT_USERNAME= #------------------------------------------------------------------------------ # Specify the My Oracle Support Account Username password. # # Example : MYORACLESUPPORT_PASSWORD=password #------------------------------------------------------------------------------ MYORACLESUPPORT_PASSWORD= #------------------------------------------------------------------------------ # Specify whether to enable the user to set the password for # My Oracle Support credentials. The value can be either true or false. # If left blank it will be assumed to be false. # # Example : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true #------------------------------------------------------------------------------ SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #------------------------------------------------------------------------------ # Specify whether user doesn't want to configure Security Updates. # The value for this variable should be true if you don't want to configure # Security Updates, false otherwise. # # The value can be either true or false. If left blank it will be assumed # to be true. # # Example : DECLINE_SECURITY_UPDATES=false #------------------------------------------------------------------------------ DECLINE_SECURITY_UPDATES=true #------------------------------------------------------------------------------ # Specify the Proxy server name. Length should be greater than zero. # # Example : PROXY_HOST=proxy.domain.com #------------------------------------------------------------------------------ PROXY_HOST= #------------------------------------------------------------------------------ # Specify the proxy port number. Should be Numeric and at least 2 chars. # # Example : PROXY_PORT=25 #------------------------------------------------------------------------------ PROXY_PORT= #------------------------------------------------------------------------------ # Specify the proxy user name. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_USER=username #------------------------------------------------------------------------------ PROXY_USER= #------------------------------------------------------------------------------ # Specify the proxy password. Leave PROXY_USER and PROXY_PWD # blank if your proxy server requires no authentication. # # Example : PROXY_PWD=password #------------------------------------------------------------------------------ PROXY_PWD= #------------------------------------------------------------------------------ # Specify the Oracle Support Hub URL. # # Example : COLLECTOR_SUPPORTHUB_URL=https://orasupporthub.company.com:8080/ #------------------------------------------------------------------------------ COLLECTOR_SUPPORTHUB_URL= [oracle@localhost response]$ |
5. Install oracle software in Silent mode
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
[oracle@localhost database]$ ./runInstaller -ignoreSysPrereqs -showProgress -silent -responseFile /u01/app/oracle/database/response/db_install.rsp Starting Oracle Universal Installer... Checking Temp space: must be greater than 500 MB. Actual 5706 MB Passed Checking swap space: must be greater than 150 MB. Actual 5837 MB Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2022-01-02_08-53-55AM. Please wait ...[oracle@localhost database]$ You can find the log of this install session at: /u01/app/oraInventory/logs/installActions2022-01-02_08-53-55AM.log Prepare in progress. .................................................. 8% Done. Prepare successful. Copy files in progress. .................................................. 17% Done. .................................................. 22% Done. .................................................. 27% Done. .................................................. 32% Done. .................................................. 40% Done. .................................................. 45% Done. .................................................. 50% Done. .................................................. 55% Done. .................................................. 60% Done. .................................................. 65% Done. .................................................. 70% Done. .................................................. 75% Done. .................................................. 80% Done. .................... Copy files successful. Link binaries in progress. .......... Link binaries successful. Setup files in progress. .............................. Setup files successful. Setup Inventory in progress. Setup Inventory successful. Finish Setup successful. The installation of Oracle Database 12c was successful. Please check '/u01/app/oraInventory/logs/silentInstall2022-01-02_08-53-55AM.log' for more details. Setup Oracle Base in progress. Setup Oracle Base successful. .................................................. 95% Done. As a root user, execute the following script(s): 1. /u01/app/oracle/product/12.2.0.1/db_1/root.sh .................................................. 100% Done. Successfully Setup Software. open another terminal as root and then execute # /u01/app/oracle/product/12.2.0.1/db_1/root.sh [root@localhost ~]# /u01/app/oracle/product/12.2.0.1/db_1/root.sh <----- Check /u01/app/oracle/product/12.2.0.1/db_1/install/root_localhost.localdomain_2022-01-02_09-08-52-116627703.log for the output of root script [root@localhost ~]# more /u01/app/oracle/product/12.2.0.1/db_1/install/root_localhost.localdomain_2022-01-02_09-08-52-116627703.log Performing root user operation. The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/12.2.0.1/db_1 Copying dbhome to /usr/local/bin ... Copying oraenv to /usr/local/bin ... Copying coraenv to /usr/local/bin ... Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Oracle Trace File Analyzer (TFA) is available at : /u01/app/oracle/product/12.2.0.1/db_1/suptools/tfa/release/tfa_home/bin/tfactl [root@localhost ~]# <strong>Once the root scripts are run as instructed, the installation is complete.</strong> |
Conclusion
Installing Oracle Database 12c on Red Hat or Oracle Linux is a crucial step in setting up a reliable and powerful database system. By following the steps outlined in this blog post, you can ensure a successful installation and get your database up and running in no time. Remember to carefully review the prerequisites, perform the necessary post-installation steps, and refer to the official Oracle documentation for any specific requirements or troubleshooting.