Wednesday, October 24, 2012

Exadata - version compare sheet

Just comparing the hardware & software performances of exadata 3 versions:

EXADATA - VERSION COMPARE SHEET
Components
V2 Full Rack
X2-2 Full Rack
X3-2 Full Rack
Database Servers
8 x Sun Fire x4170 1U
8 x Sun Fire x4170 M2 1U
8 x Sun Fire
Database CPUs
Xeon E5540 quad core 2.53GHz
Xeon X5670 six cores 2.93GHz
 Xeon® E5-2690 Processors (2.9 GHz)
Database Cores
64
96
128
Database RAM
576GB (72 GB each)
768GB (96 GB each)
1TB (128 GB each) (expandable to 256GB each)
Storage Cells
14 x SunFire X4275
14 x SunFire X4270 M2
14
Storage Cell CPUs
Xeon E5540 quad core 2.53GHz
Xeon L5640 six cores 2.26GHz
 Xeon E5-2630L six cores (2.0Ghz)
Storage Cells CPU Cores
112
168
168
IO Performance & Capacity
15K RPM 600GB SAS or 2TB SATA 7.2K RPM disks
15K RPM 600GB SAS (HP model – high performance) or 2TB/3TB SAS 7.2K RPM disks (HC model – high capacity). Note that 2TB SAS are the same old 2 or 3 TB drives with new SAS electronics.
 10,000 RPM Disks
Flash Cache
5.3TB
5.3TB
22.4TB
InfiniBand Switches
QDR 40Gbit/s wire
QDR 40Gbit/s wire
QDR 40Gbit/s wire
Database Servers OS
Oracle Linux only
Oracle Linux (possible Solaris later, still unclear)
Oracle Linux / Solaris
Maximum Data Load Rate
12TB/hour
12TB/hour
16TB/hour
Disk Data Capacity (Raw)
100 TB (HP Disks)
100 TB (HP Disks)
100 TB (HP Disks)
504 TB (HC Disks)
504 TB (HC Disks)
504 TB (HC Disks)
Disk Data Capacity (Usable)
45 TB (HP Disks)
45 TB (HP Disks)
45 TB (HP Disks)
224 TB (HC Disks)
224 TB (HC Disks)
224 TB (HC Disks)
Maximum Disk bandwidth
25 GB/s (HP Disks)
25 GB/s (HP Disks)
25 GB/s (HP Disks)
18 GB/s (HC Disks)
18 GB/s (HC Disks)
18 GB/s (HC Disks)





Regards
Saurabh

Tuesday, September 18, 2012

Add Database as a Target in Oracle Enterprise Manager 12c Cloud Control


Step 1: Just verify the added host.
image




Step 2: Enterprise Manager Home Page
image





Step 3: Database Home Page, Click “ADD”
image





Step 4: Click icon to select Host
image





Step 5: Select Host
image





Step 6: Click Continue
image





Step 7: Enter Password in “Monitor Password” textbox
image





Step 8: Click Test Connection on the top right side of the page, click “Next”
image





Step 9: Note: Set database notification methods using Metrics icon
image





Step 10: Click Save
image





Step 11: Target Configuration Results page will be displayed.
image





Step 12: Database is added as a Monitoring Target.
image





Step 13: Database Monitoring Page.
image


Bye,
Saurabh

Sunday, September 9, 2012

Location of Different Log files in Exadata Environment


I was looking at one of the Oracle DOC ID 1326382.1 two months back, I found it very useful, specially when some issue arises and we start looking at the logs and get puzzled where to look. This post is for all people working on Exadata, hope it will be helpful for you :)

On the cell nodes
================ 

1. Cell alert.log file
/opt/oracle/cell/log/diag/asm/cell/{node name}/trace/alert.logorif the CELLTRACE parameter is set just do cd $CELLTRACE

2. MS logfile
/opt/oracle/cell/log/diag/asm/cell/{node name}/trace/ms-odl.log.
orif the CELLTRACE parameter is set just do cd $CELLTRACE

3. OS watcher output data
/opt/oracle.oswatcher/osw/archive/
To get OS watcher data of specific date :
cd /opt/oracle.oswatcher/osw/archive
find . -name '*12.01.13*' -print -exec zip /tmp/osw_`hostname`.zip {} ;
where 12- year 01- Month 13-day

4. Os message logfile
/var/log/messages

5. VM Core files
/var/log/oracle/crashfiles
More details can be found in the following note:
Where / How to find OS crashcore file in Exadata Systems [Linux] (Doc ID 1389225.1)

6. SunDiag output files.
/tmp/sundiag_.tar.bz2

7. Cell patching issues related logfiles:
/var/log/cellos
The major logfile of patch application output you will find in the db node from where you are patching in the location /tmp/<cell version>/patchmgr.stdout and patchmgr.err

8. Disk controller firmware logs:
/opt/MegaRAID/MegaCli/Megacli64 -fwtermlog -dsply -a0


On the Database nodes
=====================

1. Database alert.log
$ORACLE_BASE/diag/rdbms/{DBNAME}/{sid}/trace/alert_{sid}.log
Ex: /u01/app/oracle/diag/rdbms/dbfs/DBFS2/trace/alert_DBFS2.log

