Oracle Database 12c New Features

Showing posts with label Multitenant. Show all posts
Showing posts with label Multitenant. Show all posts

Tablespaces in multitenancy

Note:

  • In a non-CDB, all the tablespaces belong to one database. 
  • In the CDB, one set of tablespaces belong to the root container, and each PDB has its own set of tablespaces. 
  • Common objects are created and their data stored in a tablespace in the root container. The common object is visible in the PDBs through links. 
  • There are new clauses in the CREATE DATABASE command. The USER_DATA TABLESPACE allows you to specify a default tablespace other than USERS when using DBCA to create a database. This tablespace will also be used for XDB options.
  • The UNDO tablespace is common to all PDBs, that is, you can have more than one but there is only one active UNDO tablespace per CDB.

To view the all tablespaces

SQL> SELECT tablespace_name, DECODE(pdb_name, NULL, 'ROOT',pdb_name) pdb_name
  2  FROM cdb_tablespaces t, cdb_pdbs p
  3  WHERE t.con_id = p.pdb_id(+)
  4  ORDER BY 2,1;

TABLESPACE_NAME                PDB_NAME
------------------------------ --------------------
SYSAUX                         PDB$SEED
SYSTEM                         PDB$SEED
TEMP                           PDB$SEED
SYSAUX                         PDB2
SYSTEM                         PDB2
TEMP                           PDB2
SYSAUX                         ROOT
SYSTEM                         ROOT
TEMP                           ROOT
UNDOTBS1                       ROOT
UNDOTBS2                       ROOT
USERS                          ROOT

12 rows selected.

The CREATE TABLESPACE command should be familiar. The change in its behavior in a CDB is that the tablespace is created in the container where the command is executed. Separating the data files into different directories by PDB can help determine which files belong to which PDB, though it is not necessary but it is good from administration perspective.

Create tablespace at CDB

SQL> connect system/oracle@cdb
Connected.
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> CREATE TABLESPACE cdb_tbs
  2  DATAFILE '+DATA/ora12c/cdb_tbs01.dbf'
  3  SIZE 5M;

Tablespace created.

Create tablespace at PDB

SQL> connect system/oracle@pdb2
Connected.

SQL> show con_name
CON_NAME
------------------------------
PDB2
SQL> CREATE TABLESPACE pdb2_tbs
  2  DATAFILE '+DATA/pdb2/pdb2_tbs01.dbf'
  3  SIZE 5M;

Tablespace created.

Tablespaces in multitenancy

Note:

  • In a non-CDB, all the tablespaces belong to one database. 
  • In the CDB, one set of tablespaces belong to the root container, and each PDB has its own set of tablespaces. 
  • Common objects are created and their data stored in a tablespace in the root container. The common object is visible in the PDBs through links. 
  • There are new clauses in the CREATE DATABASE command. The USER_DATA TABLESPACE allows you to specify a default tablespace other than USERS when using DBCA to create a database. This tablespace will also be used for XDB options.
  • The UNDO tablespace is common to all PDBs, that is, you can have more than one but there is only one active UNDO tablespace per CDB.

To view the all tablespaces

SQL> SELECT tablespace_name, DECODE(pdb_name, NULL, 'ROOT',pdb_name) pdb_name
  2  FROM cdb_tablespaces t, cdb_pdbs p
  3  WHERE t.con_id = p.pdb_id(+)
  4  ORDER BY 2,1;

TABLESPACE_NAME                PDB_NAME
------------------------------ --------------------
SYSAUX                         PDB$SEED
SYSTEM                         PDB$SEED
TEMP                           PDB$SEED
SYSAUX                         PDB2
SYSTEM                         PDB2
TEMP                           PDB2
SYSAUX                         ROOT
SYSTEM                         ROOT
TEMP                           ROOT
UNDOTBS1                       ROOT
UNDOTBS2                       ROOT
USERS                          ROOT

12 rows selected.

The CREATE TABLESPACE command should be familiar. The change in its behavior in a CDB is that the tablespace is created in the container where the command is executed. Separating the data files into different directories by PDB can help determine which files belong to which PDB, though it is not necessary but it is good from administration perspective.

