自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 达梦数据库,外部基表不能存在任何约束条件

达梦数据库,外部基表不能存在任何约束条件

2022-07-27 18:04:13 436 1

原创 达梦在备份数据库时报错归档日志不连续

达梦数据库在联机全备时,需要开启归档模式。如果关闭本地归档重新配置,会导致归档中的部分日志缺失,导致无法数据库全备,这时需要手动刷新检查点。

2022-06-23 15:59:21 619

原创 DIAGNOSTIC_DEST(诊断日志路径)

目录描述参考《Database Reference 19C》参考《Automatic Storage Management Administrator's Guide 19C》参考《Database Administrator’s Guide 19C》验证测试描述 oracle数据库实例的诊断日志常规存放路径是在$ORACLE_BASE/diag/rdbms/db_unique_name/sid/,在特定场景下(如shell脚本检测服务器上可能存在的数据库实例...

2021-09-14 18:38:25 871

原创 CDB修改服务名,切换PDB时报错ORA-44787

目录描述查看CDB服务名查看PDB服务名CDB查看所有活跃的服务名lsnrctl status查看监听信息CDB修改service_names参数CDB查看活跃的服务名lsnrctl status查看监听从CDB切换到pdb1不指定服务名从CDB切换到pdb1指定服务名描述 在CDB和PDB的service_names都是默认值的情况下,初次修改CDB的服务名,会导致PDB的监听断掉,修改后从CDB切换PDB,需要指定服务名。查看CDB服...

2021-08-17 12:50:36 1397

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

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

2019-08-30 17:03:16 1740

原创 mysql5.6基本信息查看

系统版本为redhat6.6系统自带mysql的服务开启情况:# service mysqld status手动安装Mysql的服务开启情况:# service mysql statusmysql5.6常规登录:[root@ ~]# mysql -uroot -pEnter password:查看当前用户:mysql> select user();...

2019-08-27 10:42:18 332

原创 db2命令查看错误信息

应用程序在连接db2数据库时常会遇到一些报错,如:SQLSTATE=01545,sqlcode:"012"。db2 "? sql012" 查看sqlcode语法。db2 "? 01545" 查看sqlstate语法。[db2inst1@ ~ 12:24:53]$ db2 "? sql012"SQL0012W Correlation withou...

2019-08-19 12:33:10 924

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

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

2019-08-19 11:37:57 481

原创 SQL*Plus Command -- history

语法:HIST[ORY] [n RUN | EDIT | DEL[ETE]] | [CLEAR | LIST]功能:使用history命令查看历史SQL命令,并可以再次执行、编辑、删除这些历史命令。 使用history命令的前提是已经set history开启了缓存历史SQL命令的功能。当SQL数量超过了最大保留值时,自动清除最旧的数据,并重新生成从1开始的连续的序号。s...

2019-08-16 08:56:55 397

原创 SQL*Plus Command -- host

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

2019-08-15 17:43:26 242

原创 SQL*Plus Command -- spool

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

2019-08-15 17:26:46 278

原创 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 |ATTRIBUTE DIMENSION | HIERARCHY | F...

2019-08-15 14:41:55 547

