วันจันทร์ที่ 24 สิงหาคม พ.ศ. 2558

How to change public ip , vip , scan

เปลี่ยน Public IP ก่อน
1. ปิด database และ nodeapps
srvctl stop database -d dbname
srvctl stop nodeapps -n node1
srvctl stop nodeapps -n node2

2. เปลี่ยน Public Interface
oifcfg getif
eth0  192.168.16.0  global  cluster_interconnect,asm
eth1  172.16.4.0  global  public
oifcfg delif -global eth1
oifcfg setif -global eth1/172.16.21.0:public

เช็คอีกที
oifcfg getif
eth0  192.168.16.0  global  cluster_interconnect,asm
eth1  172.16.21.0  global  public

* แก้อีก node นึงด้วย

3. แก้ไข VIP Interface
srvctl modify nodeapps -n node1 -A 172.16.21.107/255.255.255.0/eth1
srvctl modify nodeapps -n node2 -A 172.16.21.108/255.255.255.0/eth1

* ถ้าแก้ไม่ได้ให้แก้ network ก่อนเพราะอาจใช้ subnet คนละวง

4. Stop CRS ทั้ง 2 nodes
crsctl stop crs

5. แก้ไข IP Address ที่ OS (/etc/hosts ด้วยก็ได้)
vi /etc/sysconfig/network-scripts/ifcfg-eth1

6. Reboot all nodes
7. หลังจาก reboot แล้ว database ควรจะ start ขึ้นมาได้ปกติ เราสามารถใช้คำสั่งเช็คได้เช่น
crsctl stat res -t
srvctl status database -d dbname
srvctl status listener

8. แก้ไข scan
srvctl stop scan
srvctl stop scan_listener
srvctl modify scan
srvctl start scan
srvctl start scan_listener

* มันจะปรับค่าให้โดยอ่านจาก VIP ให้เอง

เราสามารถเช็คค่าใหม่ได้ด้วย
srvctl config scan



วันอังคารที่ 11 สิงหาคม พ.ศ. 2558

วิธีสร้าง TAF session failover แบบ SELECT โดยใช้ server side service

สมมุติว่าเราพึ่งสร้าง RAC database ขึ้นมาใหม่และเราอยากให้ขณะ SELECT อยู่แล้วหาก Current instance หลุดไป Session ของเราจะไป SELECT ต่อที่อีก Instance นึงเราต้องสร้าง Service ขึ้นมาเป็นแบบ SELECT type

ตัวอย่าง
1. สร้าง service ขึ้นมา 1 ตัวชื่อ TAF เป็นแบบ SELECT type
srvctl add service -d cubprod -s TAF -r "cubprod1,cubprod2" -e SELECT -m BASIC -P BASIC -z 5 -w 10

2. ตรวจสอบ config service ของเรา
srvctl config service -d cubprod -s TAF
Service name: TAF
Service is enabled
Server pool: cubprod_TAF
Cardinality: 2
Disconnect: false
Service role: PRIMARY
Management policy: AUTOMATIC
DTP transaction: false
AQ HA notifications: false
Failover type: SELECT
Failover method: BASIC
TAF failover retries: 5
TAF failover delay: 10
Connection Load Balancing Goal: LONG
Runtime Load Balancing Goal: NONE
TAF policy specification: BASIC
Edition: 
Preferred instances: cubprod1,cubprod2
Available instances:

3. Start the service
srvctl start service -d cubprod -s TAF
4. ลองเช็คด้วย lsnrctl status จะมี TAF service ขึ้นมาทั้ง 2 node

5. ทดลองใช้งานโดยเข้า Service TAF แล้วขณะ SELECT อยู่ให้ลอง kill -9 pmon ของ current instance ดูจะพบว่า Session ได้ถูกย้ายไปอีก Instance นึงโดยอัตโนมัติ
สามารถเช็คได้ด้วย Query
select host_name,instance_name from v$instance;


ปล. ถ้าเป็น SYS user จะขึ้น ORA-03113: end-of-file on communication channel ทีนึงก่อนแล้วมันจะไป connect ใหม่ให้ แต่ถ้าเป็น user ธรรมดามันจะย้ายไปให้เลย

วันจันทร์ที่ 22 มิถุนายน พ.ศ. 2558

Query from multiple rows to single line

ฟังก์ชั่น LISTAGG() เป็นฟังก์ชั่นใหม่ในเวอร์ชั่น 11GR2 เพื่อเชื่อม multiple rows ให้เป็น single line

รูปแบบ syntax
LISTAGG( [,]) WITHIN GROUP (ORDER BY ) [OVER (PARTITION BY )]

ปล. สามารถใช้ในการ Analytic ได้เช่นใช้คำสั่ง OVER() clause

ตัวอย่างนี้จะดู username ใน dba_users โดยจะให้มันเชื่อมต่อกันเป็นบรรทัดเดียวและคั่นด้วยเครื่องหมาย ","


วันพฤหัสบดีที่ 11 มิถุนายน พ.ศ. 2558

Oracle 12c Multitenant practice

