วันพุธที่ 29 เมษายน พ.ศ. 2558

Drop Database ด้วย RMAN

เราสามารถลบ Database ได้อย่างสมบูรณ์โดยใช้ RMAN ได้และยังสามารถลบ Backup files ที่เกี่ยวข้องได้อีกด้วย
ตัวอย่าง :
1.สั่ง shutdown database ก่อน
[oracle@econdb01 ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Thu Apr 30 12:48:16 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ESPFP1 (DBID=3625069492)

RMAN> shutdown immediate

using target database control file instead of recovery catalog
database closed
database dismounted
Oracle instance shut down

2.startup mount ขึ้นมา
RMAN> startup mount

connected to target database (not started)
Oracle instance started
database mounted

Total System Global Area   41688973312 bytes

Fixed Size                     2262328 bytes
Variable Size               4831840968 bytes
Database Buffers           36775657472 bytes

Redo Buffers                  79212544 bytes

3.ปรับโหมดเป็น Restrict
RMAN> sql 'alter system enable restricted session';


sql statement: alter system enable restricted session

4.ทำการ Drop database และใส่ including backups เป็น optional
RMAN> drop database including backups;

database name is "ESPFP1" and DBID is 3625069492

Do you really want to drop all backups and the database (enter YES or NO)? yes

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2270 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=2522 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=2774 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=2 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=254 device type=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: SID=507 device type=DISK
allocated channel: ORA_DISK_7
channel ORA_DISK_7: SID=760 device type=DISK
allocated channel: ORA_DISK_8
channel ORA_DISK_8: SID=1011 device type=DISK

List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
5052    4976    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7brs_.bkp
5056    4977    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzr3rsm_.bkp
5066    4978    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7dgk_.bkp
5045    4979    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7m6s_.bkp
5042    4979    2   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzs3hpp_.bkp
5063    4980    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7f6v_.bkp
5058    4980    2   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzsdprs_.bkp
5043    4981    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl8g_.bkp
5065    4982    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl6y_.bkp
5061    4983    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl5d_.bkp
5050    4984    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl9v_.bkp
5057    4985    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztqvkk_.bkp
5049    4986    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztszf4_.bkp
5059    4987    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztv2ss_.bkp
5046    4988    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzttksk_.bkp
5051    4989    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv4owh_.bkp
5062    4990    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6qcl_.bkp
5054    4991    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6t6j_.bkp
5055    4992    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6gj2_.bkp
5053    4993    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmj73_.bkp
5044    4994    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmkq1_.bkp
5064    4995    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvkzo5_.bkp
5060    4996    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmgo2_.bkp
5047    4997    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_nnsnf_SPFILE_ESPFP1_bmzvw06z_.bkp
5048    4998    1   1   AVAILABLE   DISK        /home/oracle/2015_04_29/o1_mf_ncnnf_CT_ESPFP1_bmzvw2kt_.bkp
5067    4999    1   1   AVAILABLE   DISK        /dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878322466_bn1dk2h7_.bkp
5068    5000    1   1   AVAILABLE   DISK        /dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878323118_bn1f5g67_.bkp
5069    5001    1   1   AVAILABLE   DISK        /dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878323641_bn1fosdj_.bkp
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7brs_.bkp RECID=5052 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzr3rsm_.bkp RECID=5056 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7dgk_.bkp RECID=5066 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7m6s_.bkp RECID=5045 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzs3hpp_.bkp RECID=5042 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzp7f6v_.bkp RECID=5063 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnndf_DB_ESPFP1_bmzsdprs_.bkp RECID=5058 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl8g_.bkp RECID=5043 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl6y_.bkp RECID=5065 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl5d_.bkp RECID=5061 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztgl9v_.bkp RECID=5050 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztqvkk_.bkp RECID=5057 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztszf4_.bkp RECID=5049 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmztv2ss_.bkp RECID=5059 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzttksk_.bkp RECID=5046 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv4owh_.bkp RECID=5051 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6qcl_.bkp RECID=5062 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6t6j_.bkp RECID=5054 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzv6gj2_.bkp RECID=5055 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmj73_.bkp RECID=5053 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmkq1_.bkp RECID=5044 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvkzo5_.bkp RECID=5064 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_annnn_ESPFP1_bmzvmgo2_.bkp RECID=5060 STAMP=878316185
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_nnsnf_SPFILE_ESPFP1_bmzvw06z_.bkp RECID=5047 STAMP=878316184
deleted backup piece
backup piece handle=/home/oracle/2015_04_29/o1_mf_ncnnf_CT_ESPFP1_bmzvw2kt_.bkp RECID=5048 STAMP=878316184
deleted backup piece
backup piece handle=/dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878322466_bn1dk2h7_.bkp RECID=5067 STAMP=878322466
deleted backup piece
backup piece handle=/dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878323118_bn1f5g67_.bkp RECID=5068 STAMP=878323118
deleted backup piece
backup piece handle=/dbserv/ESPFP01/oracle/FRA/ESPFP1/autobackup/2015_04_29/o1_mf_s_878323641_bn1fosdj_.bkp RECID=5069 STAMP=878323641
Deleted 28 objects


released channel: ORA_DISK_1
released channel: ORA_DISK_2
released channel: ORA_DISK_3
released channel: ORA_DISK_4
released channel: ORA_DISK_5
released channel: ORA_DISK_6
released channel: ORA_DISK_7
released channel: ORA_DISK_8
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2270 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=2522 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=2774 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=2 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=254 device type=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: SID=507 device type=DISK
allocated channel: ORA_DISK_7
channel ORA_DISK_7: SID=760 device type=DISK
allocated channel: ORA_DISK_8
channel ORA_DISK_8: SID=1011 device type=DISK
specification does not match any datafile copy in the repository
specification does not match any control file copy in the repository
specification does not match any control file copy in the repository
List of Archived Log Copies for database with db_unique_name ESPFP1
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - ---------
194310  1    1       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_1_bn1dk8yp_.arc

194311  1    2       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_2_bn1dkkz0_.arc

194312  1    3       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_3_bn1dknbo_.arc

194313  1    4       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_4_bn1dkqj2_.arc

194314  1    5       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_5_bn1dky66_.arc

194315  1    6       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_6_bn1dl40z_.arc

194316  1    7       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_7_bn1dl77t_.arc

194317  1    8       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_8_bn1dlc0o_.arc

194318  1    9       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_9_bn1dlg18_.arc

194319  1    10      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_10_bn1dlk5l_.arc

194320  1    11      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_11_bn1dlnnb_.arc

194321  1    12      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_12_bn1dlqsk_.arc

194322  1    13      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_13_bn1dlv1h_.arc

194323  1    14      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_14_bn1dlycr_.arc

194324  1    15      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_15_bn1dm4b8_.arc

194325  1    16      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_16_bn1dm7qm_.arc

194326  1    17      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_17_bn1dmbwc_.arc

194327  1    18      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_18_bn1dmgfc_.arc

194328  1    19      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_19_bn1dmkv4_.arc

194329  1    20      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_20_bn1dn1pw_.arc

194330  1    21      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_21_bn1dn60c_.arc

194331  1    22      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_22_bn1dn952_.arc

194332  1    23      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_23_bn1dnf6q_.arc

194333  1    24      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_24_bn1dnjt0_.arc

194334  1    25      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_25_bn1dnpp6_.arc

194335  1    26      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_26_bn1dnwsn_.arc

194336  1    27      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_27_bn1do3t8_.arc

194337  1    28      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_28_bn1dob51_.arc

194338  1    29      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_29_bn1dojcr_.arc

194339  1    30      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_30_bn1doprl_.arc

194340  1    31      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_31_bn1dox9f_.arc

194341  1    32      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_32_bn1dp3pg_.arc

194342  1    33      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_33_bn1dp9sm_.arc

194343  1    34      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_34_bn1dpjbf_.arc

194344  1    35      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_35_bn1dppfz_.arc

194345  1    36      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_36_bn1dpwxz_.arc

194346  1    37      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_37_bn1dq327_.arc

194347  1    38      A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_38_bn1f58vv_.arc

194348  1    1       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_1_bn1f9dn1_.arc

194349  1    2       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_2_bn1rzghc_.arc

194350  1    3       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_3_bn1rztgx_.arc

194351  1    4       A 29-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_4_bn28scwv_.arc

194352  1    5       A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_5_bn28yg16_.arc

194353  1    6       A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_6_bn290j2n_.arc

194354  1    7       A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_7_bn296j6d_.arc

194355  1    8       A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_8_bn29hwfy_.arc

194356  1    9       A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_9_bn2dvkgm_.arc

194357  1    10      A 30-APR-15
        Name: /dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_10_bn35kwsw_.arc

deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_1_bn1dk8yp_.arc RECID=194310 STAMP=878322473
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_2_bn1dkkz0_.arc RECID=194311 STAMP=878322482
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_3_bn1dknbo_.arc RECID=194312 STAMP=878322484
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_4_bn1dkqj2_.arc RECID=194313 STAMP=878322487
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_5_bn1dky66_.arc RECID=194314 STAMP=878322494
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_6_bn1dl40z_.arc RECID=194315 STAMP=878322500
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_7_bn1dl77t_.arc RECID=194316 STAMP=878322503
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_8_bn1dlc0o_.arc RECID=194317 STAMP=878322507
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_9_bn1dlg18_.arc RECID=194318 STAMP=878322510
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_10_bn1dlk5l_.arc RECID=194319 STAMP=878322513
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_11_bn1dlnnb_.arc RECID=194320 STAMP=878322516
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_12_bn1dlqsk_.arc RECID=194321 STAMP=878322520
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_13_bn1dlv1h_.arc RECID=194322 STAMP=878322523
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_14_bn1dlycr_.arc RECID=194323 STAMP=878322526
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_15_bn1dm4b8_.arc RECID=194324 STAMP=878322532
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_16_bn1dm7qm_.arc RECID=194325 STAMP=878322535
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_17_bn1dmbwc_.arc RECID=194326 STAMP=878322539
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_18_bn1dmgfc_.arc RECID=194327 STAMP=878322542
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_19_bn1dmkv4_.arc RECID=194328 STAMP=878322546
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_20_bn1dn1pw_.arc RECID=194329 STAMP=878322561
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_21_bn1dn60c_.arc RECID=194330 STAMP=878322566
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_22_bn1dn952_.arc RECID=194331 STAMP=878322569
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_23_bn1dnf6q_.arc RECID=194332 STAMP=878322573
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_24_bn1dnjt0_.arc RECID=194333 STAMP=878322576
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_25_bn1dnpp6_.arc RECID=194334 STAMP=878322582
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_26_bn1dnwsn_.arc RECID=194335 STAMP=878322589
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_27_bn1do3t8_.arc RECID=194336 STAMP=878322596
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_28_bn1dob51_.arc RECID=194337 STAMP=878322602
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_29_bn1dojcr_.arc RECID=194338 STAMP=878322608
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_30_bn1doprl_.arc RECID=194339 STAMP=878322614
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_31_bn1dox9f_.arc RECID=194340 STAMP=878322621
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_32_bn1dp3pg_.arc RECID=194341 STAMP=878322627
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_33_bn1dp9sm_.arc RECID=194342 STAMP=878322634
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_34_bn1dpjbf_.arc RECID=194343 STAMP=878322640
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_35_bn1dppfz_.arc RECID=194344 STAMP=878322646
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_36_bn1dpwxz_.arc RECID=194345 STAMP=878322653
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_37_bn1dq327_.arc RECID=194346 STAMP=878322659
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_38_bn1f58vv_.arc RECID=194347 STAMP=878323113
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_1_bn1f9dn1_.arc RECID=194348 STAMP=878323244
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_2_bn1rzghc_.arc RECID=194349 STAMP=878335214
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_29/o1_mf_1_3_bn1rztgx_.arc RECID=194350 STAMP=878335226
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_4_bn28scwv_.arc RECID=194351 STAMP=878351403
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_5_bn28yg16_.arc RECID=194352 STAMP=878351566
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_6_bn290j2n_.arc RECID=194353 STAMP=878351632
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_7_bn296j6d_.arc RECID=194354 STAMP=878351824
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_8_bn29hwfy_.arc RECID=194355 STAMP=878352124
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_9_bn2dvkgm_.arc RECID=194356 STAMP=878355569
deleted archived log
archived log file name=/dbserv/ESPFP01/oracle/FRA/ESPFP1/archivelog/2015_04_30/o1_mf_1_10_bn35kwsw_.arc RECID=194357 STAMP=878380860
Deleted 48 objects


database name is "ESPFP1" and DBID is 3625069492
database dropped


RMAN>


เสร็จแล้ววว

วันจันทร์ที่ 20 เมษายน พ.ศ. 2558

กู้ Tablespace ที่ถูก drop ด้วย Flashback Database

เราสามารถกู้ความผิดพลาดในการ drop tablespace ได้ด้วย flashback database ตามนี้

SQL> alter database flashback on;

Database altered.

SQL> alter database open;

Database altered.

SQL> create tablespace kitti_tbs datafile '/u01/app/oracle/oradata/ORACLE/kitti01.dbf' size 10m;

Tablespace created.

SQL> create table kitti_tbl (id number) tablespace kitti_tbs;

Table created.

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     471727

SQL> drop tablespace kitti_tbs including contents and datafiles;

Tablespace dropped.

SQL> shutdown immediate

SQL> startup mount

SQL> flashback database to scn 471727;

Flashback complete.

--ขั้นตอนนี้ต้องเช็ค datafile ก่อนเพราะมันจะสร้างมาให้ในชื่อแปลกๆ

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORACLE/system01.dbf
/u01/app/oracle/oradata/ORACLE/sysaux01.dbf
/u01/app/oracle/oradata/ORACLE/undotbs01.dbf
/u01/app/oracle/oradata/ORACLE/users01.dbf
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00005      <---- ชื่อแปลกๆที่มันสร้างมาให้

--สร้างใหม่ไปไว้ path เดิมโดยลอกไฟล์ที่มันสร้างมาให้

SQL> alter database create datafile '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00005' as '/u01/app/oracle/oradata/ORACLE/kitti01.dbf';

Database altered.

--สั่งให้ datafile online

SQL> alter tablespace kitti_tbs datafile online;

Tablespace altered.

--Flashback ซ้ำเข้าไปอีกที

SQL> flashback database to scn 471727;


Flashback complete.

--เปิด database ด้วย resetlogs option

SQL> alter database open resetlogs;


Database altered.

--ลอง query ดู tablespace

SQL> select name from v$tablespace;

NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

KITTI_TBS   <---ได้ tablespace กลับคืนมาแล้ว

--ลอง query ดู table ของเรา

SQL> select * from kitti_tbl;


no rows selected

ได้ table กลับคืนมาแล้ว

วันพฤหัสบดีที่ 9 เมษายน พ.ศ. 2558

ติดตั้ง Oracle 12c RAC บน Oracle Linux 6.5 โดยใช้ VirtualBox

ในที่นี้จะสมมุติว่าได้ติดตั้ง Virtual Box และ Oracle Linux แล้ว

เตรียมความพร้อมก่อนการติดตั้ง
RAM ทั้ง 2 เครื่องรวมกันควรเท่ากับหรือมากกว่า 9 GB
Disk ทั้ง 2 ควรแบ่งให้ local เครื่องละ 30GB ขึ้นไป
Prepare Network
1.เซต Network 3 ตัว
ตัวแรกเซตเป็น NAT


ตัวที่สองเซตเป็น Internal Network

ตัวที่สามเซตเป็น Host-only Adapter

2. เซต Host-only Network เพื่อใช้เป็น Public Network ของ RAC
  • Start VirtualBox จากเมนู.
  • เลือก "File > Preferences"
  • คลิก "Network" ตรงแถบด้านซ้ายแล้วเลือกแท็บ "Host-only Networks"
  • คลิก "Add host-only network (Ins)" ที่ปุ่ม + สีเขียวด้านขวา Network ชื่อ "VirtualBox Host-Only Ethernet Adapter" จะถูกสร้างขึ้นมา
คลิกขวาแล้วแก้ไขเราสามารถดูได้ว่า IP , Subnet ของ VirtualBox Host-only Network ถูกตั้งเป็นอะไรเราสามารถแก้ไขได้แต่ไม่ควรแก้ Subnet ให้ตรงกับ Subnet ที่เครื่องเราใช้จริง จากในตัวอย่างใช้ IP 192.168.172.1

3.เซต Network adapter ใน Linux
จากตัวอย่างเซตแบบนี้
  • hostname: kitti-rac1.localdomain
  • eth0: DHCP (Connect Automatically)
  • eth1: IP=172.16.172.101, Subnet=255.255.0.0, Gateway=0.0.0.0, DNS=<blank> Search=<blank> (Connect Automatically)
  • eth2: IP=192.168.172.101, Subnet=255.255.255.0, Gateway=<blank>, DNS=192.168.172.101,192.168.172.102 Search=localdomain (Connect Automatically)

4.แก้ไฟล์ /etc/hosts
127.0.0.1       localhost.localdomain   localhost
# Public
192.168.172.101   kitti-rac1.localdomain        kitti-rac1
192.168.172.102   kitti-rac2.localdomain        kitti-rac2
# Private
172.16.172.101   kitti-rac1-priv.localdomain   kitti-rac1-priv
172.16.172.102   kitti-rac2-priv.localdomain   kitti-rac2-priv
# Virtual
192.168.172.103   kitti-rac1-vip.localdomain    kitti-rac1-vip
192.168.172.104   kitti-rac2-vip.localdomain    kitti-rac2-vip
# SCAN
192.168.172.105   kitti-scan.localdomain   kitti-scan
192.168.172.106   kitti-scan.localdomain   kitti-scan
192.168.172.107   kitti-scan.localdomain   kitti-scan

5.ติดตั้ง dnsmasq เพื่อใช้ dns
# yum install dnsmasq
แก้ไฟล์ /etc/resolv.conf
search localdomain
nameserver 192.168.172.101
nameserver 192.168.172.102

*เพื่อป้องกัน /etc/resolv.conf ถูกเขียนทับโดย Network Manager เพราะเราเซต eth0 เป็น NAT เราจึงต้องทำการแก้ไฟล์ "/etc/sysconfig/network-scripts/ifcfg-eth0" โดยปรับ ONBOOT=no หลังจากนั้นลอง reboot เครื่อง

ลองสั่ง start service
# service dnsmasq stop
# service dnsmasq start

ลองสั่ง nslookup
# nslookup kitti-scan
Server: 192.168.172.1
Address: 192.168.172.1#53

Name: kitti-scan.localdomain
Address: 192.168.56.105
Name: kitti-scan.localdomain
Address: 192.168.56.106
Name: kitti-scan.localdomain
Address: 192.168.56.107

แก้ไฟล์ /etc/dnsmasq.conf โดยปรับ
local=/localdomain/

Prepare OS
1.แก้ไขไฟล์ "/etc/security/limits.d/90-nproc.conf" เพื่อแก้ปัญหา MOS Note [ID 1487773.1]
# แก้จาก
*          soft    nproc    1024

# เป็น
*           -       nproc    16384

2. Disable SElinux "/etc/selinux/config"
SELINUX=disabled

3.ปิดไฟวอ
service iptables stop
chkconfig iptables off

4.Disable Network Time Protocal (NTP) เพื่อเราจะได้ใช้ Oracle Cluster Time Synchronization Service (ctssd) เพื่อให้มันซิงค์วันที่และเวลาระหว่างทุกเครื่องใน RAC
service ntpd stop
chkconfig ntpd off

5.สร้าง Directories เพื่อเก็บ Software
mkdir -p  /u01/app/12.1.0.2/grid
mkdir -p /u01/app/oracle/product/12.1.0.2
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

6.Login user เป็น oracle แล้วใส่ใน .bash_profile
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=kitti-rac1.localdomain
export ORACLE_UNQNAME=KITTIRAC
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/12.1.0.2/grid
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2
export ORACLE_SID=KITTIRAC1
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

7. Reboot เครื่อง 1 ทีพอเสร็จแล้วให้กด Devices > Install Guest Additions CD image...

8.เพิ่ม user oracle เข้าไปใน "vboxsf" group เพื่อให้มัน access เข้า shared drives ได้
# usermod -G vboxsf,dba oracle
# id oracle

uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(vboxsf)

9.สร้าง Shared Folder เพื่อสามารถเก็บไฟล์ต่างๆให้แชร์กันระหว่าง Host กับ Guest ได้โดยคลิกไปที่ Devices > Shared Folders Settings... คลิกสร้างทางด้านขวาแล้วเลือกให้เป็น Auto-mount กับ Make Permanent




Prepare Storage
1.สร้าง Shared Disks
ปิดเครื่องก่อน init 0
แล้วแอด harddisk เพิ่มเข้าไปตามต้องการโดยปรับให้เป็นแบบ Fixed Size

2.เข้าไปที่  File > Virtual Media Manager... แล้วปรับให้ disk ที่เพิ่มเข้ามาใหม่เป็นประเภท Shareable

3.เปิดเครื่อง kitti-rac1 ขึ้นมาแล้วเข้าไปที่ user root เพื่อ config disks
disks ปัจจุบันเราสามารถเห็นได้จาก 
ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdc  /dev/sdd

4.ใช้คำสั่ง fdisk เพื่อแบ่ง partition โดยในตัวอย่างจะแบ่งของ sdb จนถึง sdd

# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x54f59eed.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n  
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): 
Using default value 652

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