Create tablespace at CDB

SQL> connect system/oracle@cdb
Connected.
SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> CREATE TABLESPACE cdb_tbs
  2  DATAFILE '+DATA/ora12c/cdb_tbs01.dbf'
  3  SIZE 5M;

Tablespace created.

Create tablespace at PDB

SQL> connect system/oracle@pdb2
Connected.

SQL> show con_name
CON_NAME
------------------------------
PDB2
SQL> CREATE TABLESPACE pdb2_tbs
  2  DATAFILE '+DATA/pdb2/pdb2_tbs01.dbf'
  3  SIZE 5M;

Tablespace created.

Using glogin.sql to have friendly and nice SQLPLUS multitenancy environment

When we are working at multitenancy it is good to have glogin configured to show container info. I am having following glogin.sql.

You can find the glogin.sql file in $ORACLE_HOME/sqlplus/admin


column id_plus_exp format 990 heading i
column parent_id_plus_exp format 990 heading p
column plan_plus_exp format a60
column object_node_plus_exp format a8
column other_tag_plus_exp format a29
column other_plus_exp format a44
define _editor=notepad
--define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr(global_name, 1,
decode( dot, 0,
length(global_name), dot-1)
) || '->'|| host_name global_name
from (select global_name, instr(global_name,'.') dot from global_name)
,v$instance;
set sqlprompt '&gname> '
set termout on

For unix or linux you need to change the define_editor
define_editor=notepad

to
define_editor=vi
The sample like following

C:\>sqlplus system/oracle@pdb2

SQL*Plus: Release 12.1.0.1.0 Production on Tue Dec 17 15:40:38 2013

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Last Successful login time: Tue Dec 17 2013 15:32:59 +08:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

system@PDB2->ora12cn1>

Using glogin.sql to have friendly and nice SQLPLUS multitenancy environment

When we are working at multitenancy it is good to have glogin configured to show container info. I am having following glogin.sql.

You can find the glogin.sql file in $ORACLE_HOME/sqlplus/admin


column id_plus_exp format 990 heading i
column parent_id_plus_exp format 990 heading p
column plan_plus_exp format a60
column object_node_plus_exp format a8
column other_tag_plus_exp format a29
column other_plus_exp format a44
define _editor=notepad
--define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr(global_name, 1,
decode( dot, 0,
length(global_name), dot-1)
) || '->'|| host_name global_name
from (select global_name, instr(global_name,'.') dot from global_name)
,v$instance;
set sqlprompt '&gname> '
set termout on

For unix or linux you need to change the define_editor
define_editor=notepad

to
define_editor=vi
The sample like following

C:\>sqlplus system/oracle@pdb2

SQL*Plus: Release 12.1.0.1.0 Production on Tue Dec 17 15:40:38 2013

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Last Successful login time: Tue Dec 17 2013 15:32:59 +08:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

system@PDB2->ora12cn1>

Connect To Oracle 12c CDB In RAC Environment

DB Name = ora12c
Instance Name = ora12c_1 (node 1) and ora12c_2 (node 2)

To connect to the multitenant container database ora12c instrance ora12c_1.
Execute . oraenv to switch to the appropriate system variable (ORACLE_SID and ORACLE_HOME) or you can set it manually.
[oracle@ora12cn1 ~]$ . oraenv
ORACLE_SID = [ora12c_1] ? ora12c_1
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@ora12cn1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 21 14:48:40 2013
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL>
SQL> 


Check if the database is a multitenant container database.

SQL> SELECT db.name "DB Name", i.instance_name "Instance Name", db.cdb, i.con_id
  2  FROM gv$database db, gv$instance i
  3  WHERE i.inst_id = db.inst_id;

DB Name   Instance Name    CDB   CON_ID
--------- ---------------- --- ----------
ORA12C    ora12c_1         YES 0


Extracted from Oracle 12c Document, CON_ID = 0 mean CDB. 

About Viewing Information When the Current Container Is the Root

