Vous êtes sur la page 1sur 30

Oracle11gR2 Database

New Features
Ramesh Raghav

Agenda I
Change management
Diagnostics
Intelligent infrastructure
Security
Auto SQL tuning
SQL Plan management
ASM
Install
ORACLE_BASE
new db components : apex (aka html db), sql
developer, RAT
upgrade path : direct >= 9204
utlu111i.sql,catupgrd.sql,utlu111s.sql,
catuppst.sql,utlrp.sql
RAT : db replay & sql perf analyzer




DB Replay
Capture production workload
Preprocess workload
Replay workload in test
Analyze & fix issues before going production

DB Replay
capture
-- restart db
-- define workload filters
exec DBMS_WORKLOAD_CAPTURE.ADD_FILTER (
fname => user_ramrag,
fattribute => 'USER',
fvalue => 'RAMRAG');
-- setup capture directory
exec DBMS_WORKLOAD_CAPTURE.START_CAPTURE
(name => may09_peak_cap, dir => may09, duration =>
1200);

DB Replay
exec DBMS_WORKLOAD_REPLAY.
PROCESS_CAPTURE (capture_dir => may09);
make system change
exec
DBMS_WORKLOAD_REPLAY.
INITIALIZE_REPLAY (replay_name => may09_peak_rep,
replay_dir => may09);


DB Replay
wrc system/tenn1s@test mode=replay
replaydir=./replay
exec
DBMS_WORKLOAD_REPLAY.START_REPLAY ();
dba_workload_captures, dba_workload_filters,
dba_workload_replays


DB Replay
DECLARE
cap_id NUMBER;
rep_id NUMBER;
rep_rpt CLOB;
BEGIN
cap_id := DBMS_WORKLOAD_REPLAY.GET_REPLAY_INFO(dir => may09);
/* the latest replay */
SELECT max(id)
INTO rep_id
FROM dba_workload_replays
WHERE capture_id = cap_id;
rep_rpt := DBMS_WORKLOAD_REPLAY.REPORT(replay_id => rep_id,
format => DBMS_WORKLOAD_REPLAY.TYPE_TEXT);
END;

SQL PA
capture pre-change SQL performance
(dbms_sqltune.create_sqlset,dbms_sqltune.load_
sqlset,dbms_sqltune.create_stgtab_sqlset,
dbms_sqltune.pack_stgtab_sqlset,dbms_sqltune.
unpack_stgtab_sqlset)
analyze
(dbms_sqlpa.create_analysis_task,dbms_sqlpa.ex
ecute_analysis_task,dbms_sqlpa.report_analysis_
task)
SQL PA
VARIABLE t_name VARCHAR2(100);
EXEC :t_name := DBMS_SQLPA.CREATE_ANALYSIS_TASK
(sqlset_name => 'sts1', task_name => 'task1');
EXEC DBMS_SQLPA.EXECUTE_ANALYSIS_TASK
(task_name => 'task1', execution_type => 'TEST_EXECUTE',
execution_name => 'exec_BEFORE_change');
VAR rep CLOB;
EXEC :rep :=
DBMS_SQLPA.REPORT_ANALYSIS_TASK('task1',
'text', changed, 'summary');
print :rep
SQL PA
PROD (Ora10g) --> capture SQL workload into STS

Move STS to test (Ora11g)

Set OPTIMIZER_FEATURES_ENABLE = 10.2

Create SQL PA task for this STS

Execute SQL workload (pre-change)

Set OPTIMIZER_FEATURES_ENABLE = 11.1

Execute SQL workload (post-change)

Review SQL PA report to identify performance gains or losses between pre-change and post-
change executions

Tune regressed SQLs with Tuning Advisor

ADR
diagnostic_dest
ADR base = $ORACLE_BASE by default
ADR home =
/u01/oracle/diag/rdbms/DB/SID
alert,hm,incident,trace subfolders
ADRCI : one base with multiple homes
adrci> set homepath ..


ADR
problem & incident
flood control : 5 & 25
MMON purges expired data
adrci> show incident mode detail p incident_id=1
adrci> ips create package
ips add incident .. package n
ips add file .. package n
ips generate package n in /u01/oracle/diag



Health Monitor
v$hm_check
dbms_hm.run_check
dbms_hm.get_run_report
SELECT name FROM V$HM_CHECK
WHERE INTERNAL_CHECK = 'N' ;
DRA
Analyzes failures based on symptoms
e.g. open failed because datafiles missing
Intelligently determines repair strategies
aggregates failures for efficient repair
e.g. for many bad blocks restore entire file
presents only feasible repair options
ranked by repair time and data loss
Can automatically perform repairs

DRA
RMAN> list failure (critical);
RMAN> advise failure;
RMAN> repair failure (preview);
manual checklist and automated repair



