数据库管理-第九十四期 19c OCM之路-第四堂(02)(20230725)

news2024/12/28 4:56:55

第九十四期 19c OCM之路-第四堂(02)(20230725)

第四堂继续!

考点3:SQL statement tuning SQL语句调优

  1. 收集Schema统计信息
exec dbms_stats.gather_schems_stats('HR');
  1. 开启制定表索引监控
create index sh_cust_ind_1 on sh.customers(CUST_LAST_NAME));

select 'alter index sh.'||index_name||' monitoring usage;' from dba_indexes where owner='SH' and table_name='CUSTOMERS';

-- 执行输出结果
  1. 创建索引组织表
    按照题目要求创建对应的表:
create table oltp_user.students(stud_id number primary key,fname varchar2(20),lname varchar2(20));
create table oltp_user.classes(class_id number primary key,class_name varchar2(20));
CREATE USER oltp_attendees (
	stud_id NUMBER,
	class_id NUMBER,
	constraint pk_s_c_pk ( stud_id, class_id ),
	constraint fk_stud_id foreign key ( stud_id ) references oltp_user.students ( stud_id ),
	constraint fk_class_id foreign key ( class_id ) references oltp_user.classes ( class_id ) 
) organization INDEX;
  1. 收集直方图统计信息
exec dbms_stats.gather_table_stats('HR','EMPLOYEES', method_opt=>'for columns size skewolny');
  1. 创建位图索引(低选择性)
create bitmap index sh.cust_c_bit on sh.customers(country_id);
  1. 压缩索引
create index sh.cust_c_ind sh.customers(country_id,cust_city) compress 1;
  1. 共享池保存
exec dbms_shared_pool.keep('STANDARD','P');
  1. 绑定变量配置为相似匹配
alter system set cursor_sharing='SIMILAR';
  1. 段空间管理改为自动
    需要将CUST_TBS表空间转换为级自动管理:
select 'alter table '||owner||'.'||table_name||' move tablepsace users;' from dba_tables where tablespace_name='CUST_TBS';
select 'alter index '||owner||'.'||index_name||' rebuild tablepsace users;' from dba_indexes where tablespace_name='CUST_TBS';
-- 执行输出
drop tablespace cust_tbs including contents and datafiles;
create tablespace cust_tbs datafile '/u01/app/oracle/oradata/PROD4/cust_tbs' size 10m autoextend on;

-- 替换前面输出结果将表和索引表空间变更回cust_id
  1. 收集多列统计信息
exec dbms_stats.create_extended_stats('HR','EMPLOYEES','(DEPARTMENT_ID,SALARY'));
exec dbms_stats.gather_table_stat('HR','EMPOLYEES',method_opt=>'for columns (DEPARTMEMT_ID,SALARY)');
  1. SPA
    建议使用EMCC进行操作:
    在这里插入图片描述
    在这里插入图片描述
    后续操作根据提示来做。如时间不足可放弃。
  2. SPM基线稳定

Oracle database 19c:
\qquad ->PL/SQL Packages and Types Reference
\qquad\qquad ->171 DBMS_SQLTUNE
\qquad\qquad\qquad ->171.5 Summary of DBMS_SQLTUNE Subprograms
\qquad\qquad\qquad\qquad ->171.5.8 CREATE_SQLSET Procedure and Function
\qquad\qquad\qquad\qquad ->171.5.35 SELECT_CURSOR_CACHE Function
\qquad\qquad\qquad\qquad ->171.5.19 LOAD_SQLSET Procedure

Oracle database 19c:
\qquad ->PL/SQL Packages and Types Reference
\qquad\qquad ->163 DBMS_SPM
\qquad\qquad\qquad ->163.6 Summary of DBMS_SPM Subprograms
\qquad\qquad\qquad\qquad ->163.6.15 LOAD_PLANS_FROM_SQLSET Function
\qquad\qquad\qquad\qquad ->163.6.9 EVOLVE_SQL_PLAN_BASELINE Function

select * from scott.e1 where empno=7788;

exec dbms_sqltune.create_sqlset(sqlset_name=>'sqlset1',sqlset_owner=>'SYS');

declare
	cur dbms_sqltune.sqlset_cursor;
	a1 varchar2(100);
begin
	a1 := 'upper(sql_text) like "SELECT % FROM SCOTT.E1 WHERE EMPNO=7788%';
	open cur for
	select value(p) from table(dbms_sqltune.select_cursor_cache(attribute_list=>'TYPICAL',base_filter=>a1)) p;
	dbms_sqltune.load_sqlset(sqlset_name=>'sqlset1',populate_cursor=>cur,load_option=>'MERGE',update_option=>'ACCUMULATE',sqlset_owner=>'SYS');