Oracle database 12c Multitenant คือฟีเจอร์ใหม่ที่ทำให้เราสามารถสร้างและจัดการฐานข้อมูลได้หลายตัวมากขึ้นไว้ในฐานข้อมูลใหญ่ตัวเดียวที่เรียกว่า Container Database (CDB) ซึ่งฐานข้อมูลหลายตัวเหล่านั้นเราเรียกว่า Pluggable Databases (PDB)
แต่ละ CDB ประกอบด้วย
- หนึ่ง Root Container ชื่อว่า CDB$ROOT เป็น Master set of data dictionary views ซึ่งมี metadata ที่เกี่ยวข้องกับ root container ตลอดจน pluggable databases ทุกตัวที่อยู่ใน CDB
- หนึ่ง Static seed container ชื่อว่า PDB$SEED โดย container ตัวนี้จะอยู่เป็นอิสระมีหน้าที่เป็นเพียง template เพื่อสร้าง data files และ metadata สำหรับ pluggable databases ตัวใหม่ๆที่จะสร้างขึ้นใน CDB
- Pluggable databases (0 - 252 ตัว) แต่ละ PDB จะจัดการข้อมูลและฟังก์ชั่นต่างๆในตัวเองคล้ายกับ non-CDB database และมันมี data files และ application objects (users , tables , indexes , อื่นๆ) เป็นของตัวเอง เมื่อเราเชื่อมต่อเข้าสู่ PDB ตัวหนึ่งเราจะมองไม่เห็น root container หรือ PDB ตัวอื่นๆ

Pluggable Database Architecture



สร้าง CDB
ถ้าเราจะใช้งาน PDB feature เราต้องสร้าง Database ให้เป็น Container database โดยมีหลายวิธีในการสร้างเช่น
- สร้างโดย SQL CREATE DATABASE command
- ใช้ DBCA
- Generate script จาก DBCA แล้วเอามารันเอง
- ใช้ RMAN เพื่อทำ Duplicate จาก CDB ที่มีอยู่แล้ว
โดยวิธีการสร้างเหล่านี้ขอไม่พูดถึง

ตรวจสอบ CDB ที่ถูกสร้างขึ้นมาแล้ว
- ใช้ sqlplus / as sysdba

- ตรวจสอบคอลัม name และ CDB ถ้าเป็น YES แสดงว่าถูกสร้างเป็น Container
SQL> select name,cdb from v$database;

NAME      CDB
--------- ---
KITTICDB  YES

- ตอนนี้เราจะมี 2 containers ใน CDB database ของเราก็คือ root กับ seed pluggable database เราสามารถเช็คด้วยการ query
SQL> select con_id,name from v$containers;

    CON_ID NAME
---------- ------------------------------
         1 CDB$ROOT
         2 PDB$SEED

- เราจะมี data files ของทั้ง root และ seed database เราจะตรวจสอบ data files เหล่านั้นด้วย query
select con_id,file_name from cdb_data_files
order by con_id;
Note : ถ้าเราใช้เวอร์ชั่น 12.1.0.2 เราจะไม่เห็นข้อมูลของ seed เพราะมี undocument parameter ใหม่ตัวนึงชื่อว่า EXCLUDE_SEED_CDB_VIEW ค่า default เป็น true
แต่ในตัวอย่างปรับไว้เป็น false จึงทำให้เราเห็นข้อมูลใน seed database ด้วย

- ถ้าเรา query จาก dba_data_files เราจะเห็นแค่ไฟล์ของ database ที่เราใช้งานอยู่ในที่นี้คือ CDB$ROOT
FILE_NAME
---------------------------------------------------------------------

E:\APP\KITTI_L\ORADATA\KITTICDB\DATAFILE\O1_MF_SYSTEM_BQHPTC9S_.DBF
E:\APP\KITTI_L\ORADATA\KITTICDB\DATAFILE\O1_MF_SYSAUX_BQHPRMY9_.DBF
E:\APP\KITTI_L\ORADATA\KITTICDB\DATAFILE\O1_MF_UNDOTBS1_BQHPWG1C_.DBF
E:\APP\KITTI_L\ORADATA\KITTICDB\DATAFILE\O1_MF_USERS_BQHPWDRS_.DBF


เชื่อมต่อเข้าสู่ Root Container
เราสามารถเชื่อมต่อโดยเป็น sys as sysdba ได้เหมือนการเชื่อมต่อเข้าฐานข้อมูลแบบ non-CDB ทั่วๆไปเช่น
sqlplus / as sysdba
sqlplus sys@KITTICDB as sysdba

SQL> show user con_id con_name
USER is "SYS"

CON_ID
------------------------------
1

CON_NAME
------------------------------
CDB$ROOT


Start/Stop Root Container
เราสามารถ start/stop CDB ได้เหมือนกับ non-CDB ได้ตามปกติโดยต้องเข้ามาในสิทธิที่สามารถทำการเปิด/ปิด ฐานข้อมูลได้ เช่น

sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 11 10:37:09 2015

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

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 2583691264 bytes
Fixed Size                  3048968 bytes
Variable Size             687868408 bytes
Database Buffers         1879048192 bytes
Redo Buffers               13725696 bytes
Database mounted.
Database opened.