5.ตั้งค่า UDEV rules
สำหรับการใช้ Oracle ASM เพื่อใช้ Disks มันต้องสามารถระบุ devices และพวกมันต้องมี ownership และ permissions ที่ถูกต้องในที่นี้เราจะใช้ UDEV rules

   5.1 แก้ไฟล์ถ้าไม่มีก็สร้าง /etc/scsi_id.config เพื่อ configure SCSI devices as trusted
         ใส่ไปตามนี้
          options=-g
   5.2 ดู SCSI_ID ของ shared disks ที่เราสร้างไว้
         # /sbin/scsi_id -g -u -d /dev/sdb
         1ATA_VBOX_HARDDISK_VBbd305c02-710a78b1
         # /sbin/scsi_id -g -u -d /dev/sdc
         1ATA_VBOX_HARDDISK_VB8db6505e-93acf98c
         # /sbin/scsi_id -g -u -d /dev/sdd
         1ATA_VBOX_HARDDISK_VBe47fab34-ff1b89f2
    5.3 เอาค่าที่ได้ไปใส่ในไฟล์ /etc/udev/rules.d/99-oracle-asmdevices.rules แล้วกำหนด owner กับ permissions
KERNEL=="sdb1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBbd305c02-710a78b1",
  NAME="asm1", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB8db6505e-93acf98c",
  NAME="asm2", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sdd1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBe47fab34-ff1b89f2",
  NAME="asm3", OWNER="oracle", GROUP="oinstall", MODE="0660"
    5.4 โหลด updated block device partition tables.
    # /sbin/partprobe /dev/sdb1
    # /sbin/partprobe /dev/sdc1
    # /sbin/partprobe /dev/sdd1
    5.5 เทส rules ว่าทำงานตามที่ต้องการไหม
    /sbin/udevadm test /block/sdb/sdb1
    /sbin/udevadm test /block/sdc/sdc1
    /sbin/udevadm test /block/sdd/sdd1
    5.6 Reload UDEV rules และ start UDEV
    # /sbin/udevadm control --reload-rules
    # /sbin/start_udev
    5.7 Disks ควรเห็นได้จากคำสั่งตามด้านล่างนี้ ถ้าเกิดไม่เห็นแสดงว่าเราปรับ UDEV ผิดต้องแก้ไขก่อน

