botang 发表于 2018-8-19 09:32:01

课程第29/30次(2018-08-19星期日上下午)

自动接受SQL Profile:
BEGIN
dbms_sqltune.set_auto_tuning_task_parameter( 'ACCEPT_SQL_PROFILES', 'TRUE');
END;
In Oracle Database 11g, the performance improvement factor has to be at least three before a SQL profile is implemented.


调整在Maintenance窗口中的调有频率(在界面上调不了):


begin
DBMS_SQLTUNE.SET_TUNING_TASK_PARAMETER('SYS_AUTO_SQL_TUNING_TASK',
                   'TIME_LIMIT', 7200);
end;         
Maximum Time Spent Per SQL During Tuning (sec):
BEGIN
dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK', 'LOCAL_TIME_LIMIT', 1400);
end;
Maximum SQL Profiles Implemented Per Execution:

BEGIN
dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK','MAX_SQL_PROFILES_PER_EXEC', 50);
end;
Maximum SQL Profiles Implemented (Overall):
BEGIN
dbms_sqltune.set_tuning_task_parameter('SYS_AUTO_SQL_TUNING_TASK', 'MAX_AUTO_SQL_PROFILES', 10002);
end;DBA_ADVISOR_EXECUTIONS: Get data about each execution of the task
DBA_ADVISOR_SQLSTATS: See the test-execute statistics generated while testing the SQL profiles
DBA_ADVISOR_SQLPLANS: See the plans encountered during test-execute
SPA + STA的结果在下面:

SQL> desc DBA_ADVISOR_SQLPLANS
Name                                           Null?    Type
----------------------------------------- -------- ----------------------------
TASK_NAME                                          VARCHAR2(30)
TASK_ID                                 NOT NULL NUMBER(38)
EXECUTION_NAME                            NOT NULL VARCHAR2(30)
SQL_ID                                    NOT NULL VARCHAR2(13)
OBJECT_ID                                 NOT NULL NUMBER(38)
ATTRIBUTE                                          VARCHAR2(34)
STATEMENT_ID                                          VARCHAR2(30)
PLAN_HASH_VALUE                           NOT NULL NUMBER
PLAN_ID                                 NOT NULL NUMBER
TIMESTAMP                                          DATE
REMARKS                                          VARCHAR2(4000)
OPERATION                                          VARCHAR2(30)
OPTIONS                                          VARCHAR2(255)
OBJECT_NODE                                          VARCHAR2(128)
OBJECT_OWNER                                          VARCHAR2(30)
OBJECT_NAME                                          VARCHAR2(30)
OBJECT_ALIAS                                          VARCHAR2(65)
OBJECT_INSTANCE                                    NUMBER(38)
OBJECT_TYPE                                          VARCHAR2(30)
OPTIMIZER                                          VARCHAR2(255)
SEARCH_COLUMNS                                     NUMBER
ID                                           NOT NULL NUMBER(38)
PARENT_ID                                          NUMBER(38)
DEPTH                                                    NUMBER(38)
POSITION                                          NUMBER(38)
COST                                                    NUMBER(38)
CARDINALITY                                          NUMBER(38)
BYTES                                                    NUMBER(38)
OTHER_TAG                                          VARCHAR2(255)
PARTITION_START                                    VARCHAR2(255)
PARTITION_STOP                                     VARCHAR2(255)
PARTITION_ID                                          NUMBER(38)
OTHER                                                    LONG
DISTRIBUTION                                          VARCHAR2(30)
CPU_COST                                          NUMBER(38)
IO_COST                                          NUMBER(38)
TEMP_SPACE                                          NUMBER(38)
ACCESS_PREDICATES                                    VARCHAR2(4000)
FILTER_PREDICATES                                    VARCHAR2(4000)
PROJECTION                                          VARCHAR2(4000)
TIME                                                    NUMBER(38)
QBLOCK_NAME                                          VARCHAR2(30)
OTHER_XML                                          CLOB