เมื่อ CDB startup แล้วแต่ PDB ทุกตัวจะยังอยู่ในสถานะ Mount อยู่เราจะสั่งให้เปิดทุกตัว เช่น
SQL> alter pluggable database all open;

Pluggable database altered.

หากต้องการปิด PDB ทุกตัวก็สั่ง close โดยทุกตัวจะกลายเป็น Mount mode (ยกเว้น PDB$SEED จะอยู่สถานะ Read Only ตลอด)
SQL> alter pluggable database all close;

Pluggable database altered.


สร้าง PDB และเชื่อมต่อเข้าสู่ PDB
เราสามารถสร้าง PDB ใหม่ได้จาก
- PDB$SEED
- PDB ที่มีอยู่แล้ว
- non-CDB
- Unplugged PDB

1. ลอง Cloning จาก PDB$SEED
Login เข้าสู่ CDB แล้วใช้ SQL สร้าง PDB ขึ้นมาโดยใช้ PDB$SEED เป็น template
SQL> create pluggable database kittipdb1
  2  admin user kittiadmin identified by kittiadmin
  3  file_name_convert = ('E:\app\kitti_l\oradata\KITTICDB\pdbseed',
  4                       'E:\app\kitti_l\oradata\KITTICDB\KITTIPDB1');

Pluggable database created.

Note. ถ้าใช้ OMF ไม่ต้องใส่ file_name_convert เพราะ Oracle จะกำหนดชื่อและที่อยู่ของไฟล์ให้อัตโนมัติ ส่วน admin user คือ local user ที่มีสิทธิ์จัดการ PDB ได้และได้รับ PDB_DBA role

2. Clone จาก PDB ที่มีอยู่แล้ว
ทำการสร้าง KITTIPDB2 โดย Clone จาก KITTIPDB1
เราต้องปิด PDB ตัวที่เราจะ Clone แล้วเปิดใหม่เป็นแบบ Read Only
SQL> alter pluggable database KITTIPDB1 close;

Pluggable database altered.

SQL> alter pluggable database KITTIPDB1 open read only;

Pluggable database altered.

ทำการ Clone ด้วยคำสั่ง SQL
SQL> create pluggable database KITTIPDB2
  2  from KITTIPDB1
  3  file_name_convert = ('E:\app\kitti_l\oradata\KITTICDB\KITTIPDB1',
  4                       'E:\app\kitti_l\oradata\KITTICDB\KITTIPDB2')
  5  storage (maxsize 4G max_shared_temp_size 80M);

Pluggable database created.

Note. storage clause ในที่นี้คือกำหนดขนาด PDB เต็มที่ไว้มากสุด 4G (maxsize) และ session ใน PDB นี้สามารถใช้ Shared Temporary Tablespace ได้มากสุด 80M (max_shared_temp_size)

3. Clone จาก non-CDB database
ใช้ได้หลายวิธีเช่น DBMS_PDB package , Data Pump(Transport Tablespace), GoldenGate
ในที่นี้จะใช้วิธี DBMS_PDB package แต่มีข้อแม้ว่า database ที่จะ Clone นี้ต้องเวอร์ชั่น 12c ขึ้นไป

เปิด non-CDB แบบ read only
SQL> alter database open read only;

Database altered.

หลังจากนั้นรัน DBMS_PDB เพื่อสร้าง XML file ที่มีโครงสร้างของ database อยู่

SQL> begin
  2    dbms_pdb.describe(pdb_descr_file => 'E:\noncdb.xml');
  3  end;
  4  /

PL/SQL procedure successfully completed.

หลังจากไฟล์ XML ถูกสร้างแล้วให้ปิด non-CDB

SQL> shutdown immediate;

ปรับ ORACLE_SID ให้ชี้ไปที่ CDB database ที่เราจะ Clone non-CDB ไปและเข้า sys as sysdba
sqlplus / as sysdba

ตอนนี้เราอยู่ใน CDB database แล้วเราสามารถเช็คก่อนได้ว่า non-CDB ที่เราจะ Clone นั้น compatible กับ CDB database ของเราไหมด้วย DBMS_PDB.CHECK_PLUG_COMPATIBILITY

SQL> set serveroutput on
SQL> declare
  2  hold_var boolean;
  3  begin
  4  hold_var := dbms_pdb.check_plug_compatibility(pdb_descr_file => 'E:\noncdb.xml');
  5  if hold_var then
  6    dbms_output.put_line('YES');
  7  else
  8    dbms_output.put_line('NO');
  9  end if;
 10  end;
 11  /
YES

PL/SQL procedure successfully completed.

จากการทดสอบผลคือ YES แสดงว่าไม่มีปัญหาเกี่ยวกับ compatibility แต่ถ้าเป็น NO แสดงว่าอาจมีอะไรผิดพลาด เราสามารถดู PDB_PLUG_IN_VIOLATIONS view เพื่อดูรายละเอียดได้ว่าทำไมถึงไม่ compatibility

ต่อมาใช้คำสั่ง SQL เพื่อสร้าง PDB ขึ้นมาจาก non-CDB โดยเราต้องระบุชื่อและที่อยู่ของ XML file ของ non-CDB , ที่อยู่ของ non-CDB data files , และที่อยู่ใหม่ของ PDB