When the current container is the root, a common user can view data dictionary information for the root and for PDBs by querying container data objects. A container data object is a table or view that can contain data pertaining to the following:
  • One or more containers
  • The CDB as a whole
  • One or more containers and the CDB as a whole
Container data objects include V$GV$CDB_, and some Automatic Workload Repository DBA_HIST* views. A common user's CONTAINER_DATA attribute determines which PDBs are visible in container data objects.
In a CDB, for every DBA_ view, there is a corresponding CDB_ view. All CDB_ views are container data objects, but most DBA_ views are not.
Each container data object contains a CON_ID column that identifies the container for each row returned. Table 43-1 describes the meanings of the values in the CON_ID column.

Table 43-1 CON_ID Column in Container Data Objects
Value in CON_ID ColumnDescription
0
The data pertains to the entire CDB
1
The data pertains to the root
2
The data pertains to the seed
3 - 254
The data pertains to a PDB
Each PDB has its own container ID.

Connect To Oracle 12c CDB In RAC Environment

DB Name = ora12c
Instance Name = ora12c_1 (node 1) and ora12c_2 (node 2)

To connect to the multitenant container database ora12c instrance ora12c_1.
Execute . oraenv to switch to the appropriate system variable (ORACLE_SID and ORACLE_HOME) or you can set it manually.
[oracle@ora12cn1 ~]$ . oraenv
ORACLE_SID = [ora12c_1] ? ora12c_1
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@ora12cn1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.1.0 Production on Thu Nov 21 14:48:40 2013
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Advanced Analytics and Real Application Testing options

SQL>
SQL> 


Check if the database is a multitenant container database.

SQL> SELECT db.name "DB Name", i.instance_name "Instance Name", db.cdb, i.con_id
  2  FROM gv$database db, gv$instance i
  3  WHERE i.inst_id = db.inst_id;

DB Name   Instance Name    CDB   CON_ID
--------- ---------------- --- ----------
ORA12C    ora12c_1         YES 0


Extracted from Oracle 12c Document, CON_ID = 0 mean CDB. 

About Viewing Information When the Current Container Is the Root

When the current container is the root, a common user can view data dictionary information for the root and for PDBs by querying container data objects. A container data object is a table or view that can contain data pertaining to the following:
  • One or more containers
  • The CDB as a whole
  • One or more containers and the CDB as a whole
Container data objects include V$GV$CDB_, and some Automatic Workload Repository DBA_HIST* views. A common user's CONTAINER_DATA attribute determines which PDBs are visible in container data objects.
In a CDB, for every DBA_ view, there is a corresponding CDB_ view. All CDB_ views are container data objects, but most DBA_ views are not.
Each container data object contains a CON_ID column that identifies the container for each row returned. Table 43-1 describes the meanings of the values in the CON_ID column.

Table 43-1 CON_ID Column in Container Data Objects
Value in CON_ID ColumnDescription
0
The data pertains to the entire CDB
1
The data pertains to the root
2
The data pertains to the seed
3 - 254
The data pertains to a PDB
Each PDB has its own container ID.

Explore 12c CDB Background Processes