end;
/

alter session set optimizer_capture_sql_plan_baseline=true;

declare
	mp pls_integer;
begin
	mp :=dbms_spm.load_plans_from_sqlset(sqlset_name=>'sqlset1');
end;
/

select * from scott.e1 where empno=7788;
select sql_handel,plan_name,accepted,enabled,fixed from dba_sql_plan_baselines; --结果A

create index scott.e1_ind on scott.e1(empno);

select * from scott.e1 where empno=7788;
select sql_handel,plan_name,accepted,enabled,fixed from dba_sql_plan_baselines; --结果B

declare
	r clob;
begin
	r:=dbms_spm.evolve_sql_plan_baseline(sql_handle=>'上面查出来的SQL_HANDLE');
	-- dbms_output.put_line(r);
end;
/

select sql_handel,plan_name,accepted,enabled,fixed from dba_sql_plan_baselines; --结果变为相同

考点4:Create appropriate schema objects 创建Schema对象

lob列建表配置:

create table ...,lob_col(clob),... tablespace user
	lob(lob_col) store as (
		tablespace lob_data
		disable storage in row
		chunk 16k
		nocache
		storage (
			initial 2m
			next 2m
		)
	)
;

考点5:Configuring parallel execution 配置并行执行

这里就要详见数据库管理-第九十一期 19c OCM之路-第三堂(20230711)考点9,上一期也讲了变更原因。

考点6:Instance tuning 实例调优

为某PDB或某实例设置最大使用2颗CPU资源:

sqlplus sys/oracle@pdbprod2 as sysdba
	alter system set cpu_count=2;

sqlplus sys/oracle@PROD4 as sysdba
	alter system set cpu_count=2 scope=spfile;
	shut immediate
	startup

总结

第四堂考试基本结束。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/786604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA+SpringBoot + Mybatis + Shiro+Bootstrap+Mysql资产设备管理系统

IDEASpringBoot Mybatis ShiroBootstrapMysql资产设备管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.用户新增3.用户设置4.岗位管理5. 审批节点6. 人员查询7. 组织设置8. 人员调整9.角色设置10.角色模块映射11.模块设置12.应用模块13.光纤交换机14.服务器15.网…

使用的华为云RDS数据库不小心把数据删了

目录 前言恢复qp文件帮助文档表级时间点恢复删除数据的时候要注意 前言 华为云查数据的时候前面是有个序号的,删除数据的时候不小心把序号看成id了,导致误删数据。 注:图片如果看不清楚可以点击放大观看! 恢复qp文件 华为云每天…

centos中修改防火墙端口开放配置

1、直接进入文件修改 vim /etc/sysconfig/iptables 2、添加需要开放的端口 (1)添加需要开放的单个端口 4001 -A INPUT -m state --state NEW -m tcp -p tcp --dport 4001 -j ACCEPT (2)添加需要开放的某个网段端口 4001:4020 …

Windows Server 2019 中文版、英文版下载 (updated Jul 2023)

Windows Server 2019 中文版、英文版下载 (updated Jul 2023) Windows Server 2019 Version 1809,2023 年 7 月更新 请访问原文链接:https://sysin.org/blog/windows-server-2019/,查看最新版。原创作品,转载请保留出处。 作者…

软件测试报告怎么编写?第三方性能报告范文模板来了

前言 软件测试报告是软件测试人员针对产品执行性能测试、功能测试、系统测试等一系列操作生成的测试报告文档。一份清楚记录、分析精确的测试报告文档能帮助测试人员了解测试进度、记录产品的缺陷问题,从而更好地完善产品质量。 在测试报告编写过程中,所…

【考研英语语法及长难句】小结

【 考场攻略汇总 】 考点汇总 考场攻略 #1 断开长难句只看谓语动词,不考虑非谓语动词先找从句,先看主句 考场攻略 #2 抓住谓语动词,抓住句子最核心的表述动作或内容通过定位谓语动词,找到复杂多变的主语通过谓语动词的数量&…

优化企业集成架构:iPaaS集成平台助力数字化转型

前言 在数字化时代全面来临之际,企业正面临着前所未有的挑战与机遇。技术的迅猛发展与数字化转型正在彻底颠覆各行各业的格局,不断推动着企业迈向新的前程。然而,这一数字化时代亦衍生出一系列复杂而深奥的难题:各异系统之间数据…