SQL>
比较:
默认的PLAN_TABLE(全局临时表)
SQL> desc plan_table
Name                                           Null?    Type
----------------------------------------- -------- ----------------------------
STATEMENT_ID                                          VARCHAR2(30)
PLAN_ID                                          NUMBER
TIMESTAMP                                          DATE
REMARKS                                          VARCHAR2(4000)
OPERATION                                          VARCHAR2(30)
OPTIONS                                          VARCHAR2(255)
OBJECT_NODE                                          VARCHAR2(128)
OBJECT_OWNER                                          VARCHAR2(30)
OBJECT_NAME                                          VARCHAR2(30)
OBJECT_ALIAS                                          VARCHAR2(65)
OBJECT_INSTANCE                                    NUMBER(38)
OBJECT_TYPE                                          VARCHAR2(30)
OPTIMIZER                                          VARCHAR2(255)
SEARCH_COLUMNS                                     NUMBER
ID                                                    NUMBER(38)
PARENT_ID                                          NUMBER(38)
DEPTH                                                    NUMBER(38)
POSITION                                          NUMBER(38)
COST                                                    NUMBER(38)
CARDINALITY                                          NUMBER(38)
BYTES                                                    NUMBER(38)
OTHER_TAG                                          VARCHAR2(255)
PARTITION_START                                    VARCHAR2(255)
PARTITION_STOP                                     VARCHAR2(255)
PARTITION_ID                                          NUMBER(38)
OTHER                                                    LONG
OTHER_XML                                          CLOB
DISTRIBUTION                                          VARCHAR2(30)
CPU_COST                                          NUMBER(38)
IO_COST                                          NUMBER(38)
TEMP_SPACE                                          NUMBER(38)
ACCESS_PREDICATES                                    VARCHAR2(4000)
FILTER_PREDICATES                                    VARCHAR2(4000)
PROJECTION                                          VARCHAR2(4000)
TIME                                                    NUMBER(38)
QBLOCK_NAME                                          VARCHAR2(30)
比较自己建的PLAN_TABLE:
@/u01/app/oracle/acfsmounts/acfs_db1/rdbms/admin/utlxplan.sql
SQL> desc plan_table
Name                                           Null?    Type
----------------------------------------- -------- ----------------------------
STATEMENT_ID                                          VARCHAR2(30)
PLAN_ID                                          NUMBER
TIMESTAMP                                          DATE
REMARKS                                          VARCHAR2(4000)
OPERATION                                          VARCHAR2(30)
OPTIONS                                          VARCHAR2(255)
OBJECT_NODE                                          VARCHAR2(128)
OBJECT_OWNER                                          VARCHAR2(30)
OBJECT_NAME                                          VARCHAR2(30)
OBJECT_ALIAS                                          VARCHAR2(65)
OBJECT_INSTANCE                                    NUMBER(38)
OBJECT_TYPE                                          VARCHAR2(30)
OPTIMIZER                                          VARCHAR2(255)
SEARCH_COLUMNS                                     NUMBER
ID                                                    NUMBER(38)
PARENT_ID                                          NUMBER(38)
DEPTH                                                    NUMBER(38)
POSITION                                          NUMBER(38)
COST                                                    NUMBER(38)
CARDINALITY                                          NUMBER(38)
BYTES                                                    NUMBER(38)
OTHER_TAG                                          VARCHAR2(255)
PARTITION_START                                    VARCHAR2(255)
PARTITION_STOP                                     VARCHAR2(255)
PARTITION_ID                                          NUMBER(38)
OTHER                                                    LONG
DISTRIBUTION                                          VARCHAR2(30)
CPU_COST                                          NUMBER(38)
IO_COST                                          NUMBER(38)
TEMP_SPACE                                          NUMBER(38)
ACCESS_PREDICATES                                    VARCHAR2(4000)
FILTER_PREDICATES                                    VARCHAR2(4000)
PROJECTION                                          VARCHAR2(4000)
TIME                                                    NUMBER(38)
QBLOCK_NAME                                          VARCHAR2(30)
OTHER_XML                                          CLOB
与OCM考试相关:
insert into plan_table select statement_id,plan_id,timestamp,remarks,OPERATION,OPTIONS,OBJECT_NODE,OBJECT_OWNER,OBJECT_NAME,OBJECT_ALIAS,OBJECT_INSTANCE,OBJECT_TYPE,OPTIMIZER,SEARCH_COLUMNS,ID,PARENT_ID,DEPTH,POSITION,COST,CARDINALITY,BYTES,OTHER_TAG,PARTITION_START,PARTITION_STOP,PARTITION_ID,OTHER,DISTRIBUTION,CPU_COST,IO_COST,TEMP_SPACE,ACCESS_PREDICATES,FILTER_PREDICATES,PROJECTION,TIME,QBLOCK_NAME,OTHER_XML
from DBA_ADVISOR_SQLPLANS where task_name='MYSPA' and execution_name='SECOND_SQL_TRIAL' and sql_id in('',''.....)--------------------------------------------------------------
ASM快速镜像重同步:
ALTER DISKGROUP DATA OFFLINE DISK ASMDISK02 DROP AFTER 3.6 h;
# cd /dev/oracleasm/disks/
# ls -l ASMDISK02
brw-rw---- 1 oracle asmadmin 7, 1 Aug 17 16:28 ASMDISK02
# ls -l /dev/loop*
brw-r----- 1 root disk 7,   0 Aug 17 16:27 /dev/loop0
brw-r----- 1 root disk 7,   1 Aug 17 16:27 /dev/loop1