To explore the ora12c instance within 12c 2-nodes RAC node 1, the background processes and the multitenant container database.
[oracle@ora12cn1 db_1]$ ps -ef |grep ora12c
oracle    3248     1  0 Nov20 ?        00:00:01 ora_pmon_ora12c_1
oracle    3250     1  0 Nov20 ?        00:00:01 ora_psp0_ora12c_1
oracle    3274     1  5 Nov20 ?        00:03:44 ora_vktm_ora12c_1
oracle    3278     1  0 Nov20 ?        00:00:01 ora_gen0_ora12c_1
oracle    3280     1  0 Nov20 ?        00:00:01 ora_mman_ora12c_1
oracle    3284     1  0 Nov20 ?        00:00:06 ora_diag_ora12c_1
oracle    3286     1  0 Nov20 ?        00:00:00 ora_dbrm_ora12c_1
oracle    3288     1  0 Nov20 ?        00:00:00 ora_ping_ora12c_1
oracle    3290     1  0 Nov20 ?        00:00:00 ora_acms_ora12c_1
oracle    3292     1  0 Nov20 ?        00:00:13 ora_dia0_ora12c_1
oracle    3294     1  0 Nov20 ?        00:00:10 ora_lmon_ora12c_1
oracle    3296     1  0 Nov20 ?        00:00:09 ora_lmd0_ora12c_1
oracle    3298     1  0 Nov20 ?        00:00:22 ora_lms0_ora12c_1
oracle    3302     1  0 Nov20 ?        00:00:00 ora_rms0_ora12c_1
oracle    3304     1  0 Nov20 ?        00:00:02 ora_lmhb_ora12c_1
oracle    3306     1  0 Nov20 ?        00:00:22 ora_lck1_ora12c_1
oracle    3309     1  0 Nov20 ?        00:00:02 ora_dbw0_ora12c_1
oracle    3311     1  0 Nov20 ?        00:00:05 ora_lgwr_ora12c_1
oracle    3313     1  0 Nov20 ?        00:00:03 ora_ckpt_ora12c_1
oracle    3315     1  0 Nov20 ?        00:00:00 ora_smon_ora12c_1
oracle    3317     1  0 Nov20 ?        00:00:00 ora_reco_ora12c_1
oracle    3319     1  0 Nov20 ?        00:00:00 ora_lreg_ora12c_1
oracle    3321     1  0 Nov20 ?        00:00:00 ora_rbal_ora12c_1
oracle    3323     1  0 Nov20 ?        00:00:00 ora_asmb_ora12c_1
oracle    3325     1  0 Nov20 ?        00:00:00 ora_gcr0_ora12c_1
oracle    3327     1  0 Nov20 ?        00:00:16 ora_mmon_ora12c_1
grid      3329     1  0 Nov20 ?        00:00:00 oracle+ASM1_asmb_ora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    3331     1  0 Nov20 ?        00:00:04 ora_mmnl_ora12c_1
oracle    3333     1  0 Nov20 ?        00:00:00 ora_d000_ora12c_1
oracle    3335     1  0 Nov20 ?        00:00:00 ora_s000_ora12c_1
oracle    3339     1  0 Nov20 ?        00:00:00 ora_mark_ora12c_1
oracle    3343     1  0 Nov20 ?        00:00:03 ora_lck0_ora12c_1
oracle    3353     1  0 Nov20 ?        00:00:00 ora_rsmn_ora12c_1
oracle    3463     1  0 Nov20 ?        00:00:00 ora_arc0_ora12c_1
oracle    3476     1  0 Nov20 ?        00:00:00 ora_arc1_ora12c_1
oracle    3478     1  0 Nov20 ?        00:00:00 ora_arc2_ora12c_1
oracle    3480     1  0 Nov20 ?        00:00:00 ora_arc3_ora12c_1
oracle    3489     1  0 Nov20 ?        00:00:00 ora_tmon_ora12c_1
oracle    3491     1  0 Nov20 ?        00:00:00 ora_tt00_ora12c_1
oracle    3525     1  0 Nov20 ?        00:00:00 ora_smco_ora12c_1
oracle    3545     1  0 Nov20 ?        00:00:00 ora_w000_ora12c_1
oracle    3732     1  0 Nov20 ?        00:00:00 ora_gtx0_ora12c_1
oracle    3734     1  0 Nov20 ?        00:00:00 ora_rcbg_ora12c_1
oracle    3750     1  0 Nov20 ?        00:00:00 ora_aqpc_ora12c_1
oracle    3782     1  0 Nov20 ?        00:00:00 ora_qm02_ora12c_1
oracle    3788     1  0 Nov20 ?        00:00:00 ora_q001_ora12c_1
oracle    3790     1  0 Nov20 ?        00:00:00 ora_qm05_ora12c_1
oracle    3792     1  0 Nov20 ?        00:00:00 ora_q003_ora12c_1
oracle    3794     1  0 Nov20 ?        00:00:00 ora_qm03_ora12c_1
oracle    3799     1  0 Nov20 ?        00:00:32 ora_p000_ora12c_1
oracle    3802     1  1 Nov20 ?        00:00:45 ora_p001_ora12c_1
oracle    3804     1  0 Nov20 ?        00:00:04 ora_p002_ora12c_1
oracle    3806     1  0 Nov20 ?        00:00:07 ora_p003_ora12c_1
oracle    4338     1  0 Nov20 ?        00:00:13 ora_cjq0_ora12c_1
oracle    4341     1  0 Nov20 ?        00:00:04 oracleora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    4424     1  0 Nov20 ?        00:00:00 ora_w001_ora12c_1
oracle    4436     1  0 Nov20 ?        00:00:00 oracleora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    5301     1  0 Nov20 ?        00:00:10 ora_vkrm_ora12c_1
oracle    7252     1  0 Nov20 ?        00:00:00 ora_w002_ora12c_1
oracle    7537     1  0 Nov20 ?        00:00:00 ora_w003_ora12c_1
oracle    7885     1  0 Nov20 ?        00:00:00 ora_w004_ora12c_1
oracle    8424     1  0 Nov20 ?        00:00:00 ora_w005_ora12c_1
oracle   10394     1  0 00:30 ?        00:00:00 ora_o000_ora12c_1
grid     10396     1  0 00:30 ?        00:00:00 oracle+ASM1_o000_ora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   10679     1  0 00:35 ?        00:00:00 ora_j000_ora12c_1
oracle   10681     1  0 00:35 ?        00:00:00 ora_j001_ora12c_1
oracle   10688 10200  0 00:35 pts/0    00:00:00 grep ora12c