SQL> create pluggable database KITTIPDB2FROMnonCDB
  2  using 'E:\noncdb.xml'
  3  copy
  4  file_name_convert = ('E:\app\kitti_l\oradata\KITTInonCDB',
  5                      'E:\app\kitti_l\oradata\KITTICDB\KITTIPDB3FROMnonCDB');


Pluggable database created.

เสร็จแล้วลองเชื่อมต่อเข้า PDB ใหม่
SQL> alter session set container=KITTIPDB2FROMnonCDB;

Session altered.

สุดท้ายรันสคริปต์นี้ก็เสร็จสมบูรณ์
@?\rdbms\admin\noncdb_to_pdb.sql

หลังจากนั้น database ควรจะสามารถเปิดขึ้นมาได้ตามปกติ


Unplugging a PDB
ก่อนที่เราจะเอา PDB ไปปลั๊กเข้ากับ CDB อื่นเราต้องทำการ Unplug มันออกจาก CDB ตัวเดิมเสียก่อน
เมื่อเรา Unplug ออกจาก CDB แล้วเราจะได้ XML file มาโดยไฟล์นี้จะเป็นข้อมูล metadata ของ PDB ตัวนั้นๆและสามารถนำไปใช้ Plug เข้าไปที่ CDB ตัวอื่นได้

ปิด PDB ตัวที่จะ Unplug ก่อน

สั่ง Unplug ด้วยคำสั่ง alter pluggable database ... unplug into '....xml';

SQL> alter pluggable database kittipdb2 unplug into 'E:\kittipdb2.xml';

Pluggable database altered.

Note. เมื่อ Unplugged PDB เสร็จแล้วเราต้อง Drop PDB ตัวนั้นก่อนที่จะทำการ Plug เข้ามาสู่ CDB ตัวเดิม (แต่ต้องใช้ keep datafiles option เพราะต้องใช้ data files เดิม)
SQL> drop pluggable database kittipdb2 keep datafiles;

Pluggable database dropped.


Note2. เราสามารถใช้ DBMS_PDB package เพื่อตรวจสอบ compatible ก่อนได้เหมือนกับการ Clone non-CDB to PDB ด้านบน

ในการ Plug เข้าไปใน CDB เราจะทำด้วย SQL statement CREATE PLUGGABLE DATABASE ... และใช้ 2 คำสั่งนี้ในการระบุข้อมูลลงไปคือ
USING clause : ใช้ในการระบุที่อยู่ของ XML file
COPY FILE_NAME_CONVERT clause : ใช้ในการกำหนดที่อยู่ data files ใหม่ในกรณีที่ path ไม่เป็นเหมือนเดิม

แต่ตอนนี้เราจะทำการ Plug เข้าสู่ CDB ตัวเดิมและใช้ data files location เดิมจึงสามารถใช้ NOCOPY clause ได้
SQL> create pluggable database kittipdb2
  2  using 'E:\kittipdb2.xml'
  3  nocopy;

Pluggable database created.

เมื่อ Plug เข้ามาแล้วก็เปิด database ได้ตามปกติ
SQL> alter pluggable database kittipdb2 open;

Pluggable database altered.

ลองเชื่อมต่อเข้าสู่ PDB ต่างๆ
วิธีแรกใช้ alter session
SQL> alter session set container=KITTIPDB2;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
KITTIPDB2

วิธีที่สองเข้าผ่าน easy connect หรือ tnsnames
sqlplus sys/oracle@localhost:1521/KITTIPDB2 as sysdba
sqlplus sys/oracle@KITTIPDB2 as sysdba


เช็คสถานะของ PDB
ใช้คำสั่ง SQL ถ้าอยู่ที่ CDB จะเห็น PDB ทุกตัวแต่ถ้าอยู่ที่ PDB ตัวไหนจะเห็นแค่ตัวนั้น
SQL> select con_id,name,open_mode,restricted from v$pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 KITTIPDB2                      READ WRITE NO
         4 KITTIPDB1                      READ WRITE NO
         5 KITTIPDB2FROMNONCDB            READ WRITE NO


ตรวจสอบว่า parameter ตัวไหนบ้างที่สามารถแก้ไขได้ในระดับ PDB
select name
from v$parameter
where ispdb_modifiable='TRUE'
order by name;


เปลี่ยนชื่อ PDB
เราสามารถเปลี่ยนชื่อ PDB ได้โดยทำการปิดแล้วเปิดใหม่เป็นโหมด restrict เสร็จแล้วสั่งเปลี่ยนชื่อด้วยคำสั่งเช่น
SQL> alter session set container=kittipdb2fromnoncdb;

Session altered.

SQL> shutdown immediate
Pluggable Database closed.
SQL> startup restrict;
Pluggable Database opened.
SQL> alter pluggable database KITTIPDB2FROMnonCDB rename global_name to KITTIPDB3;

Pluggable database altered.


