Difference between revisions of "Oracle Data Appliance (ODA)"
| (36 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | Oracle Database Appliance (ODA) is a rack mounted "all-in-one" box supplied by Oracle. It contains 2 nodes, 2 networks, 2 power supplies and | + | Oracle Database Appliance (ODA) is a rack mounted "all-in-one" box supplied by Oracle. It contains 2 nodes, 2 networks, 2 power supplies and 1 or 2 storage (magnetic disk or SSD) units accessible to both nodes.<br /> |
| − | The 2 nodes talk to each other and to storage across an internal 40Gb/s | + | The 2 nodes talk to each other and to storage across an internal 40Gb/s InfiniBand network.<br /> |
It can be virtualised or bare-metal. You can setup single instance databases, RAC-One (active-passive) or RAC (active-active) databases.<br /> | It can be virtualised or bare-metal. You can setup single instance databases, RAC-One (active-passive) or RAC (active-active) databases.<br /> | ||
A whole new set of commands is used to interact with ODA - oakcli.<br /> | A whole new set of commands is used to interact with ODA - oakcli.<br /> | ||
| − | + | * [https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=1417713.2 Oracle Database Appliance Information Centre] | |
| + | <br /> | ||
| + | ===Patching Oracle Database Appliance (ODA)=== | ||
| + | * [[Patching Oracle Database Appliance (ODA)]] | ||
| + | ===Useful commands=== | ||
| + | * [http://n23haveyoursay.blogspot.be/2015/12/oda-basic-commands-list.html oda basic commands list (and concise patch instructions)] | ||
| + | ====Is your ODA installation bare-metal or does it have a virtualised image installed?==== | ||
| + | If virtual, the following command will show 'VM-...' followed by the hardware model used. | ||
<pre> | <pre> | ||
| − | + | oakcli show env_hw | |
</pre> | </pre> | ||
| − | + | gives... | |
| + | <pre> | ||
| + | VM-ODA_BASE ODA X4-2 | ||
| + | </pre> | ||
| + | |||
| + | ====Show server status==== | ||
| + | Shows server details such as power consumption, temperature and ILOM IP address | ||
| + | <pre> | ||
| + | oakcli show server | ||
| + | </pre> | ||
| + | ====How many processors are currently allocated to ODA?==== | ||
| + | Also shows total number of available CPUs | ||
| + | <pre> | ||
| + | oakcli show cpupool -node 0 | ||
| + | </pre> | ||
| + | |||
| + | ====Show installed ORACLE_HOMES==== | ||
| + | <pre> | ||
| + | oakcli show dbhomes | ||
| + | </pre> | ||
| + | ====Show installed databases==== | ||
| + | <pre> | ||
| + | oakcli show databases | ||
| + | </pre> | ||
| + | <pre> | ||
| + | Name Type Storage HomeName HomeLocation Version | ||
| + | ----- ------ -------- -------------- ---------------- ---------- | ||
| + | ANT5O RAC OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | PRJESS2 RAC ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | DEVOTASO SINGLE OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | CHA5O RAC OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | TSTEV3ST SINGLE ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | OEMREP RAC ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) | ||
| + | </pre> | ||
| + | |||
| + | ====Deploy virtualised platform on ODA==== | ||
| + | This will probably be a one-off per system! | ||
| + | <pre> | ||
| + | oakcli deploy | ||
| + | </pre> | ||
| + | ====See history of installed patches==== | ||
| + | <pre> | ||
| + | oakcli inventory -q | ||
| + | </pre> | ||
| + | ====Clean out old patches==== | ||
| + | Reference: Metalink [https://support.oracle.com/epmos/faces/DocumentDisplay?id=1681062.1 Note: 1681062.1]<br /> | ||
| + | Does not affect the inventory listing.<br /> | ||
| + | <pre> | ||
| + | cd /opt/oracle/oak/pkgrepos | ||
| + | du -hsx . | ||
| + | 16G . | ||
| + | </pre> | ||
| + | e.g. This cleans out old logs and patch files up to version 2.5.0.0.0 (probably in /opt/oracle/oak/pkgrepos) | ||
| + | <pre> | ||
| + | oakcli manage cleanrepo --ver 2.5.0.0.0 | ||
| + | </pre> | ||
| + | |||
| + | ====ODA (Oracle Database Appliance): Cleanup trace and log files Using purgeODALog Tool (Doc ID 2081655.1)==== | ||
| + | Use this tool to clean out general ODA log files. Available in [https://support.oracle.com/epmos/faces/DocumentDisplay?id=2081655.1 this note]<br /> | ||
| + | Specify a general cleanup or individual components | ||
| + | <pre> | ||
| + | Usage: | ||
| + | purgeODALog [ -days <days> ] | ||
| + | [ -orcl <days> ] | [ -tfa <days> ] | | ||
| + | [ -osw <days> ] | [ -oak <days> ] | | ||
| + | [ -extra '<folder>':<days> | [, '<folder>':<days>] ] | ||
| + | [ -lsnr ] | ||
| + | [ -dryrun ] | ||
| + | |||
| + | purgeODALog OPTIONS | ||
| + | -days <days> Purge components logs & traces older then # days | ||
| + | -orcl <days> Purge only GI/RDBMS logs & traces (Default 30 days) | ||
| + | -tfa <days> Purge only TFA repository older then # days (Default 30 days) | ||
| + | -osw <days> Purge only OSW archives older then # days (Default 30 days) | ||
| + | -oak <days> Purge only OAK logs and trace older then # days (Default 30 days) | ||
| + | -extra '<folder>':<days> Purge only files in user specified folders (Default 30 days) | ||
| + | -lsnr It will force the cleanup of listeners log independently by the age | ||
| + | -dryrun It will show the purge commands w/o execute them | ||
| + | -h Display this help and exit | ||
| + | |||
| + | Example: | ||
| + | purgeODALog | ||
| + | purgeODALog -days 20 | ||
| + | purgeODALog -orcl 50 | ||
| + | purgeODALog -orcl 50 -lsnr | ||
| + | purgeODALog -tfa 50 | ||
| + | purgeODALog -osw 20 -oak 10 | ||
| + | purgeODALog -orcl 20 -osw 20 -oak 10 | ||
| + | purgeODALog -orcl 20 -osw 20 -oak 10 -extra /tmp:10,/var/log:20 | ||
| + | </pre> | ||
| + | |||
| + | ====Deploy ODA_BASE on ODA==== | ||
| + | <pre> | ||
| + | oakcli deploy oda_base | ||
| + | </pre> | ||
| + | |||
| + | ====Create a database==== | ||
<pre> | <pre> | ||
oakcli create database -d <database name> | oakcli create database -d <database name> | ||
| + | e.g. | ||
| + | oakcli create database -d prod | ||
</pre> | </pre> | ||
| + | ====Create a new ORACLE_HOME==== | ||
| + | For upgrades etc., you can create a new ORACLE_HOME like this | ||
| + | <pre> | ||
| + | create dbhome -version <RDBMS version> | ||
| + | e.g. | ||
| + | create dbhome -version 12.1.0.2 | ||
| + | </pre> | ||
| + | |||
| + | ====Upgrade 1 database to new version==== | ||
| + | <pre> | ||
| + | oakcli upgrade database -db <dbname> -to <destination home name> | ||
| + | e.g. | ||
| + | oakcli upgrade database -db prod -to 11r2_dbhome1 | ||
| + | </pre> | ||
| + | ====Upgrade all databases from a given ORACLE_HOME to new version==== | ||
| + | <pre> | ||
| + | oakcli upgrade database -from <source home name> -to <destination home name> | ||
| + | e.g. | ||
| + | oakcli upgrade database -from 11r1_dbhome1 -to 11r2_dbhome1 | ||
| + | </pre> | ||
| + | ====Show the available virtual machines==== | ||
| + | <pre> | ||
| + | oakcli show vm | ||
| + | </pre> | ||
| + | ====Configure a virtual machine to start on a particular cluster node==== | ||
| + | <pre> | ||
| + | oakcli configure vm sdtcsynodadb3a -failover true -prefnode 0 | ||
| + | </pre> | ||
| + | ====Start a virtual machine==== | ||
| + | <pre> | ||
| + | oakcli start vm sdtcsynodadb3a | ||
| + | </pre> | ||
| + | |||
===Useful queries=== | ===Useful queries=== | ||
As seen on [https://www.pythian.com/blog/oracle-database-12c-patching-dbms_qopatch-opatch_xml_inv-and-datapatch/ Pythian] | As seen on [https://www.pythian.com/blog/oracle-database-12c-patching-dbms_qopatch-opatch_xml_inv-and-datapatch/ Pythian] | ||
| Line 94: | Line 232: | ||
| + | </pre> | ||
| + | ===Package up useful diagnostic data when opening an SR at Oracle=== | ||
| + | <pre> | ||
| + | oakcli manage diagcollect | ||
| + | </pre> | ||
| + | ===Health check a RAC system on ODA=== | ||
| + | * [https://support.oracle.com/epmos/faces/DocContentDisplay?id=1268927.2 Metalink note 1268927.2] | ||
| + | <pre> | ||
| + | oakcli orachk -h | ||
</pre> | </pre> | ||
Latest revision as of 11:34, 6 February 2017
Oracle Database Appliance (ODA) is a rack mounted "all-in-one" box supplied by Oracle. It contains 2 nodes, 2 networks, 2 power supplies and 1 or 2 storage (magnetic disk or SSD) units accessible to both nodes.
The 2 nodes talk to each other and to storage across an internal 40Gb/s InfiniBand network.
It can be virtualised or bare-metal. You can setup single instance databases, RAC-One (active-passive) or RAC (active-active) databases.
A whole new set of commands is used to interact with ODA - oakcli.
Contents
- 1 Patching Oracle Database Appliance (ODA)
- 2 Useful commands
- 2.1 Is your ODA installation bare-metal or does it have a virtualised image installed?
- 2.2 Show server status
- 2.3 How many processors are currently allocated to ODA?
- 2.4 Show installed ORACLE_HOMES
- 2.5 Show installed databases
- 2.6 Deploy virtualised platform on ODA
- 2.7 See history of installed patches
- 2.8 Clean out old patches
- 2.9 ODA (Oracle Database Appliance): Cleanup trace and log files Using purgeODALog Tool (Doc ID 2081655.1)
- 2.10 Deploy ODA_BASE on ODA
- 2.11 Create a database
- 2.12 Create a new ORACLE_HOME
- 2.13 Upgrade 1 database to new version
- 2.14 Upgrade all databases from a given ORACLE_HOME to new version
- 2.15 Show the available virtual machines
- 2.16 Configure a virtual machine to start on a particular cluster node
- 2.17 Start a virtual machine
- 3 Useful queries
- 4 Package up useful diagnostic data when opening an SR at Oracle
- 5 Health check a RAC system on ODA
Patching Oracle Database Appliance (ODA)[edit]
Useful commands[edit]
Is your ODA installation bare-metal or does it have a virtualised image installed?[edit]
If virtual, the following command will show 'VM-...' followed by the hardware model used.
oakcli show env_hw
gives...
VM-ODA_BASE ODA X4-2
Show server status[edit]
Shows server details such as power consumption, temperature and ILOM IP address
oakcli show server
How many processors are currently allocated to ODA?[edit]
Also shows total number of available CPUs
oakcli show cpupool -node 0
Show installed ORACLE_HOMES[edit]
oakcli show dbhomes
Show installed databases[edit]
oakcli show databases
Name Type Storage HomeName HomeLocation Version ----- ------ -------- -------------- ---------------- ---------- ANT5O RAC OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) PRJESS2 RAC ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) DEVOTASO SINGLE OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) CHA5O RAC OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) TSTEV3ST SINGLE ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344) OEMREP RAC ASM OraDb12102_home1 /u01/app/oracle/product/12.1.0.2/dbhome_1 12.1.0.2.160419(22291127,21948344)
Deploy virtualised platform on ODA[edit]
This will probably be a one-off per system!
oakcli deploy
See history of installed patches[edit]
oakcli inventory -q
Clean out old patches[edit]
Reference: Metalink Note: 1681062.1
Does not affect the inventory listing.
cd /opt/oracle/oak/pkgrepos du -hsx . 16G .
e.g. This cleans out old logs and patch files up to version 2.5.0.0.0 (probably in /opt/oracle/oak/pkgrepos)
oakcli manage cleanrepo --ver 2.5.0.0.0
ODA (Oracle Database Appliance): Cleanup trace and log files Using purgeODALog Tool (Doc ID 2081655.1)[edit]
Use this tool to clean out general ODA log files. Available in this note
Specify a general cleanup or individual components
Usage:
purgeODALog [ -days <days> ]
[ -orcl <days> ] | [ -tfa <days> ] |
[ -osw <days> ] | [ -oak <days> ] |
[ -extra '<folder>':<days> | [, '<folder>':<days>] ]
[ -lsnr ]
[ -dryrun ]
purgeODALog OPTIONS
-days <days> Purge components logs & traces older then # days
-orcl <days> Purge only GI/RDBMS logs & traces (Default 30 days)
-tfa <days> Purge only TFA repository older then # days (Default 30 days)
-osw <days> Purge only OSW archives older then # days (Default 30 days)
-oak <days> Purge only OAK logs and trace older then # days (Default 30 days)
-extra '<folder>':<days> Purge only files in user specified folders (Default 30 days)
-lsnr It will force the cleanup of listeners log independently by the age
-dryrun It will show the purge commands w/o execute them
-h Display this help and exit
Example:
purgeODALog
purgeODALog -days 20
purgeODALog -orcl 50
purgeODALog -orcl 50 -lsnr
purgeODALog -tfa 50
purgeODALog -osw 20 -oak 10
purgeODALog -orcl 20 -osw 20 -oak 10
purgeODALog -orcl 20 -osw 20 -oak 10 -extra /tmp:10,/var/log:20
Deploy ODA_BASE on ODA[edit]
oakcli deploy oda_base
Create a database[edit]
oakcli create database -d <database name> e.g. oakcli create database -d prod
Create a new ORACLE_HOME[edit]
For upgrades etc., you can create a new ORACLE_HOME like this
create dbhome -version <RDBMS version> e.g. create dbhome -version 12.1.0.2
Upgrade 1 database to new version[edit]
oakcli upgrade database -db <dbname> -to <destination home name> e.g. oakcli upgrade database -db prod -to 11r2_dbhome1
Upgrade all databases from a given ORACLE_HOME to new version[edit]
oakcli upgrade database -from <source home name> -to <destination home name> e.g. oakcli upgrade database -from 11r1_dbhome1 -to 11r2_dbhome1
Show the available virtual machines[edit]
oakcli show vm
Configure a virtual machine to start on a particular cluster node[edit]
oakcli configure vm sdtcsynodadb3a -failover true -prefnode 0
Start a virtual machine[edit]
oakcli start vm sdtcsynodadb3a
Useful queries[edit]
As seen on Pythian
prompt ------------------------------------------
prompt Patches applied to both the $OH and the DB
prompt ------------------------------------------
with a as (select dbms_qopatch.get_opatch_lsinventory patch_output from dual)
select x.patch_id
, x.patch_uid
, x.rollbackable
, s.status
, x.description
from a
, xmltable('InventoryInstance/patches/*'
passing a.patch_output
columns
patch_id number path 'patchID',
patch_uid number path 'uniquePatchID',
description varchar2(80) path 'patchDescription',
rollbackable varchar2(8) path 'rollbackable'
) x
, dba_registry_sqlpatch s
where x.patch_id = s.patch_id
and x.patch_uid = s.patch_uid
-- and s.bundle_series = 'PSU'
/
prompt --------------------------------------------------------
prompt Patches installed into the $OH but not applied to the DB
prompt --------------------------------------------------------
with a as (select dbms_qopatch.get_opatch_lsinventory patch_output from dual)
select x.patch_id
, x.patch_uid
, x.description
from a
, xmltable('InventoryInstance/patches/*'
passing a.patch_output
columns
patch_id number path 'patchID',
patch_uid number path 'uniquePatchID',
description varchar2(80) path 'patchDescription'
) x
minus
select s.patch_id
, s.patch_uid
, s.description
from dba_registry_sqlpatch s
/
prompt --------------------------------------------------------
prompt Patches applied to the DB but not installed into the $OH
prompt --------------------------------------------------------
with a as (select dbms_qopatch.get_opatch_lsinventory patch_output from dual)
select s.patch_id
, s.patch_uid
, s.description
from dba_registry_sqlpatch s
minus
select x.patch_id
, x.patch_uid
, x.description
from a
, xmltable('InventoryInstance/patches/*'
passing a.patch_output
columns
patch_id number path 'patchID',
patch_uid number path 'uniquePatchID',
description varchar2(80) path 'patchDescription'
) x
/
Package up useful diagnostic data when opening an SR at Oracle[edit]
oakcli manage diagcollect
Health check a RAC system on ODA[edit]
oakcli orachk -h