Clone Server
1.ปิดเครื่อง kitti-rac1
เมื่ออยู่หน้า VirtualBox Manager ให้คลิกขวาที่เครื่องของเราแล้วเลือก Clone...

2.ตั้งชื่อใหม่จาก oel-rac1 เป็น oel-rac2 และติ๊กถูกที่ Reinitialize the MAC address of all network cards

3.เลือก Full Clone

4.เมื่อ Clone เสร็จก็เปิดเครื่อง oel-rac2 แล้วแก้ config ต่างๆโดยเซต Network ตามด้านล่าง
  • hostname: kitti-rac2.localdomain
  • eth0: DHCP (Connect Automatically)
  • eth1: IP=172.16.172.102, Subnet=255.255.0.0, Gateway=0.0.0.0, DNS=<blank> Search=<blank> (Connect Automatically)
  • eth2: IP=192.168.172.102, Subnet=255.255.255.0, Gateway=<blank>, DNS=192.168.172.101,192.168.172.102 Search=localdomain (Connect Automatically)
5.แก้ชื่อ Hostname ที่ไฟล์ /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=ol6-121-rac2.localdomain



6.แก้ MAC Address ของ eth0 , eth1 , eth2 ให้ตรงกับ Network Adapter ของมัน

แก้ที่ไฟล์ /etc/sysconfig/network-scripts/ifcfg-eth0 , /etc/sysconfig/network-scripts/ifcfg-eth1 , /etc/sysconfig/network-scripts/ifcfg-eth2