原创 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 text6,SET PAGES[IZE] {14 | n}7,SET SERVEROUT[PUT] {ON | OFF} [SIZE {n |UNL[IMITE...

2019-08-13 18:25:43 851

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

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

2019-07-24 14:19:36 230

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

在测试时需要用到hr样例schema下的一些测试表,但在$ORACLE_HOME/demo/schema/human_resources路径下没有发现hr_main.sql脚本文件,也就无法手动创建,在网上找了一段源码,跑了一下就可以了。 测试库为12.1.0.2版本,单实例,以sys账号登录,执行脚本即可。代码有做修改,前面创建用户部分有修改用户的默认表空间、s...

2019-07-23 13:02:17 2532

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

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

2019-07-22 08:52:38 1083

原创 DBMS_SCHEDULER(创建JOB)

参考《Oracle® Database Database PL/SQL Packages and Types Reference》 DBMS_SCHEDULER提供了一系列PL/SQL程序可以调用的存储过程和高度功能。1,DBMS_SCHEDULER弃用了程序 oracle建议在新的应用程序中不要使用弃用了的子程序。如下两个子程序从12.1版本开始弃用:...

2019-07-18 17:53:11 979

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

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

2019-07-16 14:46:00 904

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

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

2019-07-16 09:38:08 135

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

参考文档:《Oracle® Database SQL Tuning Guide》1,查询优化器简介 查询优化器(简称优化器)是内置的数据库软件,在访问请求数据时,它决定了SQL语句的最有效访问方法。1.1,查询优化器的目的 优化器尝试为SQL语句生成最优的执行计划。优化器在所有候选计划中选择成本最低的计划。优化器使用可用的统计数据来计算成本。对于给定环境...

2019-07-15 12:33:43 365

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

参考文档:《Oracle® Database SQL Tuning Guide》 本章解释数据库如何处理DDL语句来创建对象、如何处理DML语句用于修改数据、如何处理查询语句用于检索数据。1,SQL处理 SQL处理:是SQL语句的解析、优化、行源生成和执行。 下图描述了SQL处理的一般阶段。根据语句的不同,数据库可能会省略其中一些阶段。...

2019-07-12 16:07:20 369

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

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

2019-07-09 15:52:49 4249

原创 vim输入模式

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

2019-07-09 13:09:22 210

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

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

2019-07-09 10:45:58 5740

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

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

2019-07-08 10:12:03 2326

原创 vim的特性介绍

参考《Linux命令、编辑器与Shell编程》1,用vim -version或者vim --version命令查看vim的版本信息,vim --version信息更详细[root@ ~]# vim -versionVIM - Vi IMproved 7.2 (2008 Aug 9, compiled Feb 17 2012 10:23:31)Garbage after option ...

2019-07-05 15:54:21 750

原创 用vim创建和编辑文件

参考《Linux命令、编辑器与Shell编程》1,vimtutor命令用来查看vim的使用说明[root@ ~]# vimtutor================================================================================ W e l c o m e t o t h e V I M T u t...

2019-07-04 17:09:49 18781

原创 生成和显示执行计划

参考《Oracle高性能SQL引擎剖析》、《Oracle® Database SQL Tuning Guide》一,什么是执行计划Oracle数据库用于执行SQL语句的步骤的组合是一个执行计划。每个步骤要么从数据库物理上检索数据行,要么为发出语句的用户准备数据行。执行计划包括语句访问的每个表的访问路径,以及使用适当的连接方法对表(连接顺序)进行排序。执行计划指示oracle过滤数据并产生最...

2019-07-04 09:48:17 310

原创 全表扫描 (Full Table Scans)

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

2019-07-03 08:35:04 3688

原创 获取对象DDL语句

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

2019-06-27 09:03:35 824

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

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

2019-06-13 18:05:28 521

原创 oracle内建数据类型

1,VARCHAR2(size[BYTE|CHAR])12C中参数MAX_STRING_SIZE默认值为STANDARD,varchar2的最大值为4000 byte。varchar2后面有BYTE 和CHAR两种语义,默认语义是BYTE。BYTE是按字节算长度,CHAR是按字符算长度,一个字符占用的字节与字符集有关,比如定义一列为varchar2(3 char),那么这列可以插入 'a...

2019-06-12 18:07:46 134

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

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

2019-06-12 15:37:53 5138 1

原创 cursor: pin S事件模拟

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

2019-04-30 16:18:18 165

原创 DBMS_ROWID

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

2019-04-30 07:55:13 171

原创 Cache Buffers Chain Latch的竞争

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

2019-04-29 18:28:03 208

原创 HASH链表

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

2019-04-19 10:18:06 4877

原创 ASSM数据并发插入测试

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

2019-04-15 15:45:03 326

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

建表并查看数据所在的文件及段头(也就是L3块):SQL> CREATE TABLESPACE tbs1 DATAFILE '/data1/oradata/ora1/tps101.dbf' SIZE 100M uniform size 1M;SQL> create table ma.t64(id number(5),name varchar2(10)) tablespace tb...

2019-04-12 14:21:39 307

原创 oracle 12C dump数据块信息

dump数据块信息:SQL> CREATE TABLESPACE tbs1 DATAFILE '/data1/oradata/ora1/tps101.dbf' SIZE 100M uniform size 1M;SQL> create table ma.t64(id number(5),name varchar2(10)) tablespace tbs1;SQL> in...

2019-04-12 12:53:08 319

空空如也

空空如也

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

TA关注的人

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