Common Users
มี User 2 ประเภทที่ใช้ใน Pluggable database environment คือ local user กับ common user
local user คือ user ปกติที่ใช้ใน PDB โดยการจัดการจะเหมือนระบบ non-CDB ทั่วๆไป
และ common user เมื่อสร้างเสร็จจะอยู่ใน root container และทุก pluggable database ตลอดจน pluggable database ที่ถูกสร้างขึ้นในอนาคตอีกด้วย

Note. SYS กับ SYSTEM คือ common users ที่ Oracle สร้างให้โดยอัตโนมัติใน Pluggable environment

Common user จะถูกสร้างโดยใช้ C## หรือ c## นำหน้าชื่อ เช่น
sqlplus / as sysdba
SQL> create user c##kitti identified by kitti;


User created.

Common user จะมีสิทธิ์ต่างๆกับไหน PDB ได้ต้องถูก grant จากใน PDB นั้นเท่านั้น ถ้าเราต้องการ grant ให้มีสิทธิ์กับทุกๆ PDB เราต้องสร้าง Common Role แล้ว grant ให้ common user


Common Roles
จะคล้ายกับการสร้าง Common user ที่จะอยู่ในทุก PDB ใน Root container นั้นตลอดจน PDB ที่ถูกสร้างขึ้นในอนาคต และเหมือนกับกับ Common user อีกก็คือ Common role ต้องสร้างด้วย C## หรือ c## นำหน้า ตัวอย่างเช่น
sqlplus / as sysdba
SQL> create role c##dbaprivs container=all;


Role created.

ต่อมาเราสามารถกำหนดสิทธิ์ต่างๆให้กับ common role นี้ได้ เช่น
SQL> grant dba to c##dbaprivs container=all;

Grant succeeded.

เท่านี้ role นี้ก็จะมีสิทธิ์ dba (มาจาก dba role) ที่สามารถใช้งานได้ทุก PDB ต่อมาเราก็จะ grant role นี้ให้กับ common user
SQL> grant c##dbaprivs to c##kitti container=all;

Grant succeeded.

ตอนนี้ c##kitti ก็สามารถจัดการฐานข้อมูลด้วยสิทธิ์ c##dbaprivs(from dba role) ได้ทุก PDB แล้ว


RMAN Backup and Recovery
ในขณะที่เราเชื่อมต่อกับ CDB(Root contaner) เราสามารถ backup ได้ทุก data file ใน database หรือแค่ root container data files , a specific pluggable database , specific tablespaces or data files , or a combination of these
แต่ในขณะที่เราเชื่อมต่อกับ PDB เราจะสามารถ backup ได้แค่ data files ของ PDB ที่เราเชื่อมต่ออยู่

While Connected to the Root container
เช็คก่อนว่าเราเชื่อมต่อไปที่ Root container หรือยัง
RMAN> SELECT SYS_CONTEXT('USERENV', 'CON_ID') AS con_id,
2> SYS_CONTEXT('USERENV', 'CON_NAME') AS cur_container,
3> SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') AS cur_user
4> FROM DUAL;

using target database control file instead of recovery catalog


CON_ID                                CUR_CONTAINER              CUR_USER

----------------------------         ----------------------------          ----------------------------
1                                            CDB$ROOT                           SYS

ลอง backup ทุก data file ทั้ง root container database และ pluggable database ในนั้น
RMAN> backup database;

ถ้าเราอยาก backup เฉพาะของ root container ให้ใส่ "root"
RMAN> backup database root;

เราสามารถ backup เฉพาะ PDB ที่เราต้องการได้เช่นกัน
RMAN> backup pluggable database kittipdb1;

และเราก็ backup แบบเจาะจง tablespace ใน PDB ที่เราต้องการได้ด้วย
RMAN> backup tablespace kittipdb1:system,sysaux;

สุดท้ายนี้เราสามารถ backup data file ของ root container database หรือ pluggable database โดยการใส่พาธและชื่อลงไปได้เลย
RMAN> backup datafile 'E:\app\kitti_l\oradata\KITTICDB\KITTIPDB2\SYSTEM01.DBF';

While Connected to a Pluggable database
เราสามารถเชื่อมต่อเข้า PDB ได้เลยจาก RMAN เช่น
rman target sys/oracle@KITTIPDB1

หลังจากเชื่อมต่อเข้ามาแล้วเราสามารถ backup ได้เฉพาะ data file ของ PDB นั้น ดังนั้นเมื่อเราสั่ง
RMAN> backup database;
จะเป็นการ backup เพียงแค่ทุก data file ของ PDB นั้นๆ

หรือ
RMAN> backup tablespace system;
ก็เป็นการ backup system tablespace's data file ของ PDB นั้นๆ เช่นกัน


Complete Recovery
การกู้ทั้ง CDB จะคล้ายกับการกู้ non-CDB แต่มันจะกู้ PDB ที่เกี่ยวข้องมาด้วย
RMAN> run {
2> shutdown immediate; #or abort if failed
3> startup mount;
4> restore database;
5> recover database;
6> alter database open;
7> }

Root Container Complete Recovery
จะให้ผลลัพธ์เหมือนกับการกู้ทั้ง CDB
RMAN> run {
2> shutdown immediate; #or abort if failed
3> startup mount;
4> restore database root;
5> recover database root;
6> alter database open;
7> }