ที่ "HWADDR=..."
โดยดูจาก
เช่น 
HWADDR=08:00:27:F1:66:6A

ทำให้ครบทั้ง 3 Adapter

*ตรวจสอบที่ /etc/sysconfig/network-scripts/ifcfg-eth0 ด้วยว่า ONBOOT=no หรือไม่ถ้าเป็น yes ให้ปรับเป็น no

7.แก้ /home/oracle/.bash_profile
export ORACLE_SID=KITTIRAC2
export ORACLE_HOSTNAME=kitti-rac2.localdomain

8.Restart kitti-rac2 server และ start kitti-rac1 ด้วย

9.ลอง ping ทดสอบดูว่าทั้ง public และ private ip สามารถใช้ได้หรือไม่
ping kitti-rac1
ping kitti-rac1-priv
ping kitti-rac2
ping kitti-rac2-priv

10.เช็ค SCAN ว่ายังสามารถ resolved ทั้งสอง node หรือไม่
# nslookup kitti-scan
Server:         192.168.172.101
Address:        192.168.172.101#53

Name:   kitti-scan.localdomain
Address: 192.168.172.107
Name:   kitti-scan.localdomain
Address: 192.168.172.105
Name:   kitti-scan.localdomain
Address: 192.168.172.106

*ตอนนี้อย่าพึ่ง ping virtual ip เพราะตอนนี้มันยังใช้ไม่ได้

