自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Xmanager5 Passive 图形界面安装oracle,无法使用鼠标

说明: 以前图形安装12.1版本的时候只能用方向键这些来安装,用不了鼠标,不方便。后来12C的图形安装改进了,可以用鼠标了。但最近安装12C的时候,中途中断重新安装的时候又出现了鼠标使用不了的情况,修改Xmanager5 Passive的属性就正常了。 右击Xmanager图标 --&...

2019-08-30 17:03:16

阅读数 236

评论数 0

原创 mysql5.6基本信息查看

系统版本为redhat6.6 系统自带mysql的服务开启情况: # service mysqld status 手动安装Mysql的服务开启情况: # service mysql status mysql5.6常规登录: [root@ ~]# mysql -uroot -p En...

2019-08-27 10:42:18

阅读数 25

评论数 0

原创 db2命令查看错误信息

应用程序在连接db2数据库时常会遇到一些报错,如:SQLSTATE=01545,sqlcode:"012"。 db2 "? sql012" 查看sqlcode语法。 db2 "? 01545" 查看sqlstate语法。 ...

2019-08-19 12:33:10

阅读数 28

评论数 0

原创 系统命令OERR查看oracle错误信息

参考文档:http://blog.itpub.net/23718752/viewspace-2082156/ oracle出现ORA-的错误信息时,可以使用系统命令oerr直接查看错误相关信息。 oerr命令得到的错误信息是$ORACLE_HOME/bin/路径下的bash文件oerr调用pe...

2019-08-19 11:37:57

阅读数 48

评论数 0

原创 SQL*Plus Command -- history

语法:HIST[ORY] [n RUN | EDIT | DEL[ETE]] | [CLEAR | LIST] 功能:使用history命令查看历史SQL命令,并可以再次执行、编辑、删除这些历史命令。 使用history命令的前提是已经set history开启了缓存历史SQL命令的功...

2019-08-16 08:56:55

阅读数 17

评论数 0

原创 SQL*Plus Command -- host

语法:HO[ST] [command] 功能:在SQL*Plus中执行操作系统命令。 如果单独执行host命令,则会进入操作系统提示符界面,这时可以多次执行操作系统命令,再次执行exit命令则会退回到SQL*Plus界面。 与host命令有同样功能的符号为$(windows环境)、!(uni...

2019-08-15 17:43:26

阅读数 11

评论数 0

原创 SQL*Plus Command -- spool

语法:SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT] 功能:将查询结果存放到文件,并可选择将文件发送到打印机。 常见使用场景:执行脚本时,屏幕输出信息过多,甚至无法将全部输出信息缓存在屏幕,这时可以...

2019-08-15 17:26:46

阅读数 25

评论数 0

原创 SQL*Plus Command -- show