DRA
RMAN> ADVISE FAILURE;
List of Database Failures
=========================
Failure ID Priority Status Time Detected Summary
---------- -------- --------- ------------- -------
125 HIGH OPEN 15-MAY-09 One or more non-system datafiles
are missing
Automated Repair Options
========================
Option Repair Description
------ ------------------
1 Restore and recover datafile 10
Strategy: The repair includes complete media recovery with no data loss
Repair script:
/u01/oracle/diag/rdbms/NDSPRD/NDSPRD3/hm/reco_330500456.hm
DRA
RMAN> REPAIR FAILURE;

Repair script: u01/oracle/diag/rdbms/NDSPRD/NDSPRD3/hm/reco_330500456.hm
contents of repair script:
# restore and recover datafile
sql 'alter database datafile 10 offline';
restore datafile 10;
recover datafile 10;
sql 'alter database datafile 10 online;

Do you really want to execute the above repair (enter YES or NO)? YES
executing repair script

sql statement: alter database datafile 10 offline

Starting restore at 15-MAY-09
..
Finished restore at 15-MAY-0

Starting recover at 15-MAY-09
..
Finished recover at 15-MAY-09

sql statement: alter database datafile 10 online

repair failure complete
Baseline
exec
DBMS_WORKLOAD_REPOSITORY.CREATE_BA
SELINE (start_snap_id => 110, end_snap_id
=> 120, baseline_name => 'peak baseline',
expiration => 30);
baseline template for contiguous period
dba_hist_baseline_template

Baseline
exec
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE_T
EMPLATE (
day_of_week => 'monday', hour_in_day => 18,
duration => 2, expiration => 30,
start_time => '2009-06-15 18:00:00 EST',
end_time => '2009-12-31 20:00:00 EST',
template_name => 'template_2009_mondays');
7 predefined daily maintenance windows:
Mon to Fri 10pm - 2 am , Sat & Sun 6am - 2 am
stats collector, space advisor, sql tuning advisor

Scheduler
lightweight jobs
exec
DBMS_SCHEDULER.CREATE_JOB (
job_name => my_lw_job,
program_name => my_prog,
schedule_name => my_sched,
job_style => 'LIGHTWEIGHT');
remote external jobs
support for DG : logical standby

Password
case sensitive password
alter system set sec_case_sensitive_logon=false;
upgraded db : case insensitive
orapwd : ignorecase param
Tablespace Encryption
create tablespace tbsp1
datafile '+DATA_DG1' size 1G
ENCRYPTION using 3des168 default storage
(encrypt);
algorithms :
3DES168, AES128 (default), AES192
and AES256
Auto Tuning
Identify SQLs from AWR
Tune each SQL using SQL Tuning Advisor
Test SQL profiles by executing SQL
exec
DBMS_AUTO_TASK_ADMIN.DISABLE(
client_name => sql tuning advisor,
window_name => 'monday_window');

Auto Tuning
variable my_rep CLOB;
BEGIN
:my_rep
:=DBMS_SQLTUNE.REPORT_AUTO_TUNING_TASK
(type => 'TEXT',
level => 'TYPICAL',
section => 'ALL');
END;
/
print :my_rep
Plan Baseline
set of all accepted plans in plan history for a repeatable
SQL
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES
SQL Management Base (SMB) housed in sysaux
exec
DBMS_SPM.CONFIGURE('space_budget_percent',30
);
exec
DBMS_SPM.CONFIGURE('plan_retention_weeks',10
5);
select parameter_name, parameter_value from
dba_sql_management_config;
SQL Access Advisor
partitioning of tables,indexes,materialized views
EXEC
DBMS_ADVISOR.CREATE_FILE(DBMS_A
DVISOR.GET_TASK_SCRIPT('ACC_TASK'),
'ADVISOR_RECO', accscript.sql);
DBMS_REDEFINITION package used for
implementing partition
ASM
asm fast mirror resync (for transient failure)
ALTER DISKGROUP data_dg1 SET ATTRIBUTE
'DISK_REPAIR_TIME'='8H';
AU_SIZE 1, 2, 4, 8, 16, 32, or 64 MB
COMPATIBLE.RDBMS
COMPATIBLE.ASM
ALTER DISKGROUP data_dg1 MOUNT FORCE;

ASM
ALTER DISKGROUP data_dg1 DISMOUNT;
ALTER DISKGROUP data_dg1 MOUNT
RESTRICT;
CONNECT / AS SYSASM
CREATE USER .. IDENTIFIED BY ..;
GRANT SYSASM TO ..;
CONNECT user/pw AS SYSASM;
orapwusr utility
DROP DISKGROUP data_dg1 FORCE
INCLUDING CONTENTS;

ASM
ASMCMD> md_backup b /home/oracle/asmbkp
ASMCMD> md_restore -b /home/oracle/asmbkp -t
full -g data_dg1
cp
Lsdsk
OCR & VD placement
ASM fs snapshot
ASM Cluster File System (ACFS)

Vous aimerez peut-être aussi