Explore 12c CDB Background Processes

To explore the ora12c instance within 12c 2-nodes RAC node 1, the background processes and the multitenant container database.
[oracle@ora12cn1 db_1]$ ps -ef |grep ora12c
oracle    3248     1  0 Nov20 ?        00:00:01 ora_pmon_ora12c_1
oracle    3250     1  0 Nov20 ?        00:00:01 ora_psp0_ora12c_1
oracle    3274     1  5 Nov20 ?        00:03:44 ora_vktm_ora12c_1
oracle    3278     1  0 Nov20 ?        00:00:01 ora_gen0_ora12c_1
oracle    3280     1  0 Nov20 ?        00:00:01 ora_mman_ora12c_1
oracle    3284     1  0 Nov20 ?        00:00:06 ora_diag_ora12c_1
oracle    3286     1  0 Nov20 ?        00:00:00 ora_dbrm_ora12c_1
oracle    3288     1  0 Nov20 ?        00:00:00 ora_ping_ora12c_1
oracle    3290     1  0 Nov20 ?        00:00:00 ora_acms_ora12c_1
oracle    3292     1  0 Nov20 ?        00:00:13 ora_dia0_ora12c_1
oracle    3294     1  0 Nov20 ?        00:00:10 ora_lmon_ora12c_1
oracle    3296     1  0 Nov20 ?        00:00:09 ora_lmd0_ora12c_1
oracle    3298     1  0 Nov20 ?        00:00:22 ora_lms0_ora12c_1
oracle    3302     1  0 Nov20 ?        00:00:00 ora_rms0_ora12c_1
oracle    3304     1  0 Nov20 ?        00:00:02 ora_lmhb_ora12c_1
oracle    3306     1  0 Nov20 ?        00:00:22 ora_lck1_ora12c_1
oracle    3309     1  0 Nov20 ?        00:00:02 ora_dbw0_ora12c_1
oracle    3311     1  0 Nov20 ?        00:00:05 ora_lgwr_ora12c_1
oracle    3313     1  0 Nov20 ?        00:00:03 ora_ckpt_ora12c_1
oracle    3315     1  0 Nov20 ?        00:00:00 ora_smon_ora12c_1
oracle    3317     1  0 Nov20 ?        00:00:00 ora_reco_ora12c_1
oracle    3319     1  0 Nov20 ?        00:00:00 ora_lreg_ora12c_1
oracle    3321     1  0 Nov20 ?        00:00:00 ora_rbal_ora12c_1
oracle    3323     1  0 Nov20 ?        00:00:00 ora_asmb_ora12c_1
oracle    3325     1  0 Nov20 ?        00:00:00 ora_gcr0_ora12c_1
oracle    3327     1  0 Nov20 ?        00:00:16 ora_mmon_ora12c_1
grid      3329     1  0 Nov20 ?        00:00:00 oracle+ASM1_asmb_ora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    3331     1  0 Nov20 ?        00:00:04 ora_mmnl_ora12c_1
oracle    3333     1  0 Nov20 ?        00:00:00 ora_d000_ora12c_1
oracle    3335     1  0 Nov20 ?        00:00:00 ora_s000_ora12c_1
oracle    3339     1  0 Nov20 ?        00:00:00 ora_mark_ora12c_1
oracle    3343     1  0 Nov20 ?        00:00:03 ora_lck0_ora12c_1
oracle    3353     1  0 Nov20 ?        00:00:00 ora_rsmn_ora12c_1
oracle    3463     1  0 Nov20 ?        00:00:00 ora_arc0_ora12c_1
oracle    3476     1  0 Nov20 ?        00:00:00 ora_arc1_ora12c_1
oracle    3478     1  0 Nov20 ?        00:00:00 ora_arc2_ora12c_1
oracle    3480     1  0 Nov20 ?        00:00:00 ora_arc3_ora12c_1
oracle    3489     1  0 Nov20 ?        00:00:00 ora_tmon_ora12c_1
oracle    3491     1  0 Nov20 ?        00:00:00 ora_tt00_ora12c_1
oracle    3525     1  0 Nov20 ?        00:00:00 ora_smco_ora12c_1
oracle    3545     1  0 Nov20 ?        00:00:00 ora_w000_ora12c_1
oracle    3732     1  0 Nov20 ?        00:00:00 ora_gtx0_ora12c_1
oracle    3734     1  0 Nov20 ?        00:00:00 ora_rcbg_ora12c_1
oracle    3750     1  0 Nov20 ?        00:00:00 ora_aqpc_ora12c_1
oracle    3782     1  0 Nov20 ?        00:00:00 ora_qm02_ora12c_1
oracle    3788     1  0 Nov20 ?        00:00:00 ora_q001_ora12c_1
oracle    3790     1  0 Nov20 ?        00:00:00 ora_qm05_ora12c_1
oracle    3792     1  0 Nov20 ?        00:00:00 ora_q003_ora12c_1
oracle    3794     1  0 Nov20 ?        00:00:00 ora_qm03_ora12c_1
oracle    3799     1  0 Nov20 ?        00:00:32 ora_p000_ora12c_1
oracle    3802     1  1 Nov20 ?        00:00:45 ora_p001_ora12c_1
oracle    3804     1  0 Nov20 ?        00:00:04 ora_p002_ora12c_1
oracle    3806     1  0 Nov20 ?        00:00:07 ora_p003_ora12c_1
oracle    4338     1  0 Nov20 ?        00:00:13 ora_cjq0_ora12c_1
oracle    4341     1  0 Nov20 ?        00:00:04 oracleora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    4424     1  0 Nov20 ?        00:00:00 ora_w001_ora12c_1
oracle    4436     1  0 Nov20 ?        00:00:00 oracleora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle    5301     1  0 Nov20 ?        00:00:10 ora_vkrm_ora12c_1
oracle    7252     1  0 Nov20 ?        00:00:00 ora_w002_ora12c_1
oracle    7537     1  0 Nov20 ?        00:00:00 ora_w003_ora12c_1
oracle    7885     1  0 Nov20 ?        00:00:00 ora_w004_ora12c_1
oracle    8424     1  0 Nov20 ?        00:00:00 ora_w005_ora12c_1
oracle   10394     1  0 00:30 ?        00:00:00 ora_o000_ora12c_1
grid     10396     1  0 00:30 ?        00:00:00 oracle+ASM1_o000_ora12c_1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle   10679     1  0 00:35 ?        00:00:00 ora_j000_ora12c_1
oracle   10681     1  0 00:35 ?        00:00:00 ora_j001_ora12c_1
oracle   10688 10200  0 00:35 pts/0    00:00:00 grep ora12c