当前位置:网站首页>Oracle段顾问、怎么处理行链接行迁移、降低高水位
Oracle段顾问、怎么处理行链接行迁移、降低高水位
2022-07-02 06:24:00 【贤时间】
Oracle 有3个定时运行的后台程序,段顾问建议、SQL语句诊断、收集 统计信息,其中段顾问建议是用来分析表数据在数据块中的分布是否合理,如是否产生行链接、行迁移、高水位情况是否合理。
查看段顾问建议是否启用
SELECT client_name ,status ,consumer_group
FROM dba_autotask_client
ORDER BY client_name;
查看 auto space advisor 这一行的状态
启用段顾问建议
--启用
BEGIN
DBMS_AUTO_TASK_ADMIN.ENABLE(
client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);
END;
/
--查看
SELECT window_name,TO_CHAR(window_next_time,'YYYY-MM-DD HH24:MI:SS')
,sql_tune_advisor
FROM dba_autotask_window_clients;
查看段顾问建议内容
SELECT
'Segment Advice --------------------------'|| chr(10) ||
'TABLESPACE_NAME : ' || tablespace_name || chr(10) ||
'SEGMENT_OWNER : ' || segment_owner || chr(10) ||
'SEGMENT_NAME : ' || segment_name || chr(10) ||
'ALLOCATED_SPACE : ' || allocated_space || chr(10) ||
'RECLAIMABLE_SPACE: ' || reclaimable_space || chr(10) ||
'RECOMMENDATIONS : ' || recommendations || chr(10) ||
'SOLUTION 1 : ' || c1 || chr(10) ||
'SOLUTION 2 : ' || c2 || chr(10) ||
'SOLUTION 3 : ' || c3 Advice
FROM
TABLE(dbms_space.asa_recommendations('FALSE', 'FALSE', 'FALSE'));
select
'Task Name : ' || f.task_name || chr(10) ||
'Start Run Time : ' || TO_CHAR(execution_start, 'dd-mon-yy hh24:mi') || chr (10) ||
'Segment Name : ' || o.attr2 || chr(10) ||
'Segment Type : ' || o.type || chr(10) ||
'Partition Name : ' || o.attr3 || chr(10) ||
'Message : ' || f.message || chr(10) ||
'More Info : ' || f.more_info || chr(10) ||
'------------------------------------------------------' Advice
FROM dba_advisor_findings f
,dba_advisor_objects o
,dba_advisor_executions e
WHERE o.task_id = f.task_id
AND o.object_id = f.object_id
AND f.task_id = e.task_id
AND e. execution_start > sysdate - 1
AND e.advisor_name = 'Segment Advisor'
ORDER BY f.task_name;
什么是行链接
行链接是因为自身数据量大(初始或者后来更新的),导致一行数据需要跨多个数据块,这就是行链接。
什么是行迁移
一个行数据块初始比较小或者被更新后比较小,导致被放到有空间的别的数据块中,在原数据块只保留一个指针,指向存储数据的数据块,这就是行迁移。
行链接和行迁移有什么坏处
读取数据时会产生多余的I/O.
怎么处理行链接和行迁移
1.移动
- 移动表 alter table xxx move;
- 重建该表的所有索引
要注意,这个期间这个表不能有事务发生。
2.数据迁移
- 运行一个分析脚本分析产生链接的数据
- 将行链接和行迁移产生的数据插入到临时表
- 删除原表产生行链接和行迁移的数据
- 将临时表的数据再插入原表
3.利用数据泵导入导出重建表
什么是高水位
高水位是未使用数据块和已经使用数据块的分界线,查询数据的时候从高水位线开始往下找。
怎么降低高水位
有4中方法:
1.收缩表
- 启用行迁移 alter table emp enable row movement
- 执行收缩 alter table emp shrink space;
- 重建索引
2.truncate 表
3.移动表(需要重建索引)
4.使用数据泵将表导出,删除表,重新导入
边栏推荐
猜你喜欢

The use of regular expressions in JS

Date time API details

IDEA2020中PySpark的两表关联(字段名相同)

Usage of map and foreach in JS

Redis -- cache breakdown, penetration, avalanche

The default Google browser cannot open the link (clicking the hyperlink does not respond)

Cve - 2015 - 1635 (ms15 - 034) réplication de la vulnérabilité d'exécution de code à distance

Latex compilation error I found no \bibstyle &\bibdata &\citation command

sqli-labs通关汇总-page2

User login function: simple but difficult
随机推荐
The default Google browser cannot open the link (clicking the hyperlink does not respond)
oracle EBS标准表的后缀解释说明
Sqli labs customs clearance summary-page2
Browser scrolling for more implementations
Common prototype methods of JS array
Cve - 2015 - 1635 (ms15 - 034) réplication de la vulnérabilité d'exécution de code à distance
In depth study of JVM bottom layer (3): garbage collector and memory allocation strategy
SQLI-LABS通关(less15-less17)
PIP install
ts和js区别
php中判断版本号是否连续
Self study table Au
Laravel8中的find_in_set、upsert的使用方法
SQLI-LABS通关(less18-less20)
Sqli - Labs Clearance (less6 - less14)
Stress test modification solution
JS divides an array into groups of three
IDEA2020中测试PySpark的运行出错
ORACLE 11G SYSAUX表空间满处理及move和shrink区别
Wechat applet Foundation