show命令用来显示SQL*Plus系统变量或当前SQL*Plus环境的值。SHOW SGA需要DBA特权登录。show命令支持的选项: system_variable ALL BTI[TLE] CON_ID CON_NAME EDITION ERR[ORS] [ {ANALYTIC VIEW...

2019-08-15 14:41:55

阅读数 19

评论数 0

原创 SQL*Plus Command -- set

目录 1,SET ECHO {ON | OFF} 2,SET HEA[DING] {ON | OFF} 3,SET LIN[ESIZE] {80 | n} 4,SET LONG {80 | n} 5,SET NULL text 6,SET PAGES[IZE] {14 | n} 7,...

2019-08-13 18:25:43

阅读数 56

评论数 0

原创 SQL/PLUS调优相关(SET AUTOTRACE)

参考《SQL*Plus®User's Guide and Reference》 本章提供了关于如何调优SQL*Plus以获得更好的性能的信息。 1,关于Tracing语句 可以自动获取有关SQL优化器使用的执行路径报告和SQL语句的执行统计信息的报告。该报告是在成功执...

2019-07-24 14:19:36

阅读数 39

评论数 0

原创 oracle 12C没有hr_main.sql脚本文件,无法创建sample schema

在测试时需要用到hr样例schema下的一些测试表,但在$ORACLE_HOME/demo/schema/human_resources路径下没有发现hr_main.sql脚本文件,也就无法手动创建,在网上找了一段源码,跑了一下就可以了。 测试库为12.1.0.2版本,单实例,以sys账...

2019-07-23 13:02:17

阅读数 404

评论数 0

原创 查询执行计划 -- 解读执行计划

参考文档:《Oracle® Database SQL Tuning Guide》 5,解读执行计划 执行计划以操作树的形式展现。 5.1,阅读执行计划:basic 这里使用EXPLAIN PLAN示例来说明执行计划。使用以下查询语句来显示执行计划: SELECT PLA...

2019-07-22 08:52:38

阅读数 57

评论数 0

原创 DBMS_SCHEDULER(创建JOB)

参考《Oracle® Database Database PL/SQL Packages and Types Reference》 DBMS_SCHEDULER提供了一系列PL/SQL程序可以调用的存储过程和高度功能。 1,DBMS_SCHEDULER弃用了程序 oracle...

2019-07-18 17:53:11

阅读数 46

评论数 0

原创 查询执行计划 -- 生成和显示执行计划

参考文档:《Oracle® Database SQL Tuning Guide》 1,执行计划简介 Oracle数据库用于执行语句的步骤组合为执行计划。这些步骤要么从数据库中物理地检索数据行,要么为执行用户准备数据行。执行计划包含了SQL访问表时的访问路径,以及使用适当的联接方法对表进...

2019-07-16 14:46:00

阅读数 92

评论数 0

原创 查询优化原理 -- 查询转换

参考文档:《Oracle® Database SQL Tuning Guide》 1,or 扩展 在OR的相关扩展中,优化器将包含顶级逻辑或的查询块转换为包含两个或多个分支的UNION ALL查询的形式。优化器通过将逻辑或符拆分为它的组件,然后将每个组件与UNION ALL查询的一个分支...

2019-07-16 09:38:08

阅读数 16

评论数 0

原创 查询优化原理 -- 查询优化器的概念

参考文档:《Oracle® Database SQL Tuning Guide》 1,查询优化器简介 查询优化器(简称优化器)是内置的数据库软件,在访问请求数据时,它决定了SQL语句的最有效访问方法。 1.1,查询优化器的目的 优化器尝试为SQL语句生成最优的执行计划。优化器...

2019-07-15 12:33:43

阅读数 43

评论数 0

原创 查询优化原理 -- SQL处理

参考文档:《Oracle® Database SQL Tuning Guide》 本章解释数据库如何处理DDL语句来创建对象、如何处理DML语句用于修改数据、如何处理查询语句用于检索数据。 1,SQL处理 SQL处理:是SQL语句的解析、优化、行源生成和执行。 下图描...

2019-07-12 16:07:20

阅读数 30

评论数 0

原创 vim命令模式下删除和修改文本

1,撤消修改 u 撤消最近一次修改,可多次执行,依次往前撤消修改操作。 U 撤消最后操作的数据行上的所有修改,再次执行则恢复所有撤消前的修改。 2,删除字符 x 删除光标所在位置字符。 nx 删除光标所在位置开始,往右的n个字符;如5x,表示删除光标所在位置开始,往右的5个字符。...

2019-07-09 15:52:49

阅读数 308

评论数 0

原创 vim输入模式

i (insert) 在光标所在位置插入字符,字符放在原位置字符的前面。 a (append) 在光标所在位置后追加字符。 I (大写i) 在光标所在行的行首插入字符。 A 在光标所在行的行尾追加字符。 o (open) 在光标所在行的下面新开一空行。 O 在光标所在行的上面新开一...

2019-07-09 13:09:22

阅读数 22

评论数 0

原创 vim命令模式下光标移动

1,按字符/行移动光标 除了空格键和方向键外,减号'-'(上)、enter键(下)、h(左)、j(下)、k(上)、l(右)也可当方向键移动光标。如果需要一次移动多个字符或者多行,可以在方向键前输入一个数字,如7h表示向左移动7个字符,3SPACE表示向右移动3个字符,2j表示...

2019-07-09 10:45:58

阅读数 254

评论数 0

原创 vim编辑文件时,系统崩溃后的文件恢复

描述 : 在vim编辑文件时,连接异常断开,导致所做的修改没有保存。这时可以通过文件相同目录下的.swp文件来恢复。如果是自己的连接异常断开,确定不需要保存之前的修改,可以直接删掉.swp文件即可。 vim在编辑文件时,是在work buffer中进行的,缓存中的信息有存放在.swp文...

2019-07-08 10:12:03

阅读数 240

评论数 0

原创 vim的特性介绍

参考《Linux命令、编辑器与Shell编程》 1,用vim -version或者vim --version命令查看vim的版本信息,vim --version信息更详细 [root@ ~]# vim -version VIM - Vi IMproved 7.2 (2008 Aug 9, c...

2019-07-05 15:54:21

阅读数 93

评论数 0

原创 用vim创建和编辑文件

参考《Linux命令、编辑器与Shell编程》 1,vimtutor命令用来查看vim的使用说明 [root@ ~]# vimtutor =============================================================================...

2019-07-04 17:09:49

阅读数 935

评论数 0

原创 生成和显示执行计划

参考《Oracle高性能SQL引擎剖析》、《Oracle® Database SQL Tuning Guide》 一,什么是执行计划 Oracle数据库用于执行SQL语句的步骤的组合是一个执行计划。每个步骤要么从数据库物理上检索数据行,要么为发出语句的用户准备数据行。执行计划包括语句访问的每个...

2019-07-04 09:48:17

阅读数 69

评论数 0

原创 全表扫描 (Full Table Scans)

参考文档:《Oracle® Database SQL Tuning Guide》 全表扫描是从表中读取所有行,然后过滤掉不符合选择条件的行。 一,何时优化器考虑全表扫描 导致Full Table Scans的常规原因: 原因 解释 No index exists. ...

2019-07-03 08:35:04

阅读数 47

评论数 0

原创 获取对象DDL语句

描述: 有时会需要在linux下获取对象的创建语句,或者用户的授权语句,可以分别使用dbms_metadata.get_ddl和dbms_metadata.get_granted_ddl包来获取创建语句。 参考oracle官方文档《Oracle® Database Database P...

2019-06-27 09:03:35

阅读数 70

评论数 0

原创 误删数据库文件,系统级文件恢复

描述: 今天测试库造数据的时候,归档日志过多,一直在手动删除日志。中途去数据文件目录看了一眼数据文件,路径没有切换走,后面就惯性的把数据文件当日志文件全部删掉了。最后用debugfs工具恢复了数据文件。 删除数据库文件,文件在/data1/oradata/ora1路径下,在/dev/s...

2019-06-13 18:05:28

阅读数 64

评论数 0

原创 oracle内建数据类型

1,VARCHAR2(size[BYTE|CHAR]) 12C中参数MAX_STRING_SIZE默认值为STANDARD,varchar2的最大值为4000 byte。varchar2后面有BYTE 和CHAR两种语义,默认语义是BYTE。BYTE是按字节算长度,CHAR是按字符算长度,一个字...

2019-06-12 18:07:46

阅读数 16

评论数 0

原创 参数MAX_STRING_SIZE--12C 新特性扩展数据类型 varchar2(32767)

12C单实例测试,varchar2在早期版本中最大长度限制为4000,12C版本可以通过修改参数MAX_STRING_SIZE将最大长度限制调整为32767。早期版本中虽然SQL数据类型限制为4000(如表中的列的varchar2类型),但在PL/SQL中的限制是32767(如在存储过程中的定义变...

2019-06-12 15:37:53

阅读数 318

评论数 0

原创 cursor: pin S事件模拟

本来是要模拟latch: cache buffers chains事件,但由于12C中锁的机制有所变动,最终模拟成了cursor: pin S事件,先记录,后分析。 1,创建测试表和同义词 create table system.t73(id number,name varchar2(10)...

2019-04-30 16:18:18

阅读数 35

评论数 0

原创 DBMS_ROWID

1, ROWID_CREATE函数(返回一个基于单独行的rowid) 语法: DBMS_ROWID.ROWID_CREATE ( rowid_type IN NUMBER, object_number IN NUMBER, relative_fno ...

2019-04-30 07:55:13

阅读数 36

评论数 0

原创 Cache Buffers Chain Latch的竞争

Oracle内核技术揭密_吕海波 学习笔记 Cache Buffers Chain(CBC) Latch出现竞争时,主要是如下两种情况: 1,多个进程不兼容的申请同一CBC Latch,访问此CBC Latch保护的不同链表的不同Buffer Header(BH),这叫热链竞争。 2,多个进程不...

2019-04-29 18:28:03

阅读数 52

评论数 0

原创 HASH链表

Oracle内核技术揭密_吕海波 学习笔记 一,HASH链表与逻辑读 oracle要从高速缓冲区中拿到5号文件1234号块buffer的信息,就需要使用到HASH算法。 Buffer Cache:高速缓冲区中包含多个buffer,每一个buffer就记录一个数据块对应的缓冲信息。 Buffer...

2019-04-19 10:18:06

阅读数 1173

评论数 0

原创 ASSM数据并发插入测试

Oracle内核技术揭密_吕海波 学习笔记 创建一个区大小为1M的表空间TEM_TBS1,在它里面建表ma.t64,插入一笔资料后可以看到为此表分配的第一个区的区间是从第128号块开始的共128个数据块,段头(L3块)为131号块。通过dump数据块的信息可以知道131号块为L3块,130号块为...

2019-04-15 15:45:03

阅读数 28

评论数 0

原创 通过dump数据块信息,追溯三层结构位图信息

建表并查看数据所在的文件及段头(也就是L3块): SQL> CREATE TABLESPACE tbs1 DATAFILE '/data1/oradata/ora1/tps101.dbf' SIZE 100M uniform size 1M; SQL> crea...

2019-04-12 14:21:39

阅读数 39

评论数 0

原创 oracle 12C dump数据块信息

dump数据块信息: SQL> CREATE TABLESPACE tbs1 DATAFILE '/data1/oradata/ora1/tps101.dbf' SIZE 100M uniform size 1M; SQL> create table ma.t6...

2019-04-12 12:53:08

阅读数 58

评论数 0

原创 ASSM与L3、L2、L1块的意义

Oracle内核技术揭密_吕海波 学习笔记 ASSM的整体结构是3层位图块+数据块,共4层的树状结构。 第一层位图块称为L3块,一个L3块中可以存放多个L2块的地址,一个L2块可以存放多个L1块地址,一个L1块可以存放多个数据块地址。 第一个L3块一般是段头,如果段头中存放太多L2块的信...

2019-04-11 11:43:49

阅读数 90

评论数 0

原创 段中块的使用

Oracle内核技术揭密_吕海波 学习笔记 常说一个表就是一个段,但表和段是两个不同的概念,表是逻辑概念,比如表有几列,列的类型、长度,这些信息都属于表;段是物理概念,它只代表存储空间,区就属于段,一个段至少包含一个区。 oracle中每个对象都有一个ID,在DBA_OBJECTS视图中,ob...

2019-04-11 09:38:58

阅读数 25

评论数 0

原创 区:表空间中的基本单位

Oracle内核技术揭密_吕海波 学习笔记 oracle 10g中初始会为新建的表分配至少一个区,11.2.0.3版本之后不为新建表分配区,只有插入一条数据后才分配空间。 如下代码中,没有任何权限的ma账号,可以建表并指定表空间为tp,就说明此时是没有为表分配空间的,因为ma账号没有使用tp表...

2019-04-09 13:24:29

阅读数 43

评论数 0

原创 trunc

日期处理: trunc(x[,fmt])用于对x截断,在不指定fmt参数时默认截断为当天的0点(也就是默认fmt参数为'DD'),fmt是可选的字符串参数,它指明要截断的单元,返回的结果为data类型。例如,MM表示截断到当月的第一天。这个函数对NLS_CALENDA...

2019-03-21 11:01:09

阅读数 169

评论数 0

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