ALTER DISKGROUP SET ATTRIBUTE 'DISK_REPAIR_TIME'='2D4H30M' ;

--------------------------------------------
$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 18 09:59:32 2018

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

SQL> conn / as sysasm
Connected.
SQL> desc v$asm_disk;
Name                                           Null?    Type
----------------------------------------- -------- ----------------------------
GROUP_NUMBER                                          NUMBER
DISK_NUMBER                                          NUMBER
COMPOUND_INDEX                                     NUMBER
INCARNATION                                          NUMBER
MOUNT_STATUS                                          VARCHAR2(7)
HEADER_STATUS                                          VARCHAR2(12)
MODE_STATUS                                          VARCHAR2(7)
STATE                                                    VARCHAR2(8)
REDUNDANCY                                          VARCHAR2(7)
LIBRARY                                          VARCHAR2(64)
OS_MB                                                    NUMBER
TOTAL_MB                                          NUMBER
FREE_MB                                          NUMBER
HOT_USED_MB                                          NUMBER
COLD_USED_MB                                          NUMBER
NAME                                                    VARCHAR2(30)
FAILGROUP                                          VARCHAR2(30)
LABEL                                                    VARCHAR2(31)
PATH                                                    VARCHAR2(256)
UDID                                                    VARCHAR2(64)
PRODUCT                                          VARCHAR2(32)
CREATE_DATE                                          DATE
MOUNT_DATE                                          DATE
REPAIR_TIMER                                          NUMBER
READS                                                    NUMBER
WRITES                                             NUMBER
READ_ERRS                                          NUMBER
WRITE_ERRS                                          NUMBER
READ_TIME                                          NUMBER
WRITE_TIME                                          NUMBER
BYTES_READ                                          NUMBER
BYTES_WRITTEN                                          NUMBER
PREFERRED_READ                                     VARCHAR2(1)
HASH_VALUE                                          NUMBER
HOT_READS                                          NUMBER
HOT_WRITES                                          NUMBER
HOT_BYTES_READ                                     NUMBER
HOT_BYTES_WRITTEN                                    NUMBER
COLD_READS                                          NUMBER
COLD_WRITES                                          NUMBER
COLD_BYTES_READ                                    NUMBER
COLD_BYTES_WRITTEN                                    NUMBER
VOTING_FILE                                          VARCHAR2(1)
SECTOR_SIZE                                          NUMBER
FAILGROUP_TYPE                                     VARCHAR2(7)

SQL>
----------------------------
+ASM实例:
select* from v$asm_diskgroup;

select* from v$asm_template
where group_number=2;

