11 2024 档案
摘要:自动化作业 job 主要体现下面两点: 1、做什么 program 1、可以是现写的一个PL/SQL语句块 2、提前编译好的存储过程 3、操作系统层面的shell脚本,或者程序 2、什么时候做 schedule 周期性的执行(每周三,晚上十点) 自动化作业就是job,有两个东西组成: 1、progr
阅读全文
摘要:查看建立的函数: select * from dba_objects f where f.OBJECT_NAME like 'FUN%'; 策略1和策略2同时建立之后,查询结果: SQL> select name from car; NAME toyota volvo honda SQL> sele
阅读全文
摘要:oracle 用户和安全 基本概念 1、认证:说的是认证通过之后,才能登陆进入数据库 2、授权:是登陆进入数据库以后,能做什么 3、审计:进入数据库以后,授权以后,做事情被记录做事过程 这就是传说中的:3A(authentication认证、authorization授权、audit审计) 建立一个
阅读全文
摘要:字符集 1、char、varchar2、clob,这些类型的列涉及到数据库字符集 2、nchar、nvarchar2、nclob,这些类型的列涉及到国家字符集(一定是Unicode字符集) unicode字符集 将来你的字符列上要存储什么样的字符,该怎么选择字符集? 比如: 1、要存储中文:可以使用
阅读全文
摘要:字符集 在计算机里面,硬盘上,只能以数字(0、1)的形式来存储,所以计算机想要存入abc这样的字符,就需要使用字符集,将abc转换为字符集里面abc对应的数字编码,然后存到计算机里 什么时候用到字符集? 在oracle数据库的表里面,对于data和num类型的列,都不涉及到字符集的概念;但是对于ch
阅读全文
摘要:oracle数据库的锁 1、TX 行锁(事务锁) 2、TM 表锁(DML锁) 查询tm、tx锁: select * from v$lock_type a where a.TYPE in ('TM','TX'); 有两个参数:1、ID1:在哪个对象上持有的锁;2、ID2:表上的锁 开始一个事务,没有提
阅读全文
摘要:lock锁的相关概念 oracle数据库里有一个sga,叫共享全局区(系统全局区),很多进程都可以访问;还有很多的后台进程,也可以访问部分sga区,或者全部sga区 对于同一个buffer,sp1可以访问,sp2也可以访问,这就存在一个并发的问题,所以使用锁来解决共享资源的并发问题 锁一般是个内存结
阅读全文
摘要:log buffer space 多个sp连接上数据库,每个sp有一个PGA,修改数据,在PGA里面都生成了日志,然后把日志写到log buffer里;这时候由于lgwr的性能问题或者是IO比较差,或者存储的性能比较差,没有来得及把日志从log buffer里面写到redo log里面,使得log
阅读全文
摘要:CTAS方式(create table as)创建数据表时,使用nologging子句的情况 1、查询当前会话的sid: SQL> select sid from v$mystat where rownum = 1; SID 929 2、查询当前会话redo的信息: select * from v$
阅读全文
摘要:redo 1、redo的归档模式 2、redo对性能的影响 3、redo对数据库恢复的作用 redo的归档模式 [oracle@db11g ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sat Mar 25 16
阅读全文
摘要:buffer cache 图解: 1、buffer cache 2、数据文件 3、redo log buffer cache被格式化为很多的块,datafile也被格式化很多块,redo log(有三个日志文件,日志文件被格式化为一个一个的块,这个块叫做:扇区块(512字节),这个块的地址叫:RBA
阅读全文
摘要:dump undo段头块分析事务表、dump表的数据块分析事务槽(整个操作在一个事务模拟中分析) 模拟一个事务(首先分析undo段头块的事务) undo工作原理图: 使用u1用户登录: [oracle@db11g ~]$ sqlplus u1/u1 SQL*Plus: Release 11.2.0.
阅读全文
摘要:事务槽(不同于事务表里面的槽位(这个事务槽在数据块的头部)) 图解: 一个事务开始,要做的事情: 第一,事务表里面找槽位(undo段的段头块里有事务表,事务表有槽位,每一个槽位记录一个事务); 事务表里的槽位里记录的信息有: 1、xid(事务ID):(undo段的段号,段里面的第几个槽(槽号),覆盖
阅读全文
摘要:关于undo的几个参数: 1、undo_management: undo段的管理方式(AUTO) 2、undo_retention: 一个事务提交以后,事务所对应的undo数据尽量保留900秒 查询参数: SQL> show parameter undo NAME TYPE VALUE undo_m
阅读全文
摘要:undo表空间 图解: oracle数据库件建完库以后,自己就会生成一个undo表空间(数据文件组成),里面有好多的block;undo表空间里面会默认生成一堆undo段,段的名字都是以下划线开头的,undo表空间默认会生成10个undo段,同时在system表空间里面也会生成一个undo段 图解:
阅读全文
摘要:SCN号 查询系统SCN号: select * from v$database; 或者: SQL> select CHECKPOINT_CHANGE# from v$database; CHECKPOINT_CHANGE# 1278460 查询控制文件里面文件的SCN号、终止SCN号(null):
阅读全文
摘要:SCN(system change number)系统改变号 对于oracle数据库来讲,在很多地方都需要用先后顺序来进行比较,比如时间(年月日、时分秒),计算机将时间转为数字来进行比较 在计算机里面,有很多地方需要知道先后顺序,它就用一个数字(SCN号)来进行比较;但是我们已经习惯用时间来进行比较
阅读全文
摘要:EM工具 1、网络版 2、单机版(我们现在用的) oracle软件安装上以后,默认em这个工具也有了,只需要配置一下就可以用 em的配置和使用 1、首先使用emca这个命令对em做一个删除,然后建立: 删除em: [oracle@db11g ~]$ emca -deconfig dbcontrol
阅读全文
摘要:oracle数据库的物理存储结构 1、spfile:参数文件 2、controlfile:控制文件 3、datafile:数据文件 4、redo log 5、arch:归档日志 oracle数据库的datafile(数据文件) datafile:oracle有多个数据文件 图解: 数据库的数据文件被
阅读全文
摘要:有两个包: 1、DBMS_SHARED_POOL.KEEP,DBMS_SHARED_POOL包里有一个存储过程KEEP 2、DBMS_SHARED_POOL.PURGE,有一个存储过程PURGE 这两个包什么含义,怎么用? 1、DBMS_SHARED_POOL.KEEP:什么时候用KEEP呢? or
阅读全文
摘要:latch用来保护链的,同时限制了并发 硬解析(shared pool、library cache、latch) 图解: 绝大部分情况下,对于library cache来讲,它是以读的方式来持有latch; 对于硬解析来讲,还有一个shared pool,挂的是一个一个的chunk;当发生硬解析的时
阅读全文
摘要:解析 在oracle 11g里面,对于shared pool,都有哪些常见的等待事件(也就是异常的现象) 1、链的争用等待事件: library cache里面 在oracle 11g中:chain链争用,主要表现为library cache中的链的争用:library cache mutex X的
阅读全文
摘要:解析 shared pool 图解: library cache里面,暂时可以认为存储着: 1、SQL以及对应的执行计划(所占空间比较小); 2、存储过程、函数、触发器、包,它们编译后的对象(所占空间往往比较大,特别是包所占的比较大) 对于shared pool管理和研究的时候,row cache一
阅读全文
摘要:硬解析 清空shared pool: SQL> alter system flush shared_pool; System altered. 感知硬解析的存在 模拟一个硬解析,trace文件具体看递归SQL,以及需要访问的一些字典表 查询会话sid、serial#: SQL> select sid
阅读全文
摘要:解析 数据文件: 1、临时文件 2、系统文件(system file):(放着字典表,字典表里记录着数据(数据库自身的信息):数据库里有多少表,有多少列,数据库里有多少用户,用户之间的一些权限是什么,数据库有多少对象,对象的名字,还有表和索引的统计信息等等) 3、普通文件(放着一张张表) syste
阅读全文
摘要:物理读 查看IO状态(操作系统层面): [root@db11g ~]# iostat 1 100 -x Linux 2.6.32-431.el6.x86_64 (db11g) 02/06/2017 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowa
阅读全文
摘要:物理读(physical read) 数据实际存储在磁盘上,将数据从磁盘上读取到内存里,就叫做物理读 将修改完的数据从内存写到磁盘,叫做物理写 一般我们关注的主要是物理读 IOPS(或者TPS):每秒读的次数(主要关注的) IO throughart:IO吞吐量(每秒多少M) 数据文件 数据文件分为
阅读全文
摘要:执行计划 execution plan 一个 SQL 语句select name from t where id=5;要能够执行的话,Oracle 需要解析,解析之后会生成执行计划 执行计划就是 Oracle 从 t 表里取数据的时候需要按哪个执行路径去走 第一种,全表扫描,使用 id=5 做fil
阅读全文
摘要:执行计划 一个SQL文本,经过解析,经过解析之后,oracle发现有很多种执行方案,然后oracle在这多种执行方案中,选出一种oracle认为最优的一种执行方案,来作为执行计划,然后oracle按照执行计划一步步去执行 因为oracle有多种的执行方案,但是,有的执行方案快,有的执行方案慢,有的执
阅读全文
摘要:表的访问方式 以t1表为例来看表的访问方式 首先创建了一个用户,建立了一张表t1,按照object_id列排序的: SQL> create user u1 identified by u1; -- 创建用户u1 User created. SQL> grant connect,resource,db
阅读全文
摘要:表访问方式 对于oracle数据库来说: 1、数据库里面就是一张一张的表,表里是一行行的数据 2、最核心的工作就是用户往数据库里存表 3、修改表里的数据,删除数据 4、访问表里的数据 对于oracle数据库来说,最核心的就是对表的操作(访问表) 表的两种访问方式 以select为例,看select如
阅读全文
摘要:客户端对监听的三种连接方式 1、专用服务器模式 专用服务器模式默认是启用的 专用服务器模式特点: 1、一个连接对应一个server process 好处:这个连接发送的SQL会被马上处理 坏处:即使这个连接空闲,这个server process还是存在,也需要占用资源,至少是内存资源 2、这种连接方
阅读全文
摘要:trace(跟踪)监听 有时候会出现这么一种情况:就是客户端连接不上监听,或者连接上监听以后有各种各样的故障,比如:连接慢、报错等等相关的信息,所以有时候需要对监听起一个trace(跟踪),看一下客户端对数据库监听的连接的一个情况 如果客户端连接监听连不上的一个排错过程 1、确认数据库是否启动 [o
阅读全文
摘要:监听的配置文件 2、tnsnames.ora文件 tnsnames.ora文件:客户端的 配置tnsnames.ora监听文件 1、使用netca命令 指定图像映射机器 [oracle@db11g admin]$ export DISPLAY=192.168.56.1:0.0 netca命令 [or
阅读全文
摘要:启动远程图形界面登录的工具 [root@db11g ~]# vncserver 监听 监听的启动 [oracle@db11g ~]$ lsnrctl start 判断监听是否启动 [oracle@db11g ~]$ netstat -tulnp | grep 1521 (Not all proces
阅读全文
摘要:oracle包含 1、软件 2、数据库 3、实例 4、监听(listener) 监听的特点 可以独立启动,就是说,数据库没有启动,监听可以启动;数据库启动,监听也可以不启动;数据库启动,监听也启动 监听和数据库是独立分开的 数据库的整个网络结构 图解: 1、数据库有数据库的名字:dbname;实例有
阅读全文
摘要:内存结构 1、shared pool 缓存着sql、sql执行计划 查询shared pool大小: select * from v$sga_dynamic_components; 2、buffer cache 缓存着数据文件里面的block 查看buffer cache里面的buffer: sel
阅读全文
摘要:进程结构 server process服务器进程 前台进程(foreground process):server process(服务器进程) 用户连接到数据库实例以后,暂时可以认为是:对每一个用户连接,oracle实例会启动一个进程,专门对这个连接会启动一个进程,这个进程它属于server pro
阅读全文
摘要:oracle数据库实例(instance) 数据库打开以后,会生成一个内存结构和一堆进程 内存和进程:就是oracle的实例instance oracle数据库实例结构: 用户是通过连接实例来访问数据库的 shared pool占整个内存的20% buffer cache占整个内存的80% redo
阅读全文
摘要:TPC-H、TPC-H、TPC-DS部署测试 概述 TPC-C TPC-C是业界常用的一套Benchmark,用于评估在线事务处理(OLTP)系统性能的基准测试。它模拟了一个商品批发公司的销售模型,包括管理订单、管理库存、管理账号收支等操作。TPC-C测试的核心是新订单操作,用于衡量系统每分钟所能处
阅读全文
摘要:基本概念 一、数据库启动、监听启动、判断数据库是否可以连接的过程、感知实例的存在 虚拟机ip地址:192.168.56.12 这里需要修改一个地方:就是把本地主机Host-Only的ip地址修改为:192.168.56.1或者2,只要不和虚拟机的ip地址一样就行 虚拟机用户名和密码:root : r
阅读全文
摘要:oracle的基本结构 oracle软件(RDBMS) oracle软件:关系型数据库管理系统 在linux系统上,oracle软件安装在:/u01/app/oracle这个目录下 oracle数据库(database) oracle数据库:它是由一推文件组成,建数据库(使用dbca命令建库),建立
阅读全文