2. ASM alert.log
$ORACLE_BASE/diag/asm/+asm/+ASM{instance number}/trace/ alert_+ASM {instance number}.log
Ex: /u01/app/oracle/diag/asm/+asm/+ASM2/trace/alert_+ASM2.log

3. Clusterware CRS alert.log
$GRID_HOME/log/{node name}/alert{node name}.log
Ex: /u01/app/11.2.0/grid/log/dmorldb02/alertdmorldb02.log

4. Diskmon logfiles
$GRID_HOME/log/{node name}/diskmon/diskmon.lo*
Ex: /u01/app/11.2.0/grid/log/dmorldb02/diskmon/diskmon.log

5. OS Watcher output files
/opt/oracle.oswatcher/osw/archive/
To get OS watcher data of specific date :
cd /opt/oracle.oswatcher/osw/archive
find . -name '*12.01.13*' -print -exec zip /tmp/osw_`hostname`.zip {} ;
where 12- year 01- Month 13-day

6. Os message logfile
/var/log/messages

7. VM Core files for Linux
/u01/crashfiles
More details can be found in the following note:Where / How to find OS crashcore file in Exadata Systems [Linux] (Doc ID 1389225.1)

8. Disk controller firmware logs:
/opt/MegaRAID/MegaCli/Megacli64 -fwtermlog -dsply -a0

Bye,
Saurabh


Saturday, September 8, 2012

Encrypt a single column of a table using Oracle wallet

This post is basically for all DBA who are looking a way to implement column level encryption policy in their database. I know most of the time we start looking this kind of security implementation for data confidentiality when we get an alert from Audit team to be align with information & security compliance policy of the organization. This happened to me also J

Well, I am going to implement this using Oracle wallet.

Platform Detail:
Database version: 11.2.0.3
Operating System: Linux 5.3


Step 1: created a user “Saurabh” and creating a table with an encrypted column.

Connect saurabh:

SQL> CREATE TABLE TEST_USER
(
USER VARCHAR2(10),
PWD  VARCHAR2(30)ENCRYPT,
CREATE_DATE_TIME DATE,
MOD_DATE_TIME DATE
);

CREATE TABLE TEST_USER
*
ERROR at line 1:
ORA-28365: wallet is not open

Note: We get above error message “wallet is not open” so before encrypting any column we must have a wallet created and encryption key defined.

Step 2: Connected to oracle user at command line, created a directory under “$ORACLE_BASE/admin/<SID>” folder.

$ cd $ORACLE_BASE/admin/<SID>

$ mkdir wallet

Step 3: Connected to Sys and defined encryption key for wallet.

Connect as sys:

SQL> ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY "SauPass";
System altered.

Note: Now we can see one file is created under wallet directory:

$ pwd
/u01/app/oracle/admin/orcl/wallet

$ ll
total 4
-rw-rw-r-- 1 oracle oracle 1573 Sep  6 11:02 ewallet.p12

Step 4: Connected to Saurabh user and created a table with one encrypted column.
Connect saurabh:

SQL> CREATE TABLE TEST_USER
(
USER VARCHAR2(10),
PWD  VARCHAR2(30)ENCRYPT,
CREATE_DATE_TIME DATE,
MOD_DATE_TIME DATE
);
Table created.

Step 5: Data inserted into the table.

SQL> INSERT INTO TEST_USER VALUES(‘abcde’,'xyzer’,sysdate,sysdate);
1 row created.

SQL> commit;
Commit complete.

SQL> select * from test_user;
USER    PWD                         CREATE_DA MOD_DATE_
---------- ------------------------------ --------- ---------
abcde      xyzer                          06-SEP-12 06-SEP-12
We can fetch the data and encrypted column data is appearing with no issues.

Step 6: Connect to Sys and close the wallet.
Connect as sys:

SQL> ALTER SYSTEM SET ENCRYPTION WALLET CLOSE IDENTIFIED BY "SauPass";
System altered.

Step 7: Connect to Saurabh user and fetch the table data.
Connect saurabh:

SQL> select * from test_user;
select * from test_user
              *
ERROR at line 1:
ORA-28365: wallet is not open

Note: “wallet is not open” error message appears when we try to fetch all columns data of the table but we are able to fetch the columns data other than encrypted column:

SQL> SELECT USER FROM TEST_USER;
USER
----------
abcde

SQL> SELECT PWD FROM TEST_USER;
SELECT PWD FROM TEST_USER
                   *
ERROR at line 1:
ORA-28365: wallet is not open

Step 8: Hence, once a table’s column is encrypted and we need to see the encrypted column data, the wallet must be opened. Connected to sys and opened the wallet.
Connect as sys:

SQL> ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "SauPass";
System altered.

Step 9: Connected to Saurabh user and fetch all the columns.
Connect saurabh:

SQL> select * from test_user;
USER    PWD                         CREATE_DA MOD_DATE_
---------- ------------------------------ --------- ---------
abcde      xyzer                          06-SEP-12 06-SEP-12

SQL> SELECT PWD FROM TEST_USER;
PWD
------------------------------
xyzer


Bye,
Saurabh