1.
sqlplus / as sysdba
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
/home/shelloracle/awrrpt_1_7_22.html
--之前没有权限 root用户下建立的/home/shelloracle
sudo chown oracle:oinstall /home/shelloracle
模拟生成AWR报告的场景
-- 生成起始快照
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
-- 执行模拟负载操作...
-- 创建测试表(约消耗1GB空间)
CREATE TABLE test_cpu_load AS
SELECT LEVEL AS id,
RPAD('CPU_STRESS', 1000, 'X') AS data
FROM DUAL
CONNECT BY LEVEL <= 1000000;
-- 执行全表扫描+聚合计算(触发CPU消耗)
SELECT COUNT(*) FROM (
SELECT t1.id, t2.data
FROM huang.test_cpu_load t1, huang.test_cpu_load t2
WHERE t1.id = t2.id
AND ROWNUM <= 100000
);
-- 创建测试表(初始数据)
CREATE TABLE huang.test_io_load (
id NUMBER PRIMARY KEY,
data CLOB
);
-- 插入大量LOB数据(每次插入1MB数据,共100次)
DECLARE
v_clob CLOB := RPAD('X', 1024*1024, 'Y'); -- 1MB数据
BEGIN
FOR i IN 1..100 LOOP
INSERT INTO huang.test_io_load VALUES (i, v_clob);
COMMIT;
END LOOP;
END;
/
-- 更新所有记录触发物理写入
UPDATE huang.test_io_load SET data = RPAD(data, 1024*1024, 'Z');
COMMIT;
-- 生成结束快照
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
2.上传文件
参考1