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

第九十四期 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

总结

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android性能优化之游戏的Theme背景图

近期,对游戏的内存优化,通过内存快照发现,某个Activity的theme背景图 占用3M 多。考虑着手对齐进行优化。 问题 查看游戏中的内存快照,发现有一个图片bitmap 占用3M 多,设置在Activity的背景中: 查看Phon…

scrcpy2.0+实时将手机画面显示在屏幕上并用鼠标模拟点击2023.7.26

想要用AI代打手游,除了模拟器登录,也可以直接使用第三方工具Scrcpy,来自github,它是一个开源的屏幕镜像工具,可以在电脑上显示Android设备的画面,并支持使用鼠标进行交互。 目录 1. 下载安装2. scrcpy的高级…

使用serverless实现从oss下载文件并压缩

公司之前开发一个网盘系统, 可以上传文件, 打包压缩下载文件, 但是在处理大文件的时候, 服务器遇到了性能问题, 主要是这个项目是单机部署.......(离谱), 然后带宽只有100M, 现在用户比之前多很多, 然后所有人的压缩下载请求都给到这一台服务器了, 比如多个人下载的时候带宽问…

python与深度学习(四):ANN和fashion_mnist二

目录 1. 说明2. fashion_mnist的ANN模型测试2.1 导入相关库2.2 加载数据和模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章训练的模型进行测…

CASAtomic原子操作详解

一、CAS(Compare And Swap) 1、CAS介绍 CAS原理:假设有三个值,E(旧值)、U(需要更新的值)、V(内存中真实的值),具体参照下图: 作用&a…

2023第五届全国生物资源提取与应用创新论坛即将举办

01、会议背景 为进一步加强生物资源提取行业交流与合作,促进业“产学研用”融合,提升行业科技创新水平,增强行业国际竞争力,中国生物发酵产业协会、浙江科技学院、浙江工业职业技术学院、浙江省农业生物资源生化制造协同创新中心&…

GFLv2 论文学习

1. 解决了什么问题? 预测定位质量对于目标检测很重要,在 NMS 时它能提供准确的得分排序,提高模型的表现。现有方法都是通过分类或回归的卷积特征来预测定位质量得分。 2. 提出了什么方法? 受到 GFLv1 的 general distribution …

Mysql 主从复制、读写分离

目录 一、前言: 二、主从复制原理 2.1 MySQL的复制类型 2.2 MySQL主从复制的工作过程 2.2.1 MySQL主从复制延迟 2.3 MySQL 三种数据同步方式 2.3.1、异步复制(Async Replication) 2.3.2、同步复制(Sync Replication&#…

【基于CentOS 7 的iscsi服务】

目录 一、概述 1.简述 2.作用 3. iscsi 4.相关名称 二、使用步骤 - 构建iscsi服务 1.使用targetcli工具进入到iscsi服务器端管理界面 2.实现步骤 2.1 服务器端 2.2 客户端 2.2.1 安装软件 2.2.2 在认证文件中生成iqn编号 2.2.3 开启客户端服务 2.2.4 查找可用的i…

微服务远程调用openFeign简单回顾(内附源码示例)

目录 一. OpenFeign简介 二. OpenFeign原理 演示使用 provider模块 消费者模块 配置全局feign日志 示例源代码: 一. OpenFeign简介 OpenFeign是SpringCloud服务调用中间件,可以帮助代理服务API接口。并且可以解析SpringMVC的RequestMapping注解下的接口&#x…

在拦截器中使用redis报错空指针

问题 当在拦截器中使用 redis 时,获取不到 RedisTemplate 对象 原因 拦截器在SpringContext初始化之前就执行了,即Bean初始化之前它就执行了,所以肯定是无法获取SpringIOC容器中的内容的 解决 提前实例化拦截器 在配置类里面先实例化拦截…

学C的第三十天【自定义类型:结构体、枚举、联合】

相关代码gitee自取:C语言学习日记: 加油努力 (gitee.com) 接上期: 学C的第二十九天【字符串函数和内存函数的介绍(二)】_高高的胖子的博客-CSDN博客 1 . 结构体 (1). 结构体的基础知识: 结构…

怎么学习Java网络编程? - 易智编译EaseEditing

学习Java网络编程是掌握Java语言重要的一部分,它使得你能够开发网络应用、客户端/服务器应用以及与远程服务进行交互。以下是学习Java网络编程的一些建议: 学习基本的网络概念: 首先,你需要了解计算机网络的基本概念&#xff0c…

foreverlasting and fried-chicken hdu7293

Problem - 7293 题目大意&#xff1a;给出一个n个点&#xff0c;m条边的图&#xff0c;问其中包含了几个下面这样的子图 1<n<1000; 思路&#xff1a;我们要找两个点u,v&#xff0c;他们至少有4个公共点&#xff0c;且至少有一个点的度数至少为6&#xff0c;其中还要判断…

65英寸OLED透明屏的显示效果出色吗?

65英寸OLED透明屏是一种新型的显示技术&#xff0c;它采用有机发光二极管&#xff08;OLED&#xff09;作为显示元件&#xff0c;具有高亮度、高对比度、快速响应和广视角等优点。 与传统的液晶显示屏相比&#xff0c;OLED透明屏具有更高的透明度和更好的显示效果。 OLED透明屏…

Emacs之改造最快文本搜索工具ripgrep(一百一十九)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

第三大的数

414、第三大的数 class Solution {public int thirdMax(int[] nums) {Arrays.sort(nums);int tempnums[0];int ansnums[0];int count 0;// if(nums.length<3){// return nums[nums.length-1];// }// else {for(int inums.length-1;i>0;i--){if (nums[i]>nums[i…

嵌入式_GD32看门狗配置

嵌入式_GD32独立看门狗配置与注意事项 文章目录 嵌入式_GD32独立看门狗配置与注意事项前言一、什么是独立看门狗定时器&#xff08;FWDGT&#xff09;二、独立看门狗定时器原理三、独立看门狗定时器配置过程与注意事项总结 前言 使用GD3单片机时&#xff0c;为了提供了更高的安…

Jenkins+Docker 实现一键自动化部署项目

1.安装Jenkins mkdir /docker/jenkins # 新建Jenkins工作目录 docker pull jenkins/jenkins:lts # 拉取Jenkins镜像ls -nd /docker/Jenkins # 查看目录归属ID chown -R 1000:1000 /docker/jenkins # 赋予权限注&#xff1a;因为Jenkins容器里的用户是Jenkins&#xff0c;…

C# Modbus TCP上位机测试

前面说了三菱和西门子PLC的上位机通信&#xff0c;实际在生产应用中&#xff0c;设备会有很多不同的厂家生产的PLC&#xff0c;那么&#xff0c;我们就需要一种通用的语言&#xff0c;进行设备之间的通信&#xff0c;工业上较为广泛使用的语言之一就是Modbus。 Modbus有多种连…