数据库
文章平均质量分 69
草原的风
这个作者很懒,什么都没留下…
展开
-
查看oracle数据库运行多长时间
select to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') started_at,TRUNC(sysdate - (startup_time))||'day(s),'||TRUNC(24*((sysdate-startup_time) -TRUNC(sysdate-startup_time)))||'hour(s),'||MOD(TRUNC(原创 2013-09-06 08:44:47 · 2105 阅读 · 0 评论 -
ORACLE查询当前执行效率低的sql
ORACLE查询当前执行效率低的sql --CPU高的SQL select sql_text from v$sql order by cpu_time desc --逻辑读多的SQL: select * from (select buffer_gets, sql_text from v$sqlarea where buffer_gets > 500000转载 2014-03-13 10:34:35 · 2938 阅读 · 0 评论 -
CentOS 下Oracle11g DataGuard部署配置
Oracle DataGuard可以实现数据库的热备,11g后也可以用来作为实时的读写分离方案。下文以CentOS5.5+Oracle11g为例说明部署步骤。主库ip:192.168.1.232host:oracleTkBak.ipmph.comsid:orcl备库ip:192.168.1.50host:testOracle2.ipmph.comsid:orcl原创 2014-04-15 13:42:04 · 1764 阅读 · 0 评论 -
oracle 11g数据库用户密码180天自动过期调整
1.1 现象客户方的oracle 11g数据库当初安装部署时没有考虑调整密码过期问题,客户方在20121217使用时碰到了问题: SQL> conn user/password ERROR:ORA-28002: the password will expire within 2 daysConnected.。1.2 现象解析 Oracle原创 2014-04-15 14:35:02 · 1291 阅读 · 0 评论 -
查看oracle的SQL是否使用了索引
到底用没用索引,你可以从v$sqlaera中找到你的语句对应的hash_value,然后从v$sql_plan中找到语句的执行计划,通过执行计划确认你的语句是不是使用了索引。具体语句你可以类似如下写法:select hash_value,sql_text from v$sqlarea where upper(sql_text) like '%你需要查找的sql语句的特征片段%'原创 2014-06-04 15:08:09 · 6761 阅读 · 0 评论 -
oracle exp imp
/opt/oracle/10.2/bin/exp XSW2012/pmph_ora_225_ac_test file=/opt/oracle/backupw_$(date +%Y%m%d).dmp owner=XSW2012 buffer=204800000 log=/opt/oracle/backupw_$(date +%Y%m%d).log;张波2014/10/22 13:20:23原创 2014-10-22 13:27:13 · 425 阅读 · 0 评论 -
linux系统下创建oracle表空间和用户权限查询
创建用户和表空间: 1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)2、以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba3、创建临时表空间:--查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HO原创 2016-01-15 09:39:31 · 434 阅读 · 0 评论 -
查看Oracle执行计划的几种方法
查看Oracle执行计划的几种方法一、通过PL/SQL Dev工具 1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Rows。 2、先执行 EXPLAIN PLAN FOR select * f转载 2016-03-29 17:31:39 · 372 阅读 · 0 评论 -
没有建联合索引导致cpu过高
检查最好cpu的sqlselect *from (select v.sql_id,v.child_number,v.sql_fulltext,v.elapsed_time,v.cpu_time,v.disk_reads,rank() over(order by v.elapsed_time desc) elapsed_rankfrom v$sql v)原创 2016-03-29 17:53:59 · 496 阅读 · 0 评论 -
oracle执行计划详解
本文源自TTT BLOG,原文地址:http://blog.chinaunix.net/u3/107265/showart_2192657.html简介: 本文全面详细介绍oracle执行计划的相关的概念,访问数据的存取方法,表之间的连接等内容。 并有总结和概述,便于理解与记忆!+++目录--- 一.相关的概念 Row转载 2016-03-29 18:33:06 · 479 阅读 · 0 评论 -
Oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计划出了问题。 看懂执行计划也就成了SQL优化的先决条件。这里的SQL优化指的是SQL性能问题的定位,定位后就可以解决问题。转载 2016-03-29 18:51:27 · 609 阅读 · 0 评论 -
linux的oracle的cpu过高分析
根据linux的oracle进程号查询正在执行的sqlSELECT sql_text FROM v$sqltext a WHERE (a.hash_value, a.address) IN (SELECT DECODE(sql_hash_value, 0, prev_hash_value, sql_hash_value), DECODE(sql_hash_value, 0原创 2016-03-30 08:30:48 · 3138 阅读 · 0 评论 -
Oracle 占用cpu过高的处理办法
问题描述:今天上午10点多,公司网络断了一会,过了大约十来分钟,网工处理好了,可数据库这下子可撑不住了,打开linux top查看了一下CPU百分百了,这可能是因为缓冲在客户端的数据一下子全传上来了导致数据库压力过大,可以前没有出现过这种问题,于是进行了分析和处理,以下为处理过程: 问题分析:一般cpu占用效高都是排序、sql解析和全表扫描,这里首先需要找出占用cpu最转载 2016-03-29 04:54:21 · 11508 阅读 · 0 评论 -
Oracle数据库服务器CPU占用率很高,通过PID 查找正在执行的sql
前段时间,发现系统的数据库服务器CPU一直占用很高,特将解决方法共享出来,仅仅十个人经验,如果有不对,请谅解1、通过topas找占用CPU比率比较高的PID,然后找到对应的SQLID,对sql进行优化首先打开TOPAS,找到占CPU比重比较大的PID 第一步 select addr from v$process where spid={占CPU比重达的PID},比如上面的283原创 2014-03-13 09:15:19 · 6218 阅读 · 0 评论 -
oracle :性能优化的一个案例查找CPU 过高
一.通过top命令看CPU的利用率:#top以下是TOP的结果:last pid: 11225; load averages: 7.95, 6.63, 6.25 17:19:35273 processes: 259 sleeping, 3 running, 5 zombie, 3 stopped, 3 on cpuCPU states: 10.0% id转载 2014-03-12 21:45:53 · 3417 阅读 · 0 评论 -
SQL语句优化技术分析
SQL语句优化技术分析最近几周一直在进行数据库培训,老师精湛的技术和生动的讲解使我受益匪浅。为了让更多的新手受益,我抽空把SQL语句优化部分进行了整理,希望大家一起进步。一、操作符优化1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL转载 2014-02-11 10:32:39 · 343 阅读 · 0 评论 -
oracle数据库定时备份
1. 建立一个脚本,假定是/home/oracle/backup/backup_wcm_tk.sh:ORACLE_HOME=/opt/ora10g/product/10g;export ORACLE_HOME;ORACLE_SID=oracle;export ORACLE_SID;/opt/ora10g/product/10g/bin/exp tk/pmph@224tk原创 2013-09-06 10:41:30 · 771 阅读 · 0 评论 -
linux彻底卸载删除oracle
彻底删除oracle 1. 运行 $ORACLE_HOME/bin/localconfig delete --->root用户下(可略过此步)2. rm -rf $ORACLE_BASE/* --->oracle用户下 3. rm -f /etc/oraInst.loc /etc/oratab --->root用户下4. rm -rf /etc/oracle ---原创 2013-09-13 16:01:36 · 804 阅读 · 0 评论 -
oracle_dblink
查询 select * from dba_objects where object_type='DATABASE LINK'; 创建 create database link TO_TIKU connect to tiku identified by pmphtkzving using '(DESCRIPTION = (ADDRESS_LIST =原创 2013-09-13 15:58:40 · 480 阅读 · 0 评论 -
Linux下oracle的启动与关闭
Linux下oracle的启动与关闭(2012-05-20 21:45:39)一、启动启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。1.进入到sqlplus启动实例[root@oracle ~]# su - oracle 切换到oracle用户-bash-3.2$ lsnrctl start 启动监转载 2013-09-17 10:31:51 · 451 阅读 · 0 评论 -
oracle 打开文件数过大
ulimit -n 指定同一时间最多可开启的文件数。 列出所有打开的文件: # lsoflsof | wc -l oracle soft nofile 65536oracle hand nofile 65536oracle soft nproc 16384oracle hand nproc 16384* s原创 2013-10-11 10:37:09 · 1453 阅读 · 0 评论 -
windows下mysql忘记root密码的解决方法(方法二OK)
方法一: 1、在DOS窗口下输入net stop mysql5 或 net stop mysql 2、开一个DOS窗口,这个需要切换到mysql的bin目录。一般在bin目录里面创建一个批处理1.bat,内容是cmd.exe运行一下即可就切换到当前目录,然后输入mysqld-nt --skip-grant-tables; 3、再开一个DOS窗口,mysq原创 2013-12-02 14:55:32 · 443 阅读 · 0 评论 -
windows下mysql自动备份恢复脚本文件
windows mysql自动备份bat文件 @echo offset path=F:\pmph\exam\mysql\bin;%path%rem 设置变量:备份文件名SET BAK_FILE=EXAM_DBBAK_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.sqlrem 设置变量:日原创 2013-12-04 13:53:49 · 864 阅读 · 0 评论 -
mysql 允许多台远程服务器连接(外网连接)
update user set host = '%' where user = 'root'; select host, user from user;flush privileges;原创 2013-12-04 13:48:17 · 763 阅读 · 0 评论 -
Oracle常用性能监控语句解析
1、监控等待事件select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*)from v$session_wait group by event order by 4;Lock wait occur when a session attempts to acq转载 2013-12-18 14:51:44 · 580 阅读 · 0 评论 -
oracle查看sql进程执行情况
找到长时间执行的oracle会话,查看其操作系统进程状态1、查询系统中长时间执行的SQL操作,顺序排列:select sid, message from v$session_longops order by start_time;通过MESSAGE列,可以看到会话当前执行的状态。2、查询当前正在执行的SQL完成比率:select sid, opname,start_time转载 2013-12-18 15:53:48 · 2410 阅读 · 0 评论 -
Oracle中获取最低效的SQL的语句
oracle提供了很多工具来查找最低效的SQL,但是,本质上就是通过如下SQL语句,从相关系统视图中获取最低效的SQL: select rownum as rank, a.* from (select PARSING_SCHEMA_NAME RUN_USER, --执行用户 SQL_FULLTEXT, --SQL文本,全,带格式 sql_text, --SQL文本前面部分 el转载 2013-12-18 15:22:56 · 743 阅读 · 0 评论 -
Oracle10g Bug 4612267 补丁安装备忘录
一、bug症状和描述症状:当主机运行时间达198天或248天,cpu占用率就突然达到100%。此时操作系统命令可以执行,但Oracle的命令象lsnrctl、sqlplus、dbca等都会被hang住,不能执行。Oracle官方对该bug的描述:#----------------------------------------------------------------转载 2014-01-17 08:43:13 · 849 阅读 · 0 评论 -
oracle 死锁及锁的导致cpu高、内存高的排查详细过程
排查理由CPU高内存高通过查询视图,找到被锁住的对象v$locked_object,根据其locked_mode,判断其锁类型select l.xidusn, l.object_id, o.owner, o.object_name, l.session_id, l.oracle_username, l.os_user_name, l.process, decode(l.locked_mode, 0...原创 2018-04-20 14:04:34 · 1964 阅读 · 0 评论