oracle
文章平均质量分 80
iteye_13903
这个作者很懒,什么都没留下…
展开
-
read by other session,db file scattered read,db file sequential read等待时间的优化
今天检查彩民村的数据库健康状态,发现CPU使用率非常高,而且这个时间点的业务并不是很忙,开发人员也没有对数据库做大的操作。分析AWR发现占用资源比较大的sql很多都是重复的Top 5 Timed Events EventWaitsTime(s)Avg Wait(ms)% Total Call TimeWait ...2011-05-18 11:23:12 · 79 阅读 · 0 评论 -
ORA-01034、ORA-27101和ORA-28056错误解决方法
今天登录数据库的时候遇到了ORA-01034和ORA-27101错误C:\Documents and Settings\Administrator>set ORACLE_SID=STREAMC:\Documents and Settings\Administrator>SQLPLUS STREAM/STREAMSQL*Plus: Release 11.2.0.1.0 Pro...2011-10-11 00:40:22 · 143 阅读 · 0 评论 -
oracle将一行拆分为多行
客户的业务涉及大量的图片信息,之前这些图片信息只在数据库里存着路径,图片都是存在文件服务器上,现在要做数据库迁移,需要把这些图片都存放到数据库里。坑爹的是,图片在数据库中的存放路径SQL*LOADER不能直接加载,需要进行行记录拆分。\01\01--0002\04-01-01-0002-003-<0001-0007>.jpg;\01\01--0003\04-01-01-0003-007...2011-10-12 00:51:53 · 1290 阅读 · 0 评论 -
ORACLE随机取数据
目前负责的这个数字化项目,需要开发个质检工具,实现每次随机取20%的数据进行质检,开发人员问我如何实现随机取20%的数据。使用ORACLE的sample可以很容易实现,但是ORACLE返回的结果不是很准确。SQL> select count(*) from t001;COUNT(*)----------500执行计划--------------------------------------...2011-10-25 23:53:05 · 142 阅读 · 0 评论 -
利用闪回、logmnr找回误删除的数据
朋友遇到了非常经典的ORACLE事故——误删除,开发人员告诉他,昨天下午五点-六点不小心误删了几条数据,问是否可以恢复,朋友的环境是ORACLE 10gR2,没有备份,但有开归档和闪回,这个是可以找回数据的。以下为找回误删除数据的实验。SQL> create table t1(id number,name varchar2(20));Table createdSQL> insert i...2011-10-25 23:54:47 · 127 阅读 · 0 评论 -
SGA_TARGET大于SGA_MAX_SIZE的真实案例
今天在给库户数据库健康检查的时候,发现个很奇怪的问题,SGA_TARGET参数的值竟然大于SGA_MAX_SIZE参数的值。NAME TYPE VALUE------------------------------------ ----------- ----- sga_max_size ...2012-02-17 11:05:03 · 320 阅读 · 0 评论 -
PCTFREE和PCTUSED及将LOB存到行外
今天的ADDM报告建议重建存放图片的表并增大PCTFREE,这可能和程序的逻辑有关,这套程序是先INSERT一条记录,但是此时LOB字段是空的,然后UPDATE这条记录,将图片加载到这条记录上。查找结果 1: 缓冲区忙 - 热对象受影响的是 .02 个活动会话, 占总活动的 3.46\%。------------------------------对数据库块的读写争用消耗了大量数据...2012-02-17 11:14:09 · 208 阅读 · 0 评论 -
SHM不足导致导致数据库宕机
今天早上到办公室,开发说测试环境应用程序挂掉,看日志说是连接不上数据库,经查看,数据库在晚上10点的时候挂掉,告警日志报错如下:WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least 78...2012-02-21 20:17:43 · 313 阅读 · 0 评论 -
如何追踪其他SESSION会话信息
今天测试说在加载条目数据、校验数据和质检数据的时候很慢,但是又不知道这些操作的具体SQL是什么,很难分析,应用程序用的是weblogic中间件,session很难跟踪,只好追踪整个库的会话情况,由于整库跟踪需要前台只有一个人操作,跟踪结果才准确,如果多人操作,对跟踪结果会有影响,需要和测试人员约好时间,目前还未开始正式测试性能,所以以下操作都是在本人电脑上实验。利用dbms_monito...2012-02-21 20:35:35 · 189 阅读 · 0 评论 -
$sqlarea,v$sql查询消耗资源大的sql
$sqlarea,v$sql----------------------- 从V$SQLAREA中查询最占用资源的查询select b.username username,a.disk_reads reads,a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,a...原创 2011-04-28 20:06:19 · 133 阅读 · 0 评论 -
oracle锁表问题
1、Select * From v$locked_object;锁表对象 根据sessionid,到Tools--sessions找到相应的sessions即可看到锁表的sql语句 或直接执行: Select a.inst_id, c.sid, c.serial#, d.name, b.obj...原创 2011-04-28 20:36:15 · 187 阅读 · 0 评论 -
oracle常用缩写的含义
$ORACLE_HOME/bin下的utilities解释Binary First Available Description--------- ---------------- ------------------------------------------adapters ...原创 2011-04-29 12:46:53 · 275 阅读 · 0 评论 -
修改oracle当前会话的语言环境,解决oracle显示中文乱码的问题
对于数据库ORACLE有时操作时,提示的是一串串???,不能起到提示的作用,这是由于语言环境的设置问题,下面是实际操作中要用到的。查看当前会话的语言环境:SQL> select userenv('language') from dual;USERENV('LANGUAGE')--------------------------------------------------...原创 2011-04-29 12:53:08 · 611 阅读 · 0 评论 -
oracle跟踪事件(dump)总结
一、Oracle跟踪文件 Oracle跟踪文件分为三种类型,一种是后台报警日志文件,记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任何错误状态没有必然的联系。后台报警日志文件保存BACKGROUND_DUMP_DEST参数指定的目录中,文件格式为SIDALRT.LOG...原创 2011-04-29 15:02:49 · 69 阅读 · 0 评论 -
selserver2000DTS转换数据(mysql到oracle)
一、安装mysql数据源驱动1. 如果找不到mysqi数据源,需要安装myodbc,安装myodbc之后,需要在控制面板里进行配置mysql的数据源。在控制面板里找到管理工具,双击,进去后双击数据源 (ODBC)点击添加按钮在弹出的对话框中找到安装的myodbc驱动并点击完成按钮,进行如下配置点击Test按钮,如果弹出下面的对话框,表示配置正确点击OK按钮,...原创 2011-04-29 16:44:53 · 131 阅读 · 0 评论 -
Oracle 官方文档归类
某人的总结,贴在这里了oracle官方文档归类原则:凡是Reference相关的文档都无需精读,碰到问题时速查即可1.ORACLE新功能 n Oracle Database New Features Guide每次新版本的ORACLE RELEASE以后,看一下《Oracle Database New Features Guide》,以了解一下最新的FEATURE,此文档可以粗略地阅读...原创 2011-04-29 16:54:15 · 78 阅读 · 0 评论 -
转载三思哥的ORACLE RAC数据库配置Dataguard环境
ORACLE 中的RAC特性保护的是实例,RMAN特性保持的是数据,而Dataguard特性则是连实例带数据一块"保"了,三个特性相互配合能够在一定程度上构建一个安全可靠高可用的ORACLE数据库平台。 之前三思笔记系列文章分别描述过RAC的创建、RMAN管理以及Dataguard特性应用等方面的内容,本文将通过实践,演示如何为RAC数据库创建Dataguard配置。 一、做足准备工作...原创 2011-05-04 15:02:55 · 160 阅读 · 0 评论 -
oracle10.2.0.1.0快速从linux迁移至Windows
今天打算搭建DG实验,由于时间不是很富裕,先做个简单的迁移实验目的将oracle10.2.0.1.0从linux迁移到Windows10.2.0.1.0,由于同版本,操作比较简单,我的数据量也比较小,就没有利用备份,而是直接传数据文件的方法。我的Windows电脑上已经安装过oracle服务端,所以需要创建需要的目录,adump、bdump、cdump、udump,建立存放数据文件的目录,...2011-05-09 13:16:56 · 183 阅读 · 0 评论 -
oracle10gR2新特性--透明加密(TDE)
从10gR2开始,oracle推出了透明数据加密技术(Transparent Data Encryption,TDE)。有效的保护数据的安全。 使用透明加密的时候有可能遇到ORA-28353和ORA-28368错误。下面是有关实验。SQL>create table test (id number,name varchar2(16) ENCRYPT NO SALT);第 1 行出现错误:ORA...2011-10-09 15:02:23 · 220 阅读 · 0 评论 -
SQL*LOADER加载图片、TXT
朋友打电话问我如何利用sql讲mysl导出的文本数据加载到oracle数据库,电话说了他也没听清楚,我做了如下实验,给他做例子:一、加载txt文本1.在D盘建立sqlldr的控制文件,111.ctl 内容如下LOAD DATAINFILE 'd:\111.txt'INTO TABLE SALGRADE_TESTTRUNCATEFIELDS TERMINATED BY ','(GRADE,LOSAL...2011-10-09 15:02:07 · 156 阅读 · 0 评论 -
关于read by other session,db file scattered read,db file sequential read等待时间的优化(上)...
今天检查彩民村的数据库健康状态,发现CPU使用率非常高,而且这个时间点的业务并不是很忙,开发人员也没有对数据库做大的操作。分析AWR发现占用资源比较大的sql很多都是重复的Top 5 Timed Events EventWaitsTime(s)Avg Wait(ms)% Total Call TimeWait Clas...2011-05-18 11:27:58 · 248 阅读 · 0 评论 -
关于read by other session,db file scattered read,db file sequential read等待时间的优化(下)...
5tt2k7djxub2mselect t.unionorderid as serialid , t.lotteryid as lotteryid , fn_get_lotteryname(t.lotteryid) as lotterydesc , t.lotteryissue as issue , fn_get_username(t.uuid) as username , to...2011-05-18 11:29:54 · 114 阅读 · 0 评论 -
AWR导入分析数据
有些时候,我们分析客户的数据库的性能,需要请客户将AWR数据导出,然后导入本机数据库进行分析。一、在导入数据之前,一般需要创建以下路径DATA_FILE_DIRDATA_PUMP_DIREXPIMP SQL> create directory data_file_dir as 'd:\dir'; --将要导入的dmp文件存到此路径下SQL> cr...2011-06-23 12:30:05 · 132 阅读 · 0 评论 -
awr导出分析数据
有些时候,我们分析客户的数据库的性能,需要请客户将AWR数据导出,然后导入本机数据库进行分析。下面简单介绍下怎样用awr导出分析数据。一、在导出数据之前,一般需要创建以下路径DATA_FILE_DIRDATA_PUMP_DIREXPIMP SQL> create directory exp as 'd:\exp'; SQL> create ...2011-06-23 13:58:29 · 150 阅读 · 0 评论 -
在网上找的enq: TX - row lock contention等待事件总结
[转]等待事件---enq:TX - row lock contentionenq是一种保护共享资源的锁定机制,一个排队机制,先进先出(FIFO)发生TX锁的原因一般有几个1.不同的session更新或删除同一个记录。2.唯一索引有重复索引3.位图索引多次更新4.同时对同一个数据块更新5.等待索引块分裂通过数据系统视图检查果然是多个update的sqlselect ...原创 2011-06-23 15:47:47 · 258 阅读 · 0 评论 -
AWR导入分析数据之后,生成AWR报告对数据库分析
AWR导入分析数据之后,就要对数据库进行分析,我之前导入的AWR数据是RAC环境,利用awrrpt.sql只能对本地的数据库生成AWR报告,要生成导入的数据库的AWR报告,就需要使用awrrpti.sql这个脚本。QL> @?/rdbms/admin/awrrpti Specify the Report Type~~~~~~~~~~~~~~~~~~~~~~~Would y...2011-06-27 10:39:26 · 129 阅读 · 0 评论 -
结合AWR报告生成HTML格式的SQL执行计划
有些时候,我们需要分析占用资源比较大的sql的执行计划,也需要将sql的执行计划以报告的形式反馈给客户,由于AWR报告里的SQL通常都是些变量,因此以命令行方式生成sql的执行计划就很麻烦,而且也不美观,利用awrsqrpt.sql脚本就很方便。 生成HTML的执行计划很简单,如果是生成本地数据库的sql执行计划,执行awrsqrpt.sql就可以,但是如果需要生成由AW...2011-06-29 14:26:16 · 200 阅读 · 0 评论 -
我们为什么要用索引,用索引为什么比不用索引快
今天分析客户的oracle数据库,发现很多表上都建立了复合索引,而SQL的执行计划很多都没有走索引或者都是索引扫,这显然是不对的,通过分析SQL发现,SQL的条件很多都不满足复合索引,也可以说是复合索引简历的不正确,在请教老杨(杨廷琨)之后,使我明白了很久以来一直没有关注过也没仔细思考过的问题,就是我们为什么要用索引,都说用索引会加快数据库的速度,那么为什么会加快速度呢?我想这个问题很多人都会回答...2011-07-01 16:05:11 · 712 阅读 · 0 评论 -
ORA-600汇总(上)
此文转载 http://space.itpub.net/13558130 mydbalife的文章 ora-600是Oracle对于一些内部错误的一个统一的错误号(类似的还有ora-7445)。要判断ora-600错误具体的类型,一般要根据其第一个参数来区分。一个ora-600的例子如下:ORA-00600: internal error code, arguments: [15700...原创 2011-07-04 15:28:26 · 167 阅读 · 0 评论 -
enq: TX - row lock contention
今天,收到客户的邮件说上周每天早上10点多,数据库都会有很多锁,收集了下客户的AWR信息,发现排在TOP5第二位的就是enq: TX - row lock contention。SQL> select SESSION_ID,SESSION_SERIAL#,SQL_ID v$active_session_history where event='enq: TX - row lock con...2011-07-19 17:52:33 · 100 阅读 · 0 评论 -
由ACOUG、云和恩墨主办的”Oracle技术嘉年华(OTN China Tour 2011)“活动已经正式拉开帷幕。...
由ACOUG、云和恩墨主办的”Oracle技术嘉年华(OTN China Tour 2011)“活动已经正式拉开帷幕。活动官方网站:http://tech.it168.com/topic/2011/8-24/otn/index.htmlACOUG宣传贴:http://www.acoug.org/events/225.htmlACOUG微博:http://weibo.com/acoug云和恩墨微博:...原创 2011-09-01 12:00:31 · 168 阅读 · 0 评论 -
创建本地Duplicate数据库
Duplicate是RMAN的一个组成部分,利用Duplicate复制一个数据库相当简单,Duplicate可以在不影响目标数据库的情况下,依靠目标数据库的备份集常见一个数据库副本或者standby数据库,(11g对Duplicate有所加强,已经非必须依赖目标数据库的备份集)。在复制目标数据库的时候,既可以复制完整的数据库,也可以仅复制目标数据库的部分表空间,也可以跳过指定的表空间和只读的表空间...2011-10-08 22:14:07 · 132 阅读 · 0 评论 -
SQL*LOADER和外部表加载
最近一直在用SQL*LOADER加载数据,用外部表也可以实现,今天想测试下外部表加载数据和SQL*LOADER加载1029027条记录的性能。首先创建一张外部表。create table enmo(name char(10),lname char(10),xname varchar2(50),ydoss varchar2(20),doss varchar2(50),btime varchar2(5...2011-10-08 22:17:22 · 156 阅读 · 0 评论 -
ORACLE字符集检查工具CSSCAN
我们在创建数据库的时候,通常会把字符集设置为ZHS16GBK,有些时候,ZHS16GBK字符集满足不了业务的需求,会更换字符集,以AL32UTF8为例,ZHS16GBK字符集每个汉字以2个字符存放,而AL32UTF8字符集每个汉字是以3个自己存放,这样,有可能就要增大某些表的字段长度。ORACLE提供了CSSCAN工具来查看字符集转换的时候哪些字段需要增大到多大的长度。(当然,也可以写PL/SQL...2011-10-08 22:22:27 · 269 阅读 · 0 评论 -
tnsping通却连接不上数据库
今天在Windows XP上装可个11gR2数据库,却出现个很奇怪的问题,客户机和plsqldev都连不上数据库,提示ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务。——————tnsping—————————–C:\Documents and Settings\Administrator>tnsping streamTNS Ping Utility for 32...2011-10-08 22:26:16 · 1590 阅读 · 0 评论 -
NAMES.DIRECTORY_PATH客户端连接参数
今天在做oracle10gR2新特性透明加密(TDE)的时候,建立wallet默认路径和修改sqlnet.ora文件都 报ORA-28368和ORA-28353错误,而且修改sqlnet.ora文件后,监听程序起不来,后来在sqlnet.ora文件里加入NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)问题解决。 下面简单介绍下我对NAMES.DIRECT...2011-10-08 22:38:31 · 1038 阅读 · 0 评论 -
查看某个用户下的所有空表
今天在群里有人问如何查看某个用户下的所有空表,有人回答是写PL/SQLSQL> DECLARE 2 v_table tabs.table_name%TYPE; 3 v_sql VARCHAR2(888); 4 v_q NUMBER; 5 CURSOR c1 IS 6 SELECT table_name tn FROM tabs; 7 TYPE c IS REF CUR...2011-10-09 15:01:48 · 179 阅读 · 0 评论 -
博客地址更换通知
自2011年8月,博客使用新地址http://www.dbdream.com.cn原创 2012-09-29 09:23:14 · 193 阅读 · 0 评论