11.ปิดเครื่อง kitti-rac2 แล้วทำการแอด shared disk เข้าไปโดยเลือก Add Harddisk แล้วเลือก Choose existing disk

12.เช็คที่เครื่อง kitti-rac2 โดยสั่ง ls -l /dev/asm* ถ้าไม่ขึ้นตามนี้ให้ลอง config udev rules ใหม่ตามวิธีก่อนหน้า (ตั้งแต่ OEL 6.3 ขึ้นไปน่าจะขึ้นหมดไม่มีปัญหา)
# ls -l /dev/asm*
brw-rw---- 1 oracle oinstall 8, 17 Apr  8 10:24 /dev/asm1
brw-rw---- 1 oracle oinstall 8, 33 Apr  8 10:24 /dev/asm2
brw-rw---- 1 oracle oinstall 8, 49 Apr  8 10:24 /dev/asm3

Install the Grid Infrastructure
1.เปิดเครื่องขึ้นมาทั้ง 2 เครื่องแล้วติดตั้ง rpm นี้ไว้ทั้ง 2 เครื่อง
# cd /media/sf_Oracle12c/grid/rpm
# rpm -Uvh cvuqdisk*

2.Login ไปที่ user oracle ของเครื่อง kitti-rac1 แล้วสั่ง
$ cd /media/sf_Oracle12c/grid
$ ./runInstaller

