数据库
文章平均质量分 66
深圳gg
这个作者很懒,什么都没留下…
展开
-
心跳检测产生的问题
近期数据库慢,发现会话有1万个,考虑到128个CPU,1万个线程肯定是过载了。1.定位出这1万个会话是从哪里连进来的,查了一下会话IP居然是unknown的,不知道是从哪里发起的。从操作系统层面上,netstat -tpna看tcp连接是从应用服务器连过来的。2.需要定位出应用服务器上哪个程序产生的,netstat -tpna | grep 1111 ,(YY:1111是数据库的IP和端口)有1千多个tcp连接,并没有发现进程。tcp 0 0 XX:56678 YY:1111 FIN_W原创 2021-07-20 15:52:38 · 361 阅读 · 0 评论 -
Oracle12c impdp导入慢的问题
现场反馈数据泵导入超慢,40M的dump,导入花了20分钟。对于Oracle数据库来说,诊断问题对运维问题是比较友好的,通常的思路是看相应会话的等待事件。select s.INST_ID, s.sid, s.SERIAL#, s.EVENT, s.WAIT_CLASSfrom gv$session swhere s.MODULE like ‘%Data Pump%’等待事件是:Streams AQ:enqueue blocked on low memory1.从字面意思上解读是内存不够,可...原创 2021-06-17 16:25:23 · 2468 阅读 · 0 评论 -
使用 Statspack报错的解决方法
1. 今天安装Statspack后,运行报以下错误,处理办法是将STATS$SNAPSHOT主键和外键都删掉,然后悲剧的是报告一直生成不了。SQL> execute statspack.snap;begin statspack.snap; end; ORA-04063: package body "SYS.DBMS_SHARED_POOL" 有错误ORA-06508: PL/S原创 2012-07-07 12:22:17 · 1320 阅读 · 0 评论 -
oralce无法创建视图
在普通数据库用户下创建一张视图: create or replace view redo_size as select value from v$mystat, v$statname where v$mystat.statistic# = v$statname.statistic# and v$statname.name = 'redo size原创 2012-08-08 20:32:49 · 932 阅读 · 0 评论 -
系统性能优化之如何查找循环操作数据库
循环操作数据库对系统性能影响很大,试想一下,点击一个按钮打开和关闭数据库上万次,长时间占用连接池,同时消耗数据库性能。在专项代码走查中比较难发现这些问题。下面是我解决这个问题的思路, 一、隔10分钟备份下v$sql的数据,有点模拟数据库的快照,awr报告中有SQL执行的次数,可惜是一个top排名,对于一个超大的系统来说,信息不太够。见附录一 二、写程序对比,对于执行次数多的原创 2012-08-09 17:47:11 · 2864 阅读 · 0 评论 -
oracle10g 联机文档如何学习--补充中
ORACLE数据库管理 Oracle Database Administrator's GuideORACLE备份和恢复 Oracle Database Backup and Recovery User's Guide网络管理与配置 Oracle Database Net Services Administrator's Gui原创 2012-08-27 08:13:49 · 1080 阅读 · 0 评论 -
如何查看oracle SGA各组件大小,以及调整db_cache,shared_pool,PGA大小
看了盖老师的深入浅出DBA后,做的笔记。伴随db_cache_size的增大,估计的物理读(estd_physical_reads)在逐步减少,我们的选择就于在db_cache_size的设置和physical_reads之间寻找一个边际效率最高点,使用可以接受的内存设置,获得尽量低的物理读。---摘抄自盖老师的大作。--查看各组件的大小 select x.ksppinmnam原创 2012-08-20 20:09:40 · 4720 阅读 · 0 评论 -
oracle 数据泵导出的问题
有一张表有上千万的数据,数据库不是安装在本机,普通的导出非常慢,则用数据泵: expdp eis/test@5.240 TABLES=prod_runlog_run_rec_detail dumpfile=expdp.dmp DIRECTORY=exp_dir 1. 导出的文件在数据库服务器上,需要把文件导出到本地 解决:create da原创 2012-09-03 09:24:50 · 2950 阅读 · 0 评论 -
oracle从10.2.0.1.0升级到10.2.0.4.0 DBconsole不能使用的解决方法
一、按照网上操作,dbconsole还是不能启动C:\Documents and Settings\guogang>set ORACLE_SID=ORACLEC:\Documents and Settings\guogang>emca -repos recreateEMCA 开始于 2012-9-4 14:30:35EM Configuration Assistant, 10.2.原创 2012-09-04 17:22:11 · 1768 阅读 · 0 评论 -
oracle 优化-更新中
share_pool的优化集中在对librarycache的优化,OLTP系统主要是减少硬解析,使用绑定变量是一种方式外。下面还有一种方式Select * frompub_department where id=1;执行完后,再执行Select * frompub_department where id=2会再次发生硬解析可以通过select * from v$sysstat t w原创 2012-08-27 08:25:03 · 793 阅读 · 0 评论 -
如何查询oracle隐藏参数
用的是oracle10g,要查下data buffer的设置情况,db_cache_size,db_block_buffers的值都为0。有些设置为隐藏参数 (hidden parameters) ,什么是隐藏参数呢?是系统中使用,但 Oracle 官方没有公布的参数,这些参数可能是那些还没有成熟或者是系统开发中使用的参数。 用SYS登录可以执行下列语句查询: select x.ks原创 2012-09-05 11:59:13 · 1387 阅读 · 0 评论 -
buffer cache性能诊断关注的统计信息
为了对buffer cache进行性能的诊断,oracle提供了很多有关buffer cache的统计信息。这些统计信息大致可以分成三类: 1.有关用户发出的对内存数据块的请求相关的统计信息; 2.有关DBWR后台进程对内存数据块处理相关的统计信息; 3.RAC相关的统计信息。 指标如下:SQL> SELECT name, value原创 2012-09-05 15:13:29 · 796 阅读 · 0 评论 -
oracle Scheduler调用job
Scheduler 可以简单调度成百上千的tasks。Oracle Scheduler 通过在DBMS_SCHEDULER PL/SQL 包中存储和过程来执行,用普通的数据库用户做测试。--创建表createtable indextable(idnumber,namevarchar2(10));--存储过程createorreplaceprocedure p_insert_te原创 2012-08-27 17:34:35 · 3007 阅读 · 0 评论 -
bdump大小增长过快的处理方法
本地安装的数据库版本是10.2.0.1.0,今天突然发现自己的D盘没空间了,查找一番,发现bdump已经达到26G。查看alert_oracle.log文件,报了大量的错,基本一秒钟报一次:Tue Aug 28 18:47:31 2012Errors in file d:\admin\oracle\bdump\oracle_j000_4356.trc:ORA-00600: 内部错误代码原创 2012-08-28 20:36:47 · 1572 阅读 · 0 评论 -
undo太大的处理办法
今天突然觉得D盘空间少了,查一下,是undo的数据文件占用了23G。Oracle的AUM(Auto Undo Management)从出生以来就经常出现只扩展,不收缩(shrink)的情况(通常我们可以设置足够的UNDO表空间大小,然后取消其自动扩展属性)。到OEM中证实了一下,确实是扩展功能打开。处理方法(环境windows):--1.创建新的undo空间create undo ta原创 2012-09-07 08:35:37 · 1745 阅读 · 0 评论 -
oracle10g小版本升级
由 10.2.0.1.0升级到10.2.0.5.01、在“电脑”——“计算机管理”——“服务”中停掉ORACLE相关的服务2、运行p6810189_10204_Win32.zip包中的setup.exe文件进行升级3、在安装过程中在选择安装目录时选择要升级的ORACLE主目录,比如ORACLE 10.2.0.1安装在D:\oracle\product\10.2.0\db_1,那就选择这原创 2012-09-07 19:47:29 · 2710 阅读 · 2 评论 -
数据泵expdp和impdp用法
exp/imp与expdp/impdp的用法区别1:把用户usera的对象导到用户userb,用法区别在于fromuser=usera touser=userb ,remap_schema=usera:usera。例如imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.转载 2012-09-27 16:40:52 · 1534 阅读 · 0 评论 -
oracle 收集统计信息(除去备份表)
生产环境上的数据库经常要手工更新统计信息,表非常多,要除去备份表(备份表通常会加上bak或是日期)。 EAM : 数据库用户名 degree: 并行度,加快收集时间,我的数据库是12核,所以设置24 cascade :连同索引一起更新select 'execute dbms_stats.gather_table_stats(''EAM'',原创 2012-09-11 20:27:25 · 1055 阅读 · 0 评论 -
oracle 常用权限字典表
ALL_COL_PRIVS 表示列上的授权,用户和PUBLIC是被授予者 ALL_COL_PRIVS_MADE 表示列上的授权,用户是属主和被授予者 ALL_COL_RECD 表示列上的授权,用户和PUBLIC是被授予者 ALL_TAB_PRIVS 表示对象上的授权,用户是PUBLIC或被授予者或用户是属主 ALL_TAB_PRIVS_MADE 表示对象上的权限,用户是属主或授原创 2012-09-13 17:48:54 · 1005 阅读 · 0 评论 -
一致读步骤
一致读的步骤:1. Read the Data Block. 读数据块2. Read the Row Header. 读行头3. Check the Lock Byte to determine whether there's an ITL entry. 检查lock字节是否有事务槽4. Read the ITL entry to determin原创 2012-09-14 18:28:43 · 698 阅读 · 0 评论 -
批量生成awr报告
自动生成awr脚本,@awrrpt_batch.sql start_snap end_snap 或>@awrrpt_batch.sql,生成文件在数据库服务器directory的DATA_PUMP_DIR中,可惜不能远程生成。/*usage:1、noninteractive:SQL>@awrrpt_batch.sql start_snap end_snap2、interacti转载 2012-09-18 15:14:14 · 1161 阅读 · 0 评论 -
oracle job interval规则
1.每分钟执行 Interval => TRUNC(sysdate,'mi') + 1/ (24*60) 或 Interval => sysdate+1/1440 2.每天定时执行 例如:每天的凌晨5点执行 Interval => TRUNC(sysdate) + 1 +5/ (24) 3.每周定时执行 例如:每周一凌晨点5执行 I原创 2012-10-23 12:03:23 · 1224 阅读 · 0 评论 -
oracle数据字典视图及其功能
前面的为部分翻译,后面为具体的全部原版-----------DBA_DBA_2PC_NEIGHBORS 包含待处理事务进入连接和退出连接信息。DBA_2PC_PENDING 包含等待恢复的分布式事务的信息。DBA_ALL_TABLES 显示数据库中所有表(对象表和关系表)的描述。DBA转载 2012-10-25 17:38:00 · 2038 阅读 · 0 评论 -
MIS系统性能问题根源及解决方案-灵活是性能之敌
对于MIS系统的开发,很多人都会有这样的经历,先赶进度把系统开发出来收钱,后期再不断的进行性能调优,然而此时可调优的空间很小了。对于数据量较大的系统,最多维持系统稳定不宕机。开发在想在不修改代码的情况下,调整下数据库,加个索引,或是调整一下数据库参数,整改系统都飞起来了。领导在想怎么能找到一个NB的技术,一下子就能解决问题。如果能找到,请告诉下我,我认为不靠谱。我对公司系统的分析如下:一、根源原创 2012-11-15 19:59:59 · 1372 阅读 · 0 评论 -
oracle动态性能视图分类
所有的动态性能视图在 v$fixed_table系统级别:V$sysstat v$sgastat v$event_name v$system_event查看系统中是否有全表扫描: Select name,valuefrom v$sysstat where name like ‘%table scan%’会话级别:V$statname v$sesstat v$ses原创 2012-08-21 20:36:17 · 736 阅读 · 0 评论 -
需要学习的DSI
DSI的全称是DATA SERVER INTERNALS,是oracle为售后服务工程师进行的培训教程。DSI含以下课程:DSI301:ADVANCED SERVER SUPPORT SKILLSDSI302:DATA MANAGEMENTDSI303:DATABASE BACKUP AND RECOVERYDSI304:QUERY MANAGEMENTDSI305:D原创 2012-11-21 22:19:03 · 1301 阅读 · 0 评论 -
当前session生成redo,undo大小,统计信息,以及表的大小
计算SQL语句生成redo,undo大小,以及表的大小--redo,undoselect name, value from v$mystat, v$statname where v$mystat.statistic# = v$statname.statistic# and (v$statname.name = 'redo size' or v$statna原创 2012-08-09 20:01:35 · 1652 阅读 · 0 评论 -
DOS命令大全(经典收藏)
#1 一:net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\原创 2012-12-12 18:01:36 · 783 阅读 · 0 评论 -
如何根据采集的请求和参数做性能优化
在做系统优化的时候,我们会想找出用户使用最多的功能进行优化,让优化的效果最大化。但问题来了,对于一个查询,查询条件那么多,不可能做到每个条件都优化,那怎么优化呢?通过监控软件找到用户操作带的参数,可以推断出哪些查询条件用的最多,进行直接优化这些条件组装的SQL。 请求后面的参数为:vendorId=&isEmergent=&subprojectId=&desiredVendorI原创 2012-12-11 16:57:12 · 912 阅读 · 0 评论 -
如何停止正在运行的job(解决job不能删除或修改的问题)
正在运行的job 删除或修改是不行的,只能 kill process / kill session。--1.先查一下正在运行的jobselect *from dba_jobs_running;--2.查找到sessionselect a.spid, b.SID, b.SERIAL# from v$process a, v$session b where a.add原创 2012-10-23 11:00:04 · 16622 阅读 · 1 评论 -
AWR 中的DB Time实验及性能诊断思路
AWR 中的DB Time表示用户操作花费的时间,包括CPU时间和等待事件。它指的是用户操作的时间,而不包含数据库后台进程花费的时间。 如何证明上面的话呢?打算开10个PL/SQL窗口,for update一张表,此时就有9个窗口在等待,然后分析AWR报告的DB Time的值。为了试验方便,将AWR快照生成时间调整为10分钟,如何调整见http://blog.csdn.net/原创 2013-02-21 08:51:34 · 1181 阅读 · 0 评论 -
调整生成AWR快照的时间和快照保留的时间
有一个需求, 要将AWR生成报告的时间由默认的1小时改为10分钟,默认报错快照7天改为4天。SQL> select * from dba_hist_wr_control; DBID SNAP_INTERVAL RETENTION TOPNSQL---------- --------原创 2013-02-21 08:16:19 · 5155 阅读 · 0 评论 -
AWR数据迁移
--查看快照select * from sys.wrh$_active_session_history;---------------------------连上源数据库-----------------------------将AWR数据导出,mpdir为directory,从bid快照到eid快照导出--注意的是要以sys用户导出exec DBMS_SWRF_INTERNA原创 2013-02-22 12:34:41 · 863 阅读 · 0 评论 -
查看表和视图空间show_space()
show_space()有很多版本,这是其中的一个。--在PL/SQL命令窗口要set serveroutput on--查看表exec show_space('watch_log_event','auto','table');exec show_space('watch_log_event','auto','table','Y');--查看索引exec show_sp原创 2012-09-10 14:26:51 · 2198 阅读 · 0 评论 -
行链接和行迁移检测和消除方法
在官方文档中,翻译Performance Tuning Guide /10.2.4.3 Table Fetch by Continued Row. You can detect migrated or chained rows by checking the number of tablefetchcontinuedrow statistic in V$SYSSTAT. A s翻译 2013-03-14 09:07:11 · 1493 阅读 · 0 评论 -
AWR中的DB Time和CPU time
在AWR中的等待事件中的CPU time总是弄不清,不过今天总算弄清楚了。 官方文档Performance Tuning Guide/5 Automatic Performance Statistics: This statistics represents the total time spent in database calls and is a indicator of原创 2013-02-23 09:33:35 · 6716 阅读 · 0 评论 -
父游标与子游标
父游标有关的关键信息是这个SQL语句的文本。子游标有关的关键内容是执行计划和执行环境。一旦保存到库缓存中,父游标和子游标就可以分别通过视图v$sqlarea和v$sql被具体化。可以通过address、hash_value、child_number来确定一个游标。父游标由address和hash_value来唯一识别。从oracle 10g开始,可以通过使用sql_id字段来代替address原创 2013-01-21 08:08:00 · 1064 阅读 · 1 评论 -
Oracle中的二进制、八进制、十进制、十六进制相互转换函数
要执行的时候要下列语句一起执行,部分函数需要先创建type_str_agg类型和f_stragg函数才能使用,这两个对象的代码也附在之后。CREATE OR REPLACE PACKAGE pkg_number_trans IS FUNCTION f_bin_to_oct(p_str IN VARCHAR2) RETURN VARCHAR2; FUNCTION f_bin_转载 2012-09-20 21:58:41 · 3272 阅读 · 1 评论 -
AWR之对磁盘IO的诊断
数据库性能的问题,有可能是磁盘IO的性能有瓶颈,需要结合几个参数看。Host NamePlatformCPUsCoresSocketsMemory (GB)ggAIX-Based Systems (64-bit)84 61.75 Snap IdSnap TimeSessions原创 2013-05-24 09:52:41 · 5324 阅读 · 0 评论 -
如何查到堵塞的会话
现场有可能出现这样的情况,实施同事修改数据后,忘记提交了(特别是新人最容易出现这种情况),从数据库报告的表象如下,一个极其简单的update产生了大量的等待(取当时的执行计划,是走了索引),其实它是被冤枉的: Snap IdSnap TimeSessionsCursors/SessionBegin Snap:3219527-May-13原创 2013-05-28 19:24:48 · 1428 阅读 · 0 评论