Difference between revisions of "Oracle Data Appliance (ODA)"
From dbawiki
| Line 3: | Line 3: | ||
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 /> | ||
| − | + | ===Useful commands=== | |
| + | ====Create a database==== | ||
<pre> | <pre> | ||
| − | + | oakcli create database -d <database name> | |
| + | e.g. | ||
| + | oakcli create database -d prod | ||
| + | </pre> | ||
| + | ====Create a new ORACLE_HOME==== | ||
| + | For upgrades, create a new ORACLE_HOME like this | ||
| + | <pre> | ||
| + | create dbhome -version <RDBMS version> | ||
| + | e.g. | ||
| + | create dbhome -version 12.1.0.2.9 | ||
| + | </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> | </pre> | ||
| − | + | ====Upgrade all databases from a given ORACLE_HOME to new version==== | |
<pre> | <pre> | ||
| − | oakcli | + | oakcli upgrade database -from <source home name> -to <destination home name> |
| + | e.g. | ||
| + | oakcli upgrade database -from 11r1_dbhome1 -to 11r2_dbhome1 | ||
</pre> | </pre> | ||
===Useful queries=== | ===Useful queries=== | ||
Revision as of 09:32, 15 December 2016
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 2 sets of storage (magnetic disk or SSD) 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
Useful commands
Create a database
oakcli create database -d <database name> e.g. oakcli create database -d prod
Create a new ORACLE_HOME
For upgrades, create a new ORACLE_HOME like this
create dbhome -version <RDBMS version> e.g. create dbhome -version 12.1.0.2.9
Upgrade 1 database to new version
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
oakcli upgrade database -from <source home name> -to <destination home name> e.g. oakcli upgrade database -from 11r1_dbhome1 -to 11r2_dbhome1
Useful queries
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
/