3.เลือก "Install and Configure Oracle Grid Infrastructure for a Cluster" แล้วคลิก Next

4.เลือก "Configure a Standard Cluster" แล้วคลิก Next

5.เลือก "Typical Installation" แล้วคลิก Next

6.ตั้งชื่อ SCAN ให้ตรงหลังจากนั้นคลิก Add...

7.ใส่ค่าลอง node kitti-rac2 ลงไป

8.คลิก "SSH Connectivity..." ใส่ password ของ oracle user อีกเครื่องนึงให้ถูกต้องจากนั้นกด Setup แล้วคลิก Next

9.เช็ค public และ private network ว่าถูกต้อง ถ้าหากมี interface ที่เป็น NAT อยู่ด้วยให้เลือกเป็น Do Not Use

10.ใส่ "/u01/app/12.1.0.2/grid" ลงไปใน Software Location แล้วเลือก Cluster Registry Storage Type เป็น Oracle Automatic Storage Management


11.ปรับ Redundancy เป็น "External" แล้วคลิก Change Discovery Path... ใส่ค่าเป็น "/dev/asm*" จะขึ้น disks available มาแสดง

12.เลือก default inventory directory แล้วคลิก Next

13.ถ้าเรามี root scripts ให้รันอัตโนมัติ แต่แนะนำให้ทำ Manual ดีกว่า คลิก Next