alter diskgroup data   add template template1
   attributes (unprotected fine ); DB:
create tablespace tbsasm datafile '+data(template1)/orcl/datafile/tbsasm.dbf'
size 5M ;
+ASM:
selectf.REDUNDANCY , f.STRIPED
from v_$asm_filef
where (f.GROUP_NUMBER,f.FILE_NUMBER)=(
selecta.GROUP_NUMBER, a.FILE_NUMBER
from v_$asm_aliasa
where upper(a.NAME) ='TBSASM.DBF');
   REDUNDANCYSTRIPED
1UNPROTFINE

selectf.NAME
from v_$asm_alias f
where (f.GROUP_NUMBER,f.FILE_NUMBER) in (
selecta.GROUP_NUMBER, a.FILE_NUMBER
from v_$asm_aliasa
where upper(a.NAME) ='TBSASM.DBF');
   NAME
1TBSASM.274.984479179
2tbsasm.dbf

984479179是文件incarnation:
$ asmcmd ls +data/orcl/datafile | sort -n -t . -k 3
tbsasm.dbf
SYSAUX.257.979604823
EXAMPLE.265.979605007
UNDOTBS1.260.981998301
USERS.263.981998613
SYSTEM.256.982001513
TBS_NOCOMPRESSION.267.982770231
TBS_BASIC.268.982770235
TBS_OLTP.269.982770243
TBS_QUERY.270.982770251
TBS_ARCHIVE.271.982770261
TBSENC.272.983997167
TBSJFV.273.984463489
TBSASM.274.984479179
$ asmcmd ls +data/orcl/datafile | sort -n -t . -k 3 -r
TBSASM.274.984479179
TBSJFV.273.984463489
TBSENC.272.983997167
TBS_ARCHIVE.271.982770261
TBS_QUERY.270.982770251
TBS_OLTP.269.982770243
TBS_BASIC.268.982770235
TBS_NOCOMPRESSION.267.982770231
SYSTEM.256.982001513
USERS.263.981998613
UNDOTBS1.260.981998301
EXAMPLE.265.979605007
SYSAUX.257.979604823
tbsasm.dbf
$

--------------------
$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 18 10:36:34 2018

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

SQL> conn / as sysasm
Connected.
SQL> alter diskgroup data check ;

Diskgroup altered.

SQL> alter diskgroup fra check ;

Diskgroup altered.

-----------------------------------------------------
ASMCMD> md_backup -b /home/oracle/fra.bak-g fra
WARNING:option 'g' is deprecated for 'md_backup'
please use 'G'

WARNING:option 'b' is deprecated for 'md_backup'
Disk group metadata to be backed up: FRA
Current alias directory path: ORCL/CHANGETRACKING
Current alias directory path: ORCL/ARCHIVELOG/2018_08_18
Current alias directory path: ORCL/ONLINELOG
Current alias directory path: ORCL
Current alias directory path: ORCL/ARCHIVELOG/2018_08_19
Current alias directory path: ORCL/AUTOBACKUP/2018_08_16
Current alias directory path: ORCL/AUTOBACKUP
Current alias directory path: ORCL/ARCHIVELOG/2018_08_17
Current alias directory path: ORCL/ARCHIVELOG/2018_08_16
Current alias directory path: ORCL/CONTROLFILE
Current alias directory path: ORCL/ARCHIVELOG
ASMCMD>

DB RMAN:
$ rman target /

Recovery Manager: Release 11.2.0.3.0 - Production on Sun Aug 19 16:06:59 2018

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

connected to target database: ORCL (DBID=1343950367)

RMAN> backup recovery area;