【网络代理】(三)Docker+Haproxy 搭建四层代理

目录 1.1 创建 web 服务器镜像 1.2 启动 web 服务器容器 2.1 编写 haproxy 配置文件 2.2 拉取 haproxy 镜像 2.3 启动 haproxy 容器 3.1 访问 8000 端口 3.2 查看 web 服务器容器日志 附录:haproxy 仪表板 1.1 创建 web 服务器镜像 编写一个 Docke…

Java Object字节流及序列化和反序列化

Java中的对象字节流是通过ObjectInputStream和ObjectOutputStream类来实现的。这两个类提供了将对象转换为字节流和将字节流转换为对象的方法。 要将一个对象转换成字节流,你需要先创建一个ObjectOutputStream对象,然后使用它的writeObject()方法将对象…

AIGC,你看我还有机会吗?| 融云前沿

点击报名 8 月 3 日(周四)融云直播课~ 2022 年底,以 ChatGPT 为代表的“生成式 AI”正式开启了 AI 行业爆点不断的热闹时刻。关注【融云全球互联网通信云】了解更多 傅盛和朱啸虎关于大模型是否还有机会的隔空激辩余热未散,Meta …

VS2017制作安装包关于生成x86或x64报错解决办法

报错如下: ERROR: File System.Data.SQLite.dll targeting AMD64 is not compatible with the projects target platform x86 解决办法: 选中安装包项目按下F4弹出属性弹窗修改目标平台 改为 x64即可

国内攻克OLED屏幕修复术,成本暴降2/3不用拆机换屏

连着许多年各家手机发布会,屏幕基本是会花大精力宣传的三大件之一 也对,无论是外观还是实际的视觉、操作体验,屏幕都是非常重要的一环。 屏幕素质越来越高,用着也的确更爽了,但也越来越不敢摔了。 普普通通的一块 60…

【LeetCode每日一题】——剑指 Offer 30.包含min函数的栈

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 栈 二【题目难度】 简单 三【题目编号】 剑指 Offer 30.包含min函数的栈 四【题目描述】 定…

7.6Jmeter5.1:接口测试实践

需求:需要往平台新增5000条接口数据,这里用到随机数(其实随机数也会重复,如果真实压测可以用文件方式真实导入去测) 1、随机数函数,使用函数助手生成 使用:${__Random(200,5200,)} 2、登录请求 2.1、登录的请求头 C…

深入学习java虚拟机||JVM内存结构五大模型

目录 程序计数器 栈 虚拟机栈 垃圾回收是否涉及栈内存? 栈内存分配越大越好吗? 方法内的局部变量是否线程安全? 栈内存溢出 本地方法栈 堆 方法区 先看内存图总览 程序计数器 定义:全称P r o g r a m C o u n t e r R e …

【算法与数据结构】226、LeetCode翻转二叉树

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:这道题的思路很简单,本质上就是遍历每一个节点,然后交换左右节点。我们可以用前…

吃透《西瓜书》第一章绪论、第二章模型评估

目录 第一章 绪论 1.1 引言 1.2 基本术语 1.3 假设空间 第二章 模型评估 2.1 为什么需要模型评估? 2.2 模型评估的定义 2.2.1 评估方法之留出法: 2.2.2 交叉验证法和自助法 2.3 深入理解模型评估 第一章 绪论 1.1 引言 机器学习是什么? 机器…

Java网络编程(二)流

网络程序所做的很大一部分工作都是简单的输入和输出:将数据字节从一个系统移动到另一个系统。字节就是字节。在很大程度上讲,读取服务器发送给你的数据与读取文件并没什么不同。向客户端发送文本与写文件也没有什么不同。但是,Java中输入和输出(I/O)的组…

【node.js】04-模块化

目录 一、什么是模块化 二、node.js中的模块化 1. node.js中模块的分类 2. 加载模块 3. node.js 中的模块作用域 4. 向外共享模块作用域中的成员 4.1 module对象 4.2 module.exports 对象 4.3 exports对象 5. node.js 中的模块化规范 一、什么是模块化 模块化是指解…

Grafana - TDEngine搭建数据监测报警系统

TDengine 与开源数据可视化系统 Grafana 快速集成搭建数据监测报警系统 一、介绍二、前置条件三、Grafana 安装及配置3.1 下载3.2 安装3.2.1 windows安装 - 图形界面3.2.2 linux安装 - 安装脚本 四、Grafana的TDEngine配置及使用4.1 登录4.2 安装 Grafana Plugin 并配置数据源4…