14.รอซักพักจน Prerequisite checks เสร็จถ้ามีปัญหาใดๆให้ลองกด "Fix & Check Again" ถ้าสามารถแก้ไขได้แล้วยังมีปัญหาอีกหากไม่มีผลกระทบอะไรสามารถกด Ignore All แล้วคลิก Next

15.ตรวจสอบ summary ให้เรียบร้อยหากไม่มีอะไรผิดพลาดสามารถคลิก Install เพื่อเริ่มการติดตั้งได้เลย

16.รอ...

17.รันสคริปต์ด้วย root ทั้ง 2 node

18.หลังจากรันสคริปต์หมดก็รออีกซักพักก็จะเสร็จสมบูรณ์

   Check status of the installation
# crsctl status res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       kitti-rac1               STABLE
               ONLINE  ONLINE       kitti-rac2               STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       kitti-rac1               STABLE
               ONLINE  ONLINE       kitti-rac2               STABLE
ora.asm
               ONLINE  ONLINE       kitti-rac1               Started,STABLE
               ONLINE  ONLINE       kitti-rac2               Started,STABLE
ora.net1.network
               ONLINE  ONLINE       kitti-rac1               STABLE
               ONLINE  ONLINE       kitti-rac2               STABLE
ora.ons
               ONLINE  ONLINE       kitti-rac1               STABLE
               ONLINE  ONLINE       kitti-rac2               STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       kitti-rac2               STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       kitti-rac1               169.254.199.72 172.1
                                                             6.172.101,STABLE