Starting backup at 19-AUG-18
using target database control file instead of recovery catalog
allocated channel: ORA_SBT_TAPE_1
channel ORA_SBT_TAPE_1: SID=207 device type=SBT_TAPE
channel ORA_SBT_TAPE_1: Oracle Secure Backup
allocated channel: ORA_SBT_TAPE_2
channel ORA_SBT_TAPE_2: SID=83 device type=SBT_TAPE
channel ORA_SBT_TAPE_2: Oracle Secure Backup
specification does not match any datafile copy in the repository
channel ORA_SBT_TAPE_1: starting archived log backup set
channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=163 RECID=155 STAMP=984345215
input archived log thread=1 sequence=164 RECID=156 STAMP=984345256
input archived log thread=1 sequence=165 RECID=157 STAMP=984345283
input archived log thread=1 sequence=166 RECID=158 STAMP=984345312
input archived log thread=1 sequence=167 RECID=159 STAMP=984345349
input archived log thread=1 sequence=168 RECID=160 STAMP=984346310
input archived log thread=1 sequence=169 RECID=161 STAMP=984346328
input archived log thread=1 sequence=170 RECID=162 STAMP=984346475
input archived log thread=1 sequence=171 RECID=163 STAMP=984346477
input archived log thread=1 sequence=172 RECID=164 STAMP=984392142
input archived log thread=1 sequence=173 RECID=165 STAMP=984395491
input archived log thread=1 sequence=174 RECID=166 STAMP=984408613
channel ORA_SBT_TAPE_1: starting piece 1 at 19-AUG-18
channel ORA_SBT_TAPE_2: starting archived log backup set
channel ORA_SBT_TAPE_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=175 RECID=167 STAMP=984425903
input archived log thread=1 sequence=176 RECID=168 STAMP=984430861
input archived log thread=1 sequence=177 RECID=169 STAMP=984472180
input archived log thread=1 sequence=178 RECID=170 STAMP=984473980
input archived log thread=1 sequence=179 RECID=171 STAMP=984483013
input archived log thread=1 sequence=180 RECID=172 STAMP=984501656
input archived log thread=1 sequence=181 RECID=173 STAMP=984501677
input archived log thread=1 sequence=182 RECID=174 STAMP=984509119
input archived log thread=1 sequence=183 RECID=175 STAMP=984516076
input archived log thread=1 sequence=184 RECID=176 STAMP=984561300
input archived log thread=1 sequence=185 RECID=177 STAMP=984562511
input archived log thread=1 sequence=186 RECID=178 STAMP=984564021
input archived log thread=1 sequence=187 RECID=179 STAMP=984574839
channel ORA_SBT_TAPE_2: starting piece 1 at 19-AUG-18
channel ORA_SBT_TAPE_1: finished piece 1 at 19-AUG-18
piece handle=1ptav5pl_1_1 tag=TAG20180819T160717 comment=API Version 2.0,MMS Version 10.4.0.4
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:36
channel ORA_SBT_TAPE_1: starting archived log backup set
channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=188 RECID=180 STAMP=984579361
channel ORA_SBT_TAPE_1: starting piece 1 at 19-AUG-18
channel ORA_SBT_TAPE_2: finished piece 1 at 19-AUG-18
piece handle=1qtav5pm_1_1 tag=TAG20180819T160717 comment=API Version 2.0,MMS Version 10.4.0.4
channel ORA_SBT_TAPE_2: backup set complete, elapsed time: 00:00:35
channel ORA_SBT_TAPE_2: input backup set: count=56, stamp=984345646, piece=1
channel ORA_SBT_TAPE_2: starting piece 1 at 19-AUG-18
channel ORA_SBT_TAPE_2: backup piece +FRA/orcl/autobackup/2018_08_16/s_984345646.283.984345647
channel ORA_SBT_TAPE_1: finished piece 1 at 19-AUG-18
piece handle=1rtav5qp_1_1 tag=TAG20180819T160717 comment=API Version 2.0,MMS Version 10.4.0.4
channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:17
piece handle=c-1343950367-20180816-00 comment=API Version 2.0,MMS Version 10.4.0.4
channel ORA_SBT_TAPE_2: finished piece 1 at 19-AUG-18
channel ORA_SBT_TAPE_2: backup piece complete, elapsed time: 00:00:26
Finished backup at 19-AUG-18

Starting Control File and SPFILE Autobackup at 19-AUG-18
piece handle=c-1343950367-20180819-00 comment=API Version 2.0,MMS Version 10.4.0.4
Finished Control File and SPFILE Autobackup at 19-AUG-18

