Oracle 수 동 생 성 단계 제안 (Segment Advisor)
51238 단어 Oacle
Oacle 10g 부터 Oacle 은 세그먼트 컨 설 턴 트 (Segment Advisor) 를 도입 하여 데이터베이스 에 저장 공간 과 관련 된 건의 가 있 는 지 확인 하고 10gR 2 부터 Oacle 은 스스로 세그먼트 컨 설 턴 트 작업 을 주동 적 으로 스케줄 링 하고 실행 하 며 데이터베이스 에 있 는 세그먼트 를 정기 적 으로 분석 하고 분석 결 과 를 내부 표 에 넣 었 다.그러나 매우 많은 경우 에 DBA 로 서 저 희 는 Oacle 이 자체 적 으로 가지 고 있 는 각종 스케줄 링 작업 (통계 정보 수집, 세그먼트 컨 설 턴 트, SQL 컨 설 턴 트 등) 을 사용 하지 않 고 수공 으로 제어 하여 유사 한 작업 을 수행 합 니 다 (또는 자원 을 절약 하기 위해).그래서 매우 많은 상황 에서 우 리 는 세그먼트 컨 설 턴 트 라 는 매우 실 용적 인 기능 을 사용 하지 못 했다.이 글 은 표 대상 과 표 공간 등급 에서 수 동 집행 세그먼트 컨 설 턴 트 를 통 해 다음 생 에 제안 하 는 방법 이다.
역할
3. 세그먼트 컨 설 턴 트 의 분석 결과 유형
declare
my_task_id
number;
obj_id
number;
my_task_name varchar2(
100);
my_task_desc varchar2(
500);
begin
my_task_name :
=
'advisor_test tab Advice';
-
- , ,
my_task_desc :
=
'Manual Segment Advisor Run';
-
- , ,
-
-
-
-
-step
1
/
*
*
/
dbms_advisor.create_task(
advisor_name
=
>
'Segment Advisor',
-
- Segment Advisor
task_id
=
> my_task_id,
task_name
=
> my_task_name,
task_desc
=
>my_task_desc);
-
-
-
-
-step
2
/
*
*
/
dbms_advisor.create_object(
task_name
=
>my_task_name,
object_type
=
>
'TABLE',
-
- ,
'TABLE',
'TABLESPACE'
attr1
=
>
'DBMON',
-
-
- , username,
attr2
=
>
'ADVISOR_TEST',
-
-
- , ,
null
attr3
=
>
NULL,
attr4
=
>
null,
attr5
=
>
null,
object_id
=
>obj_id);
-
-
-
-
-step
3
/
*
*
/
dbms_advisor.set_task_parameter(
task_name
=
> my_task_name,
/
*
"ecommend_all" ,
TRUE ,
FALSE
*
/
/
*
"time_limit", ,
*
/
parameter
=
>
'recommend_all',
-
-
-
value
=
>
'TRUE');
-
-
-
-
-step
4
/
*
*
/
dbms_advisor.execute_task(my_task_name);
end;
/
、
(
1)
select
/
*
"|chr(13)||chr(10)" windows , linux ,
"chr(10)"
*
/
'Task name :'||f.task_name||chr(
13)||chr(
10)||
'Segment name :'||o.attr2 ||chr(
13)||chr(
10)||
'Sement type :'||o.
type ||chr(
13)||chr(
10)||
'partition name:'||o.attr3 ||chr(
13)||chr(
10)||
'Message :'||f.message ||chr(
13)||chr(
10)||
'More info :'||f.more_info TASK_ADVICE
from dba_advisor_findings f,dba_advisor_objects o
where o.task_id
=f.task_id
and o.object_id
=f.object_id
and f.task_name
=
'advisor_test tab Advice'
order
by f.task_name;
(
2)
TABLE(dbms_space.asa_recommendations(all_runs
=
>
'TRUE',show_manual
=
>
'TRUE',show_findings
=
>
'FALSE')) ;
true ,
false
true ,
false
true ,
false
: (1)
、
1( )
SQL
>
create
table advisor_test
as
select
*
from dba_objects;
Table created
SQL
>
insert
into advisor_test
select
*
from advisor_test;
72525
rows inserted
SQL
>
/
145050
rows inserted
SQL
>
/
290100
rows inserted
SQL
>
commit;
Commit complete
SQL
>
delete advisor_test
where rownum
<
100000;
99999
rows deleted
SQL
>
/
99999
rows deleted
SQL
>
commit;
Commit complete
declare
my_task_id
number;
obj_id
number;
my_task_name varchar2(
100);
my_task_desc varchar2(
500);
begin
my_task_name :
=
'advisor_test tab Advice';
my_task_desc :
=
'Manual Segment Advisor Run';
-
-
-
-
-step
1
dbms_advisor.create_task(
advisor_name
=
>
'Segment Advisor',
task_id
=
> my_task_id,
task_name
=
> my_task_name,
task_desc
=
>my_task_desc);
-
-
-
-
-step
2
dbms_advisor.create_object(
task_name
=
>my_task_name,
object_type
=
>
'TABLE',
attr1
=
>
'DBMON',
attr2
=
>
'ADVISOR_TEST',
attr3
=
>
NULL,
attr4
=
>
null,
attr5
=
>
null,
object_id
=
>obj_id);
-
-
-
-
-step
3
dbms_advisor.set_task_parameter(
task_name
=
> my_task_name,
parameter
=
>
'recommend_all',
value
=
>
'TRUE');
-
-
-
-
-step
4
dbms_advisor.execute_task(my_task_name);
end;
/
SQL
>
select
2
/
*
"|chr(13)||chr(10)" windows , linux ,
"chr(10)"
*
/
3
'Task name :'||f.task_name||chr(
13)||chr(
10)||
4
'Segment name :'||o.attr2 ||chr(
13)||chr(
10)||
5
'Sement type :'||o.
type ||chr(
13)||chr(
10)||
6
'partition name:'||o.attr3 ||chr(
13)||chr(
10)||
7
'Message :'||f.message ||chr(
13)||chr(
10)||
8
'More info :'||f.more_info TASK_ADVICE
9
from dba_advisor_findings f,dba_advisor_objects o
10
where o.task_id
=f.task_id
11
and o.object_id
=f.object_id
12
and f.task_name
=
'advisor_test tab Advice'
13
order
by f.task_name;
TASK_ADVICE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Task
name :advisor_test tab Advice
Segment
name :ADVISOR_TEST
Sement
type :
TABLE
partition
name:
Message : DBMON.ADVISOR_TEST ,
285435
31 。
More info : :
75497472: :
46953941: :
28543531:
、 2( )
declare
my_task_id
number;
obj_id
number;
my_task_name varchar2(
100);
my_task_desc varchar2(
500);
begin
my_task_name :
=
'Tablespace Advice';
my_task_desc :
=
'Manual Segment Advisor Run';
-
-
-
-
-step
1
dbms_advisor.create_task(
advisor_name
=
>
'Segment Advisor',
task_id
=
> my_task_id,
task_name
=
> my_task_name,
task_desc
=
>my_task_desc);
-
-
-
-
-step
2
dbms_advisor.create_object(
task_name
=
>my_task_name,
object_type
=
>
'TABLESPACE',
attr1
=
>
'USERS',
attr2
=
>
null,
attr3
=
>
NULL,
attr4
=
>
null,
attr5
=
>
null,
object_id
=
>obj_id);
-
-
-
-
-step
3
dbms_advisor.set_task_parameter(
task_name
=
> my_task_name,
parameter
=
>
'recommend_all',
value
=
>
'TRUE');
-
-
-
-
-step
4
dbms_advisor.execute_task(my_task_name);
end;
/
SQL
>
select
2
/
*
"|chr(13)||chr(10)" windows , linux ,
"chr(10)"
*
/
3
'Task name :'||f.task_name||chr(
13)||chr(
10)||
4
'Segment name :'||o.attr2 ||chr(
13)||chr(
10)||
5
'Sement type :'||o.
type ||chr(
13)||chr(
10)||
6
'partition name:'||o.attr3 ||chr(
13)||chr(
10)||
7
'Message :'||f.message ||chr(
13)||chr(
10)||
8
'More info :'||f.more_info TASK_ADVICE
9
from dba_advisor_findings f,dba_advisor_objects o
10
where o.task_id
=f.task_id
11
and o.object_id
=f.object_id
12
and f.task_name
=
'Tablespace Advice'
13
order
by f.task_name;
TASK_ADVICE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Task
name :Tablespace Advice
Segment
name :T_SCEGAOKAOQUERY_GZ
Sement
type :
TABLE
partition
name:
Message :
10MB。
More info : :
65536: :
8192: :
57344:
Task
name :Tablespace Advice
Segment
name :T_SCEGAOKAOQUERY_GZ
Sement
type :
TABLE
partition
name:
TASK_ADVICE
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Message :
10MB。
More info : :
3145728: :
2871921: :
273807:
Task
name :Tablespace Advice
Segment
name :T_SCEGAOKAOQUERY
Sement
type :
TABLE
partition
name:
Message :
10MB。
More info : :
46137344: :
44837534: :
1299810:
-
-
-
-
-
-
-
- ,
-
-
-
-
-
-
-
-
-
-
-
-
-
-
: delete_task , exec dbms_advisor.delete_task(task_name => 'Tablespace Advice');
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.