自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 用hash分发模式解决并行优化器bug

oracle并行场景的broadcast与hash分发模式转换

2022-09-12 00:32:01 474 1

原创 oracle表空间管理Ⅱ

一、大文件表空间1.概述bigfile表空间可以显著增强Oracle数据库的存储容量,减少数据库所需的数据文件数量,简化了数据库管理。可以调整CREATE DATABASE和CREATE CONTROLFILE语句的DB_FILES初始化参数和MAXDATAFILES参数,以减少数据文件信息所需的SGA空间量和控制文件的大小。需要注意的是:Bigfile表空间旨在与自动存储管理(Oracle ASM)或其他支持条带化或RAID的逻辑卷管理器以及动态可扩展逻辑卷一起使用。避免在不支持条带化的系统上创

2021-09-28 00:17:52 321

原创 push_pred/no_push_pred无效探究

背景在项目遇到一个谓词推入引起性能问题,使用no_push_pred Hint不能阻止其谓词推入,对此进行一个探究。由于涉及保密,不能直接上原代码,原场景是谓词推入了一个视图,这个视图是一个在另一个视图的基础上建立,这是不是导致no_push_pred无效的根本原因呢,先在官方文档查看了是否有关于谓词推入的限制,很遗憾并没有找到,我们直接实验归纳下这种特殊情况。谓词推入(Predicate Pushing)官方文档是这样描述的:In predicate pushing, the optimi

2021-09-27 23:00:15 1218 1

原创 oracle表空间管理Ⅰ(用户表空间&临时表空间)

一、表空间概述:表空间是数据库最大的逻辑存储结构,包含了表段、索引段、临时段等,在物理层面是有数据文件组成。二、创建表空间1.默认表空间oracle默认至少创建两个表空间:SYSTEM和SYSAUX。SYSTEM表空间存储oracle系统的数据、系统的回滚段,不能offline。SYSAUX表空间又称为辅助表空间,用来存储系统其他可选组件的系统数据,SYSTEM和SYSAUX都不能删除和更改。2.创建本地管理表空间本地管理表空间(Locally Managed TableSpaces)是一种新

2021-09-25 19:41:55 1503

原创 like‘%xxxxx%‘性能优化

前言:like使用方式一共三种格式like ‘xxxx%’——这种能正常使用索引like ‘%xxxx’——利用reverse函数索引优化like’%xxxx%’——使用客制化函数instr和通用手段两种方法一、构建实验条件1.创建测试表(大概90M)create table test1 asselect level id, dbms_random.string('X', 30) name, dbms_random.string('f', 30) address,

2021-09-23 23:49:11 717 1

原创 利用reverse函数索引优化like ‘%xxxx‘

前言:我们都知道在使用Like模糊查询,只有使用like 'xxxx%'格式才能正确利用索引范围扫描,那么实际中遇到按字符串末尾模糊查询(%xxxx)该如何优化?一、构建实验例子1.创建测试表(大概90M)create table test1 asselect level id, dbms_random.string('X', 30) name, dbms_random.string('f', 30) address, dbms_random.string

2021-09-23 23:39:27 430 1

原创 oracle组合索引原理

数据库版本:oracle11g 11.2.0.1.0概要:oracle优化器在统计信息和直方图准确的情况下,对组合索引并不算智能,意味着很可能因为组合索引原因导致执行计划不准测试脚本准备1.创建一张普通表和组合索引create table test as select decode(mod(level,4), 1, 'A',2,'B',3,'C','D') type, decode(mod(level,8), 1, 'VALID',2, 'INVALID','x') status

2021-09-23 01:28:52 657

原创 oracle文件管理——归档日志文件(archived redo log files)