Pluggable Database Complete Recovery
มี 2 วิธีคือ
1.เชื่อมต่ออยู่กับ CDB เราสามารถเลือก PDB ที่จะกู้ได้เลย
RMAN> run {
2> alter pluggable database kittipdb1,kittipdb2 close;
3> restore pluggable database kittipdb1,kittipdb2;
4> recover pluggable database kittipdb1,kittipdb2;
5> alter pluggable database kittipdb1,kittipdb2 open;
6> }

2.ถ้าเชื่อมต่อกับ PDB ก็จะกู้ได้เฉพาะ PDB นั้น
RMAN> run {
2> shutdown immediate;
3> restore database;
4> recover database;
5> startup;
6> }


CDB Point In Time Recovery
จะเหมือนกับของ non-CDB แค่เพิ่มเติมคือเราได้ทำ PITR ทุก PDB ไปด้วย
RMAN> run {
2> shutdown immediate; #or abort if failed
3> startup mount;
4> restore database;
5> recover database until time "to_date('16/06/2015 17:00','DD/MM/YYYY HH24:M
I')";
6> alter database open resetlogs;
7> }

PDB Point In Time Recovery
ทำคล้ายกับ Complete ตรงที่สามารถกู้ PDB กี่ตัวก็ได้ถ้าเราเชื่อมต่ออยู่ที่ Root Container
แต่ถ้าเชื่อมต่ออยู่ที่ PDB ไหนก็จะกู้ได้เฉพาะ PDB นั้น
RMAN> run {
2> alter pluggable database kittipdb1,kittipdb2 close;
3> restore pluggable database kittipdb1,kittipdb2;
4> recover pluggable database kittipdb1,kittipdb2 until time "to_date('16/06/2015 17:00','DD/MM/YYYY HH24:M
I')";
5> alter pluggable database kittipdb1,kittipdb2 open resetlogs;
6> }

Note. กรณีนี้ Resetlogs option จะไม่ได้ทำอะไรกับ Redo log file แต่แค่สร้าง DB incarnation ใหม่

ศึกษามาจากหนังสือ e-book : Pro Oracle Database 12c Administration, 2nd Edition

วันอาทิตย์ที่ 7 มิถุนายน พ.ศ. 2558

Restore database to before upgrade using guarantee restore point

เมื่ออัพเกรดผิดพลาด หรือมีปัญหาเราสามารถย้อนกลับไปสู่เวลาก่อนการอัพเกรดได้อย่างรวดเร็วด้วยวิธีดังนี้
1.     เปิด Flashback mode



2.     ทำการสร้าง Guarantee restore point เพื่อเป็นจุดไว้ย้อนกลับก่อนการอัพเกรด (หลังจากสร้างแล้วให้สั่ง alter system switch logfile; ซัก 1ครั้งเพื่อให้มันเก็บ archive ในภาพไม่ได้ทำผมไปทำทีหลัง)
และไปตรวจสอบ flashback log ที่เก็บ before image ของข้อมูลจะเก็บอยู่ใน Flash recovery area


3.     ทำการอัพเกรด


4.     ดูข้อมูล Restore point (v$restore_point) กับ Version


5.     ทำการย้อน DB ไปสู่ก่อนการอัพเกรด


6.     เช็ค Version (ต้องเข้าด้วย sqlplus ของ version เดิม)


ข้อบังคับ
-         COMPATIBLE parameter ต้อง 10.2 ขึ้นไป
-         DB in archivelog mode
-         มี archive log file หลังจากสร้าง Guarantee restore point อันแรก
-         ต้องใช้ flash recovery area
ข้อจำกัด
-         Media failure ไม่สามารถซ่อมด้วย flashback database ได้
-         ย้อนกลับไปก่อนหน้าการปรับขนาด data file ให้เล็กลงหรือ shrink ไม่ได้
-         ไม่สามารถใช้ flashback database ได้ถ้า control file ถูก restore หรือ recreate

-         Drop tablespace แล้ว recovery ผ่าน resetlogs ไม่สามารถทำได้

วันศุกร์ที่ 22 พฤษภาคม พ.ศ. 2558

Transportable Tablespace

การย้ายข้อมูลใน tablespace ข้าม database สามารถทำได้หลายวิธี เช่น การ export-import datapump การใช้ RMAN หรือการ Transportable Tablespace แต่ละวิธีมีข้อดีข้อเสียแตกต่างกัน

Transportable Tablespace เป็นวิธีการหนึ่งในการย้าย tablespace ข้าม database ซึ่งเป็นการย้ายข้อมูลที่มีข้อมูลขนาดใหญ่มากๆได้

*ข้อจำกัดของการทำวิธีนี้ก็พอมีบ้างต้องเข้าไปดูใน Oracle document เองแต่ตอนนี้เราลองทำแบบง่ายๆกันดูก่อน

ขั้นตอน
1. เราต้องเช็คดูก่อนว่า endian-format ของ OS เราคืออะไร ถ้าต้นทางกับปลายทางเป็น endian-format คนละแบบเราต้องเพิ่มขั้นตอนในการ convert endian-format ให้ตรงกับปลายทางก่อน
เราสามารถเช็คได้โดยดูจาก