ora.cvu
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.kitti-rac1.vip
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.kitti-rac2.vip
      1        ONLINE  ONLINE       kitti-rac2               STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       kitti-rac1               Open,STABLE
ora.oc4j
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       kitti-rac2               STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       kitti-rac1               STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       kitti-rac1               STABLE
--------------------------------------------------------------------------------

Install the Database Software
1.เช็คให้แน่ใจว่าทั้ง 2 เครื่องเปิดอยู่

2.Login ไปที่ user oracle ของเครื่อง kitti-rac1 แล้วสั่ง
$ cd /media/sf_Oracle12c/database
$ ./runInstaller

3.เอาติ๊กถูกที่ Security Update ออกแล้วคลิก Next (จะมีข้อความเตือนให้คลิก OK)

4.ติ๊กเลือก Install database software only แล้วคลิก Next

5.ติ๊กเลือก Oracle Real Application Clusters database installation แล้วคลิก Next

6.ติ๊กเลือก nodes ที่เราต้องการทำเป็น RAC แล้วคลิก Next

7.เลือกภาษาที่ต้องการแล้วคลิก Next

8.ติ๊ก Enterprise Edition แล้วคลิก Next

9.ใส่ /u01/app/oracle เป็น Oracle Base และ /u01/app/oracle/product/12.1.0.2 เป็น Software Location
หลังจากนั้นคลิก Next

10.เลือก OS Group ที่ต้องการหลังจากนั้นคลิก Next

11.รอ prerequisite check จนเสร็จถ้าหากมีปัญหาใดๆให้ลองกด "Fix & Check Again" หรือติ๊ก "Ignore All" แล้วคลิก Next

12.ตรวจสอบ summary ให้เรียบร้อยหากไม่มีอะไรผิดพลาดสามารถคลิก Install เพื่อเริ่มการติดตั้งได้เลย


13.รอ...

14.รันสคริปต์ด้วย root ทั้ง 2 node
15.เสร็จสิ้น...

Create Database
1.เช็คให้แน่ใจว่าทั้ง 2 เครื่องเปิดอยู่

2.Login ไปที่ user oracle ของเครื่อง kitti-rac1 แล้วสั่ง
$ dbca

3.เลือก Create Database แล้วคลิก Next

4.เลือกโหมดการสร้างตามต้องการแล้วคลิก Next

5.รอ prerequisite check จนเสร็จถ้าหากมีปัญหาใดๆให้แก้ไขก่อนหรือจะ "Ignore All" แล้วคลิก Next

6.ตรวจสอบ summary ให้เรียบร้อยหากไม่มีอะไรผิดพลาดสามารถคลิก Install เพื่อเริ่มการติดตั้งได้เลย

7.รอ...

8.สร้างเสร็จแล้วถ้าอยากเปลี่ยนพาสเวิร์ดให้กด Password Management... หรือจะเปลี่ยนทีหลังก็ได้

Check the RAC status
$ srvctl config database -d KITTIRAC
Database unique name: KITTIRAC
Database name: KITTIRAC
Oracle home: /u01/app/oracle/product/12.1.0.2
Oracle user: oracle
Spfile: +DATA/KITTIRAC/PARAMETERFILE/spfile.288.876578023
Password file: +DATA/KITTIRAC/PASSWORD/pwdkittirac.276.876577021
Domain: 
Start options: open$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Apr 9 14:04:53 2015

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


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

SQL> select inst_name from v$active_instances;

INST_NAME
--------------------------------------------------------------------------------
kitti-rac1.localdomain:KITTIRAC1
kitti-rac2.localdomain:KITTIRAC2
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA
Mount point paths: 
Services: 
Type: RAC
Start concurrency: 
Stop concurrency: 
OSDBA group: dba
OSOPER group: 
Database instances: KITTIRAC1,KITTIRAC2
Configured nodes: kitti-rac1,kitti-rac2
Database is administrator managed

$ srvctl status database -d KITTIRAC
Instance KITTIRAC1 is running on node kitti-rac1

Instance KITTIRAC2 is running on node kitti-rac2

เช็ค v$active_instances เพื่อดูว่า instance ไหนรันอยู่


$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Apr 9 14:04:53 2015

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


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

SQL> select inst_name from v$active_instances;

INST_NAME
--------------------------------------------------------------------------------
kitti-rac1.localdomain:KITTIRAC1
kitti-rac2.localdomain:KITTIRAC2


ตัวอย่างบางส่วนศึกษามาจาก http://oracle-base.com/articles/12c/oracle-db-12cr1-rac-installation-on-oracle-linux-6-using-virtualbox.php