参考文档:官方文档一、归档重做日志介绍Oracle数据库将已填充的重做日志文件组保存到一个或多个脱机目标,统称为归档重做日志。只有在archivelog模式下才可以进行归档,归档方式分为自动和手动两种存档的重做日志文件是重做日志组中已填充成员之一的副本。它包括重做日志组中相同成员的重做条目和唯一日志序列号。存档的重做日志包含自启用存档以来创建的每个组的副本。当数据库在ARCHIVELOG模式下运行时,日志编写器进程(LGWR)无法重用并因此覆盖重做日志组,直到它被存档。启用自动存档时,后台进程AR

2021-09-22 01:23:24 6725

原创 oracle文件管理——日志文件(redo file)

参考文档:官方文档一、什么是日志文件恢复操作最关键的结构是重做日志,它由两个或多个预先分配的文件组成,这些文件存储发生时对数据库所做的所有更改。Oracle数据库的每个实例都有一个相关的重做日志,以在实例失败时保护数据库。1.redo日志线程在典型配置中,只有一个数据库实例访问Oracle数据库,因此只有一个线程。但是,在Oracle Real Application Clusters环境中,两个或多个实例同时访问单个数据库,每个实例都有自己的重做线程。每个实例都有一个单独的重做线程,避免了对一组重

2021-09-20 23:47:28 4097

原创 oracle文件管理——控制文件

oracle文件管理——参数文件参考文档:官方文档一、参数文件定义每个Oracle数据库都有一个控制文件,它是一个小的二进制文件,记录数据库的物理结构。装载数据库(mount)时需根据初始化文件的参数文件位置读写控制文件或从参数表v$parameter查看文件目录控制文件包括:数据库名称关联数据文件和重做日志文件的名称和位置数据库创建的时间戳当前日志序列号检查点信息二、控制文件相关视图三、创建控制文件1.创建初始的控制文件①创建数据库根据参数文件②使用已存在的控制文件reu

2021-09-19 16:05:04 1450

原创 oracle文件管理——参数文件

参数文件即初始化参数文件,在创建实例之前先读取参数文件,一般设置了数据库名称,实例名,SGA各个模块大小等。分类:文本型参数文件(PFILE)和服务器参数文件(SPFILE)目前基本都使用SPFILE参数文件PFILE特点:文本类型,编辑方便。用pfile启动实例时必须在客户机有该文件,容易造成存在多个版本参数文件,互相覆盖。默认存放在$ORACLE_HOME/dbs目录下在oracle参数表可以查到实际存放目录默认命名 init.ora里面存储一般很基础重要的信息,如数据库名,数据块大

2021-09-18 01:17:17 509