2. ตัวอย่างนี้จะลอง transport จาก linux x86 64bit ไป windows x86 64bit นะครับ
และได้ลองสร้าง tablespace , user , table , data ขึ้นมา (character set เดียวกันและไม่มี referential constraint ข้าม tablespace กันถ้ามีต้องเอาไปทุก tablespace ที่เกี่ยวข้อง  พวกนี้เป็นข้อจำกัดเช่นกัน)
[oracle@kitti-rac1 12.1.0.2]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Wed May 13 16:52:49 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> create tablespace kitti_tablespace datafile '+DATA' size 20M;

Tablespace created.

SQL> create user kitti identified by kitti default tablespace kitti_tablespace;

User created.

SQL> grant connect,resource to kitti;

Grant succeeded.

SQL> conn kitti/kitti
Connected.
SQL> create table kitti_table (id number);
create table kitti_table (id number)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'KITTI_TABLESPACE'


SQL> conn sys as sysdba
Enter password:
Connected.
SQL> alter user kitti quota unlimited on kitti_tablespace;

User altered.

SQL> conn kitti/kitti
Connected.
SQL> create table kitti_table (id number);

Table created.

SQL> begin for i in 1..10 loop
  2  insert into kitti_table
  3  values(i);
  4  end loop;
  5  commit;
  6  end;
  7  /

PL/SQL procedure successfully completed.

SQL> select count(*) from kitti_table;

  COUNT(*)
----------
        10

3. เราสามารถเช็คดูก่อนได้ว่า tablespace ที่เราจะ transport นั้นมีอะไรเกี่ยวข้องกับ tablespace อื่นบ้างเช่น foreign key , partition table
exec dbms_tts.transport_set_check('KITTI_TABLESPACE',TRUE);

4. หลังจากเรา execute package นั้นเราสามารถตรวจสอบได้ว่ามีอะไรผิดข้อกำหนดของการทำ transport tablespace บ้างด้วยการ query TRANSPORT_SET_VIOLATIONS view
SQL> select * from transport_set_violations;

no rows selected

ในกรณีนี้คือไม่มีอะไรเกี่ยวข้องกับ tablespace อื่น

5. เช็คดูว่า data files ของ tablespace ที่เราจะ transport อยู่ที่ไหน
SQL> set line 200
SQL> column file_name format a60
SQL> select file_name,tablespace_name from dba_data_files;

FILE_NAME                                                    TABLESPACE_NAME
------------------------------------------------------------ ------------------------------
+DATA/KITTIRAC/DATAFILE/system.291.877176309                 SYSTEM
+DATA/KITTIRAC/DATAFILE/sysaux.290.877176235                 SYSAUX
+DATA/KITTIRAC/DATAFILE/undotbs1.293.877176385               UNDOTBS1
+DATA/KITTIRAC/DATAFILE/users.292.877176383                  USERS
+DATA/KITTIRAC/DATAFILE/undotbs2.299.877177477               UNDOTBS2
+DATA/KITTIRAC/DATAFILE/example.298.877176481                EXAMPLE
+DATA/KITTIRAC/DATAFILE/kitti_tablespace.303.879612809       KITTI_TABLESPACE

7 rows selected.

* เนื่องจากตัวอย่างนี้ endian-format เป็น Little เหมือนกันจึงไม่จำเป็นต้องทำการ convert แต่ถ้าไม่เหมือนกันต้องเข้า RMAN แล้วสั่ง RMAN> convert tablespace ... to platform ...

6. ปรับเป็น read only
SQL> alter tablespace kitti_tablespace read only;

Tablespace altered.


7. สั่ง expdp แล้วใส่ transport_tablespaces เป็นชื่อ tablespace ที่เราต้องการจะ transport
[oracle@kitti-rac1 ~]$ expdp system directory=DATA_PUMP_DIR dumpfile=tts_kitti_t
ablespace.dmpdp nologfile=y transport_tablespaces=kitti_tablespace