RMAN>

ASMCMD> md_restore/home/oracle/fra.bak -G fra--full
Current Diskgroup metadata being restored: FRA
Diskgroup FRA created!
System template ONLINELOG modified!
System template AUTOBACKUP modified!
System template ASMPARAMETERFILE modified!
System template OCRFILE modified!
System template ASM_STALE modified!
System template OCRBACKUP modified!
System template PARAMETERFILE modified!
System template ASMPARAMETERBAKFILE modified!
System template FLASHFILE modified!
System template XTRANSPORT modified!
System template DATAGUARDCONFIG modified!
System template TEMPFILE modified!
System template ARCHIVELOG modified!
System template CONTROLFILE modified!
System template DUMPSET modified!
System template BACKUPSET modified!
System template FLASHBACK modified!
System template DATAFILE modified!
System template CHANGETRACKING modified!
Directory +FRA/ORCL re-created!
Directory +FRA/ORCL/AUTOBACKUP re-created!
Directory +FRA/ORCL/ARCHIVELOG re-created!
Directory +FRA/ORCL/CHANGETRACKING re-created!
Directory +FRA/ORCL/ONLINELOG re-created!
Directory +FRA/ORCL/CONTROLFILE re-created!
Directory +FRA/ORCL/ARCHIVELOG/2018_08_16 re-created!
Directory +FRA/ORCL/ARCHIVELOG/2018_08_19 re-created!
Directory +FRA/ORCL/ARCHIVELOG/2018_08_18 re-created!
Directory +FRA/ORCL/ARCHIVELOG/2018_08_17 re-created!
Directory +FRA/ORCL/AUTOBACKUP/2018_08_16 re-created!
ASMCMD>
把数据用rman还原回来:
RMAN> restore archivelog sequence 188;

Starting restore at 19-AUG-18
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
using channel ORA_DISK_7
using channel ORA_DISK_8
using channel ORA_SBT_TAPE_1
using channel ORA_SBT_TAPE_2

channel ORA_SBT_TAPE_1: starting archived log restore to default destination
channel ORA_SBT_TAPE_1: restoring archived log
archived log thread=1 sequence=188
channel ORA_SBT_TAPE_1: reading from backup piece 1rtav5qp_1_1
channel ORA_SBT_TAPE_1: piece handle=1rtav5qp_1_1 tag=TAG20180819T160717
channel ORA_SBT_TAPE_1: restored backup piece 1
channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:35
Finished restore at 19-AUG-18

RMAN>

ASMCMD> ls
thread_1_seq_188.257.984586895

ALTER DISKGROUP DATA SET PERMISSION OWNER=Read write, GROUP=Read only, OTHER=Read only FOR FILE '+DATA/ORCL/spfileorcl.ora'
----------------IDP:
+ASM实例:
select* from v$asm_diskgroup;
select* from v$asm_template
where group_number=2;
alter diskgroup data   add template template2
   attributes (unprotected fine   hotmirrorhot );DB:
create tablespace tbsasm2 datafile '+data(template2)/orcl/datafile/tbsasm2.dbf'
size 5M ;+ASM:
selectf.REDUNDANCY , f.STRIPED ,f.PRIMARY_REGION , f.MIRROR_REGION
from v$asm_filef
where (f.GROUP_NUMBER,f.FILE_NUMBER)=(
selecta.GROUP_NUMBER, a.FILE_NUMBER
from v$asm_aliasa
where upper(a.NAME) ='TBSASM2.DBF');
   REDUNDANCYSTRIPEDPRIMARY_REGIONMIRROR_REGION
1UNPROTFINEHOTHOT




SYSTEM_MOVING_WINDOW 10g没有, 11g专有的, 就是用来设定自适应metric(维度)。
我们自己的基线,只有收集完统计信息(既不是Optimizer statistics也不是Database statistics),才能做为自适应metric(维度)的标准:
















页: [1]
查看完整版本: 课程第29/30次(2018-08-19星期日上下午)