原创 rlwrap下载安装解决sqlplus上下键乱码^[[A

下载百度网盘:https://pan.baidu.com/s/1Yh3zgMGKqU0XBJaJzjLjXg提取码:qz8v安装:1.上传压缩包到服务器2.进入目录解压tar -zxvf rlwrap-0.37.tar.gz3.下载依赖包yum install readline readline-devel4.进入解压目录安装cd rlwrap-0.37/./configuremakemake install5.验证rlwrap配置环境变量在/home/oracle/

2021-09-18 00:20:54 352

原创 oracle数据库状态

oracle数据库状态一、oracle数据库有四种状态:1.open:打开所有文件2.mount:打开控制文件3.nomount:打开实例4.shutdown:关闭二、数据库启动(startup)启动数据库需要三个阶段,而且这三阶段具有不可逆性:1.启动实例2.装载数据库到实例3.打开数据库1.startup nomount读取初始化参数文件,启动后台进程,初始化SGA2.startup mount在已经处于open状态数据,更改成mount状态:alter database

2021-09-17 00:29:55 5763

原创 使用DBCA创建数据库

使用DBCA创建数据库上一篇通过oui的方式已经创建好了数据库软件,接下来用oracle自带工具DBCA来建立一个简单的实验数据库一、创建数据库1.oracle用户进入oracle安装目录的bin子目录或直接通过环境变量的方式调用dbca工具,选择创建数据库dbca2.创建模式——高级安装3.数据库类型——通用数据库这里有三个选项解释下:①通用数据库(General Purpose or Transportion Processing) :OLTP&OLAP②定制数据库(Cus

2021-09-16 00:09:46 8290

原创 linux安装oracle12c

上一篇做了安装oracle一些系统配置安装oracle12c单实例数据一、安装oracle的配置1.修改内核参数①编辑内核参数文件vim /etc/sysctl.conf②将内核配置粘贴到该文件中fs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 1073741824kernel.shmmax = 4398046511104kernel.panic_on_oops

2021-09-15 01:03:31 2137

原创 linux安装oracle数据库——系统配置

linux安装oracle数据库——系统配置上一篇已经安装好了linux系统,这章开始安装oracle数据库前系统配置1. yun源访问这步是配置系统网络,可用访问外网,需要配置静态ip地址,子网掩码,网关,DNS实操:①进入网络配置目录cd /etc/sysconfig/network-scripts/②查看目录文件ls③编辑第一个ifcfg-eno文件vim ifcfg-eno16777736④参考配置信息,按个人实际情况天下IPADDR和GATEWAYTYPE="Etherne

2021-09-14 00:45:57 402

原创 vmware安装linux系统

vmware安装linux系统上一篇有详细介绍vmware软件下载安装:一、安装1.镜像文件准备本人用的阿里centos7版本,文件太大无法上传网盘,这里有下载链接:阿里OS文件下载2.安装步骤2.1.打开vmware workstation在主页选择创建虚拟机2.2.使用虚拟机向导,选择典型安装2.3.安装客户机操作系统,选择稍后安装2.4.选择操作系统和版本,选择Linux CentOS 7 64位2.5.设置虚拟机的名称和安装位置,安装位置选择有足够存储的磁盘2.6.

2021-09-12 21:57:17 294

原创 ORACLE将普通表转换成分区表

将普通表转换成分区表的两种方式一、rename方式实战:--1.创建测试表CREATE TABLE test_fan AS SELECT * FROM Dba_Objects;--2.创建测试表对应的分区表SELECT dbms_metadata.get_ddl('TABLE','TEST_FAN') FROM dual;create table man_dev.test_fan_bak (owner , object_name , subobject_name , ob

2020-08-28 17:23:14 1600

原创 oracle shrink 表收缩功能

表收缩作用:降低表的高水位线,回收表的实际存储空间注意:shrink操作会产生redo 日志实验:1.创建测试数据:CREATE TABLE test_s ASSELECT MOD(LEVEL,5) col1,dbms_random.string('A',20) col2FROM dualCONNECT BY LEVEL<=100000;2.分析表ANALYZE T...

2020-04-15 18:39:58 667

原创 regexp_substr之表的行转列

最近一个证券朋友问我一个insert性能问题,一张表记录所有用户的用户编码和股票编码,但是这个股票编码用逗号拼接,他想把每个用户的每一个股票单独插入一张表里,用了循环游标的方法,一条条的拆分插入,耗时较久问有没优化空间。其实这个性能问题核心点在于,每一条数据都要进行commit,需要转行批量提交。所以我直接告诉他,将游标批量放到集合,再操作集合提交,确实效率提高了很多,那么有没有更简单更高效的方...

2020-03-12 21:19:56 455

原创 ORACLE直方图

直方图相关概念百度百科定义:直方图(Histogram),又称质量分布图,是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况。 一般用横轴表示数据类型,纵轴表示分布情况。oracle直方图作用:在Oracle中直方图存储不同分类数据的出现频率。前文中提到分析表的作用是给CBO提供基本的信息并认为每个值出现频率相同,直方图会准确告诉CBO每个唯一值出现的频率,这个很重要。--...

2019-10-24 20:42:51 575

原创 ORACLE表分析原理

表分析表分析的作用测试功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入表分析的作用简单的说,就是收集表和索引的信息,...

2019-10-15 14:37:22 1393

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除