Export: Release 12.1.0.2.0 - Production on Wed May 20 17:54:42 2015

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

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
Starting "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01":  system/******** directory=DATA_PUMP_DIR dumpfile=tts_kitti_tablespace.dmpdp nologfile=y transport_tablespaces=kitti_tablespace
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_TRANSPORTABLE_01 is:
  /u01/app/oracle/product/12.1.0.2/rdbms/log/tts_kitti_tablespace.dmpdp
******************************************************************************
Datafiles required for transportable tablespace KITTI_TABLESPACE:
  +DATA/KITTIRAC/DATAFILE/kitti_tablespace.303.879612809
Job "SYSTEM"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at Wed May 20 18:01:24 2015 elapsed 0 00:05:50

8. เนื่องจากเครื่องตัวอย่างใช้ Storage เป็น ASM จึงต้องทำการคัดลอกไฟล์ไปเป็น File system ธรรมดาก่อน
[oracle@kitti-rac1 ~]$ asmcmd
ASMCMD> pwd
+
ASMCMD> cd DATA/KITTIRAC/DATAFILE/
ASMCMD> cp kitti_tablespace.303.879612809 /home/oracle/kitti_tablespace.dbf
copying +DATA/KITTIRAC/DATAFILE/kitti_tablespace.303.879612809 -> /home/oracle/kitti_tablespace.dbf
ASMCMD>

9. เอา dump and data fileมาไว้ที่เครื่องปลายทาง

10. ที่เครื่องต้นทางเราสามารถปรับโหมด tablespace ให้เป็น read write ได้เลย
SQL> alter tablespace kitti_tablespace read write;

Tablespace altered.

11. สร้าง user ที่เครื่องปลายทางเพื่อเป็นเจ้าของ objects ใน tablespace ที่จะเอามาลงก่อน
SQL> create user kitti identified by kitti;

User created.

12. impdp metadata dump file ลงไปที่เครื่องปลายทางพร้อมระบุ data file path ที่เราเอามาได้เลย
C:\Users\kitti_l>impdp system@KITTIPDB1 directory=expdp dumpfile=tts_kitti_table
space.dmpdp transport_datafiles='E:\app\kitti_l\oradata\KITTICDB\C6C93CD0450942D
2A5D8FD20333D6397\DATAFILE\KITTI_TABLESPACE.DBF'

Import: Release 12.1.0.2.0 - Production on Fri May 22 13:51:29 2015

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

Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit
Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt
ions
Master table "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded

Source time zone is +00:00 and target time zone is -05:00.
Starting "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01":  system/********@KITTIPDB1 dire
ctory=expdp dumpfile=tts_kitti_tablespace.dmpdp transport_datafiles='E:\app\kitt
i_l\oradata\KITTICDB\C6C93CD0450942D2A5D8FD20333D6397\DATAFILE\KITTI_TABLESPACE.
DBF'
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/STATISTICS/MARKER
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYSTEM"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at Fri May 22
13:52:01 2015 elapsed 0 00:00:29

13. ทดลอง Query data จากเครื่องปลายทางจะพบว่ามี data เหมือนกับเครื่องต้นทาง
SQL> select count(*) from kitti_table;

  COUNT(*)
----------
        10

วันอาทิตย์ที่ 10 พฤษภาคม พ.ศ. 2558

Connect / as sysdba บน Windows ไม่ได้

            ถ้า Connect / as sysdba แล้วขึ้น error ว่า ORA-01031: insufficient privileges อาจมีหลายสาเหตุที่ทำให้เกิด error นี้กับการ Connect / as sysdba
หนึ่งในสาเหตุที่ทำให้ขึ้น error ว่าเราไม่มีสิทธิ์เมื่อ Connect / as sysdba คือ OS User ที่เราใช้ไม่ได้อยู่ใน ORA_DBA Group ดังนั้นเราต้อง Add OS User ที่เราใช้ให้เข้าไปอยู่ใน ORA_DBA Group
1.คลิกขวาที่ Computer แล้วคลิก manage

2.คลิกที่ Local Users and Groups แล้วคลิก Group


3.เลือกที่ ORA_DBA เพื่อที่จะ add user เข้าในกลุ่ม ORA_DBA

4.คลิก Add เพื่อที่จะเพิ่ม user เข้าในกลุ่ม

5. พิมพ์ชื่อ Users ที่เราต้องการจะ add เข้าในกลุ่มแล้วกด OK

เป็นอันเสร็จเรียบร้อย

วันอังคารที่ 5 พฤษภาคม พ.ศ. 2558

แก้ปัญหา ORA-31634: job already exists;ORA-31664: unable to construct unique job name when defaulted

ปัญหาของ Errors:
ปัญหานี้เกิดจากที่เราไม่ได้ใส่ JOB_NAME parameter ให้ DataPump Job และมันอาจจะมีชื่อ job นี้อยู่แล้วใน Database หรือเพราะเรารันหลาย jobs ในเวลาเดียวกัน (มากกว่า 99 jobs) และ DataPump ไม่สามารถสร้าง job ขึ้นมาใหม่ได้

วิธีแก้:
เราต้องเคลียร์ DataPump Job ออกด้วยการลบ Master tables ของมันดังนี้
1.ตรวจสอบ DataPump Job ที่อยู่ใน Database และมี status เป็น NOT RUNNING
SELECT owner_name, job_name, operation, job_mode, 
   state, attached_sessions 
   FROM dba_datapump_jobs 
   where owner_name=UPPER('&SCHEMA') and state='NOT RUNNING'
ORDER BY 1,2;

2.ตรวจสอบ Master tables ที่เกี่ยวข้อง
SELECT o.status, o.object_id, o.object_type, 
          o.owner||'.'||object_name "OWNER.OBJECT",o.created,j.state 
     FROM dba_objects o, dba_datapump_jobs j 
    WHERE o.owner=j.owner_name AND o.object_name=j.job_name 
   and o.owner=UPPER('&SCHEMA') and j.state='NOT RUNNING' ORDER BY 4,2;

3.Generate DROP TABLE จาก script ในข้อ 2
Drop table <tablename>;



ขอขอบคุณ Query statement จาก http://oracledba-duniya.blogspot.com/2013/05/resolving-ora-31634-job-already.html

วันพุธที่ 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>


เสร็จแล้ววว