Oracle10g New Features I
Upcoming SlideShare
Loading in...5
×
 

Oracle10g New Features I

on

  • 2,248 views

 

Statistics

Views

Total Views
2,248
Views on SlideShare
2,236
Embed Views
12

Actions

Likes
0
Downloads
24
Comments
0

3 Embeds 12

http://www.slideshare.net 7
http://www.linkedin.com 3
https://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Oracle10g New Features I Oracle10g New Features I Presentation Transcript

  • Oracle10g New Features – I Denish Patel Database Administrator OmniTi Computer Consulting Inc. à
  • Flashback Query • Oracle9i – We can see the value of the column at specific time. • Oracle10g – We can see value of data changes in a period – Let's look at the Foreign Exchange Application: RATES (Currency,rate) SQL> select versions_starttime as v_starttime, versions_endtime as v_endtime, versions_xid as v_xid , versions_operation as v, rate from rates versions between timestamp minvalue and maxvalue order by VERSIONS_STARTTIME ; V_STARTTIME V_ENDTIME V_XID V RATE ----------------------------- ----------------------------- ----------------------- --- --------------- 26-JAN-09 11.58.37 AM 26-JAN-09 11.58.39 AM 0700190030030000 I 1.23183 26-JAN-09 11.58.37 AM 26-JAN-09 11.58.52 AM 02000F0039030000 U 1.23184 26-JAN-09 11.58.52 AM 26-JAN-09 11.59.01 AM 0700110031030000 U 1.23 26-JAN-09 11.59.01 AM 09000B00F2030000 D 1.23 26-JAN-09 11.59.16 AM 26-JAN-09 11.59.33 AM 04000E0041030000 I 1.23111 26-JAN-09 11.59.33 AM 0100190041030000 U 1.23112
  • Flashback Query • Oracle10g – FLASHBACK_TRANSACTION_QUERY – Transaction ID gives more detailed SQL statement – SQL > SELECT UNDO_SQL FROM FLASHBACK_TRANSACTION_QUERY WHERE XID = '04000E0041030000'; UNDO_SQL --------------------------------------------------------------------------- insert into "DENISH"."RATES"("CURRENCY","RATE") values ('CAD','1.23111');
  • Flashback Table • Reinstating an accidentally dropped table SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------ ------- ---------- RECYCLETEST TABLE Now, we accidentally drop the table: SQL> drop table recycletest; Table dropped. Let's check the status of the table now. SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- BIN$04LhcpndanfgMAAAAAANPw==$0 TABLE
  • Flashback Table • Recyclebin SQL> show recyclebin ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------ RECYCLETEST BIN$04LhcpndanfgMAAAAAANPw==$0 TABLE 2009-02-06:16:13:31 • Flash back table SQL> FLASHBACK TABLE RECYCLETEST TO BEFORE DROP; FLASHBACK COMPLETE. SQL> SELECT * FROM TAB; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- RECYCLETEST TABLE – Purge Recycle bin to free up space: • PURGE RECYCLEBIN; – Permanently drop table : • DROP TABLE RECYCLETEST PURGE;
  • Flashback Table • Bewarned – Flashback table does not flash back associated objects like indexes and triggers SELECT OBJECT_NAME, ORIGINAL_NAME, TYPE FROM USER_RECYCLEBIN WHERE BASE_OBJECT = (SELECT BASE_OBJECT FROM USER_RECYCLEBIN WHERE ORIGINAL_NAME = 'RECYCLETEST') AND ORIGINAL_NAME != 'RECYCLETEST'; OBJECT_NAME ORIGINAL_N TYPE ------------------------------ ---------- -------- BIN$04LhcpnianfgMAAAAAANPw==$0 IN_RT_01 INDEX BIN$04LhcpnganfgMAAAAAANPw==$0 TR_RT TRIGGER • Recover associated objects – ALTER INDEX "BIN$04LhcpnianfgMAAAAAANPw==$0" RENAME TO IN_RT_01; – ALTER TRIGGER "BIN$04LhcpnganfgMAAAAAANPw==$0" RENAME TO TR_RT;
  • Rollback Monitoring • How long will it take to rollback the transaction ? • Oracle9i SELECT USED_UREC FROM v$TRANSACTION; You can calculate it by running above SQL multiple times and manually calculating the rate of release of undo records. • Oracle10g, SELECT time_remaining FROM V$SESSION_LONGOPS WHERE SID=?;
  • SQL> set serveroutput on size 999999 SQL> exec print_table('select * from v$session_longops where sid = 9') SID :9 SERIAL# : 68 OPNAME : Transaction Rollback TARGET : TARGET_DESC : xid:0x000e.01c.00000067 SOFAR : 10234 TOTALWORK : 20554 UNITS : Blocks START_TIME : 01-jan-2009 16:20:07 LAST_UPDATE_TIME : 01-jan-2009 16:21:24 TIME_REMAINING : 77 ELAPSED_SECONDS : 77 CONTEXT :0 MESSAGE : Transaction Rollback: xid:0x000e.01c.00000067 :10234 out of 20554 Blocks done USERNAME : DENISH SQL_ADDRESS : 00000003B719ED08 SQL_HASH_VALUE : 1430203031 SQL_ID : 306w9c5amyanr QCSID :0
  • Tablespace Management • Advantages of Tablespace: – Limited database segment maintenance using online and offline tablespaces – Transportable Tablespaces – Allocation of extents per objects per tablespaces • Oracle 10g Features... – Default tablespace management ALTER DATABASE DEFAULT TABLESPACE <tsname>; – Renaming a Tablespace ALTER TABLESPACE <oldname> RENAME TO <newname>;
  • Data Pump • EXPORT/IMPORT – INSERT INTO • Data Pump – Proprietary APIs to load and unload data – All I/O done on server! – 10-15 Times Faster than Export – 5 times faster than Import – Extract Specific Types: INCLUDE, EXCLUDE • expdp denish/pass directory=DPDATA1 dumpfile=expprocs.dmp include=PROCEDURE • expdp denish/pass directory=DPDATA1 dumpfile=expprocs.dmp include=PROCEDURE:"='PROC1'",FUNCTION:"='FU NC1'" • impdp denish/pass directory=DPDATA1
  • Data Pump • Normal Operation (single thread) – SQL > create directory dpdata1 as 'C:dpdata1'; – SQL > grant read, write on directory dpdata1 to denish; – C:>expdp denish/password tables=TEST directory=DPDATA1 dumpfile=expTEST.dmp job_name=TEST_EXPORT • Parallel Operation (Multi Thread) – expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
  • Data Pump • Normal Operation (single thread) – SQL > create directory dpdata1 as 'C:dpdata1'; – SQL > grant read, write on directory dpdata1 to denish; – C:>expdp denish/password tables=TEST directory=DPDATA1 dumpfile=expTEST.dmp job_name=TEST_EXPORT • Parallel Operation (Multi Thread) – expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
  • Export Monitoring Data Pump Select sid,serial#,sofar,totalwork Export> status Job: CASES_EXPORT from v$session_longops Operation: EXPORT where opname='TEST_EXPORT' Mode: TABLE State: EXECUTING and sofar!=totalwork; Degree: 1 Job Error Count: 0 Dump file: C:dpdata01expTEST.dmp bytes written = 2048 Worker 1 Status: State: EXECUTING Object Schema: DENISH Object Name: TEST Object Type: TABLE_EXPORT/TBL_TABLE_DATA/TABLE/TABLE_DATA Completed Objects: 1 Total Objects: 1 Completed Rows: 4687818
  • RMAN • Incremental backup – Oracle9i • Scans all blocks – Oracle10g • Analogous to journals in filesystems • Tracks changed blocks – alter database enable block change tracking using file 'c:rman_bkupschange.log'; • Disable Tracking – alter database disable block change tracking; • Verify Tracking is Enabled? – Select filename, status from v$block_change_tracking;
  • RMAN • Incremental Merge • Let's say you have the following backup schedule: – Sunday - Level 0 (full), with tag level_0 – Monday - Level 1 (incremental) with tag level_1_mon – Tuesday - Level 1 (incremental) with tag level_1_tue • Oracle9i – If database fails on Saturday – Apply level_0 and apply all 6 incrementals • Oracle10 – RMAN> backup incremental level_1 for recover of copy with tag level_0 database;
  • RMAN • Compressed Files – RMAN> backup as compressed backupset incremental level 1 database; – RMAN can read the files without uncompressing. • Recovery Preview – Ability to see backups • RMAN> restore database preview; • RMAN> restore tablespace users preview;
  • Auditing • Oracle9i • FGA – Fine Grained Auditing – Column level audit – Audit condition (i.e balace >10000) • Captures “Who” not “What” • Triggers to capture “What”
  • Auditing • Oracle10g • Possible to Audit What – Supports bind variables – audit_trail=db_extended • AUDIT update on SCOTT.EMP by access; • View DBA_AUDIT_TRAIL • Additional info i.e SCN, XID • Lots of rollback transactions? – Use Trigger
  • Data Guard
  • RAC
  • References • Oracle10g New Features Guide – http://www.oracle.com/technology/pub/articles/10gdba/index.html • Oracle10g – 2 Day DBA – http://download.oracle.com/docs/cd/B19306_01/server.102/b14196/toc.htm • Oracle10g Online Books – http://www.oracle.com/pls/db102/homepage
  • Questions?