- 博客(38)
- 资源 (9)
- 收藏
- 关注
原创 系统优化之---分区表加速查询速度和删除速度
1、删除表里的数据最用下面语句alter table t_name drop partition p_name;alter table t_name truncate partition p_name;delete 方式弊端:消耗大量的系统资源和无法释放空间SQL> create user test identified by test account unlock;
2013-11-28 16:20:28 2287
翻译 Linux下中文包、中文输入法的安装
使用VMware安装redhat 5时未将中文包安装上,所以现在的中文全是麻将类的方块,如何解决全英文无法显示汉字和输入汉字这一问题,接下来就知道啦…将系统光盘镜像文件连接至计算机,我的镜像是RHEL5.1的,先将光盘挂载至/mnt目录下,然后切换到/Server目录下,安装两个中文包: fonts-chinese-3.02-12.el5.noarch.rpm fonts-ISO8
2013-11-28 16:18:24 649
转载 新接触oracle数据库需要了解的东西
当我们来到一个新的数据库环境我们首先需要了解的东西如下:1、先要了解当前的Oracle 数据库的版本和平台和相关信息 这个很重要,忙乎了半天还知道你的数据库是哪个版本,跑在什么系统上,那岂不是很悲哀,所以我个人认为这是第一步需要了解的。下面的这些脚本可以帮助你获取你需要的相关信息。 select * from v$version; select * from d
2013-11-28 16:17:25 726
转载 Oracle从10g升级到11g详细步骤
Oracle从10g升级到11g详细步骤数据库旧版本:10.2.0.4数据库新版本:11.2.0.2OS 版本: Solaris 10参考文档:Complete Checklist for Manual Upgrades to 11gR2 [ID 837570.1]第一部分 - 安装11gR2软件这里对软件的安装就不详细说明了,可以参考相应的文档。这里需要注意的是:如果你想
2013-11-28 16:16:18 589
原创 如何读懂tkprof
CALL :每次SQL语句的处理都分成以下三个部分 Parse:这步将SQL语句转换成执行计划,包括检查是否有正确的授权和所需要用到的表、列以及其他引用到的对象是否存在。 Execute:这步是真正的由Oracle来执行语句。对于insert、update、delete操作,这步会修改数据,对于select操作,这步就只是确定选择的记录。 Fetch:返回查询语句中所获得的记录,这步只
2013-11-28 16:14:22 702
原创 linux 如何调用sqlplus关闭和开启数据库
linux shell如何调用sqlplus关闭数据库-bash-3.2 root$ gb.sh#!/bin/bashsu - oracle cd /home/oraclesh shutdown.sh-bash-3.2$ more shutdown.sh#!/bin/bashprocc=`ps -ef|grep ora_|grep -v ora|wc -l`
2013-11-28 16:12:37 3219
转载 统计类SQL(按时间)
--按年度分组统计SELECT TO_CHAR(CREATION_DATE,'YYYY') CREATION_DATE,COUNT(*)FROM MTL_SYSTEM_ITEMS_B GROUP BY TO_CHAR(CREATION_DATE,'YYYY')ORDER BY CREATION_DATE DESC;--按月份分组统计SELECT TO_C
2013-11-28 11:30:32 727
转载 Oracle 行列转换 总结
行列转换包括以下六种情况: 1. 列转行 2. 行转列 3. 多列转换成字符串 4. 多行转换成字符串 5. 字符串转换成多列 6. 字符串转换成多行 首先声明,有些例子需要如下10g及以后才有的知识: A. 掌握model子句, B. 正则表达式 C. 加强的层次查询1、列转行CREATE TABLE t_co
2013-11-27 22:30:14 564
转载 Linux 内核参数 和 Oracle相关参数调整
Linux 内核参数的大小和Oracle 有很大的关闭,比如ORA-27102的错误,就是因为内核参数的大小不当造成。具体参考Blog: Upon startup of Linux database get ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device http://
2013-11-27 22:27:29 582
转载 Oracle SQL Loader
一:SQL Loader 的特点 oracle自己带了很多的工具可以用来进行数据的迁移、备份和恢复等工作。但是每个工具都有自己的特点。 比如说exp和imp可以对数据库中的数据进行导出和导出的工作,是一种很好的数据库备份和恢复的工具,因此主要用在数据库的热备份和恢复方面。有着速度快,使用简单,快捷的优点;同时也有一些缺点,比如在不同版本数据库之间的导出、导入的过程之中,总会出现这样或者那样
2013-11-27 22:26:15 505
转载 Oracle Statistic 统计信息(Dave)
本文转载子dava的文章,以便日后复习,所以转载下,写的非常好来自博客http://blog.csdn.net/tianlesoftware/article/details/4668723一. Statistic 说明 Oracle 官网对Statistic 有详细说明,参考: Managing Optimizer Statistics
2013-11-27 21:57:47 1049 1
原创 flash_recovery_area满的解决办法
1、oracle启动报错ORA-16014: log 3 sequence# 82 not archived, no available destinationsORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/hxy/redo03.log'这是由于Flash Recovery Area空间不足导致数据库不
2013-11-27 21:24:49 4283
原创 NOT EXISTS and NOT IN区别
The NOT EXISTS and NOT IN Constructs我们将讨论如何评估NOT EXISTS ,NOT IN ,使用Oracle的反连接访问路径的先决条件,以及影响反连接查询优化提示。然后我们将看看反连接访问路径如何可以用来做一些查询更有效的几个例子。NOT EXISTS and NOT IN 用来检索表中的行为不匹配另一个表中的数据。在早期,Oracle
2013-11-26 16:33:44 860
原创 查询表空间的碎片程度:
SELECT * FROM (SELECT PARSING_USER_IDEXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea ORDER BY disk_reads DESC)WHERE ROWNUM<10 ;
2013-11-26 11:02:16 747
原创 捕捉运行很久的SQL
select username,sid,opname, round(sofar*100 / totalwork,0) || '%' as progress,time_remaining,sql_textfrom v$session_longops , v$sqlwhere time_remaining and sql_address = addressand sql_hash_
2013-11-26 10:53:05 690
原创 查看表空间使用情况
SQL>select sum(bytes)/(1024*1024) as free_space,tablespace_name fromdba_free_space group by tablespace_name;SQL>SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED,C.BYTES FREE,(B.BYTES*100)
2013-11-26 10:52:26 976
原创 如何查看数据库中某用户,正在运行什么SQL 语句
SELECT SQL_TEXT FROM V$SQL_TEXT T, V$SESSION S WHERET.ADDRESS=S.SQL_ADDRESSAND T.HASH_VALUE=S.SQL_HASH_VALUEAND S.MACHINE='XXXXX' OR USERNAME='XXXXX' -- 查看某主机名,或用户名
2013-11-26 10:50:56 1043
原创 查询低效SQL的语句
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS, ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio, ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run, SQL_TEXTFROM V$SQLARE
2013-11-26 10:36:21 1106
原创 脚本实现FTP远程下载
以下脚本是自动实现远程ftp的脚本,供日后使用#!/bin/shftp -i -nopen 10.3.192.10 21user $source_user $source_passwd$ftp_modecd $src_pathlcd $dest_path_1mget `date +'%Y%m%d'`ES_HS.txtmget province.txt
2013-11-25 22:56:17 862
原创 安装数据库时如何查看系统那些包没有安装
在安装系统时经常会忘记勾选一些自带的安装包,可能会导致在安装数据库时不能顺利安装成功,下面语句是核实缺少的安装包语句rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc+
2013-11-25 22:52:27 943
原创 分区的优点
1、删除表里的数据最用下面语句alter table t_name drop partition p_name;alter table t_name truncate partition p_name;delete 方式弊端:消耗大量的系统资源和无法释放空间SQL> create user test identified by test account unlock;
2013-11-25 22:32:45 674
原创 sequence序列化常用命令
1、查看当前sequence值select seq_no_retailer_inv.nextval from dual;2、修改最大值 alter sequence SEQ_NO_RETAILER_INV maxvalue 999999999999999999999999999993、创建sequencecreate sequence "EBRIDGE_VSE
2013-11-25 22:29:52 921
原创 sed用法总结
1.sed[root@stu93 sed]# sed -r '/\n!G;s/(.)(.*\n)/&\2\1;//D;s/.//' abc.txt 回去查流编辑器 stream editer,是以行为单位的处理程序sed 流编辑器 stream editer语法 sed [options] 'command' in_file[s]option
2013-11-25 22:25:15 1392
原创 如何创建yum仓库
对于使用Linux系统的人来说,安装一个yum源对日后的软件安装帮助非常大,下面是自己安装yum的方法,做下记录以便以后随时使用。创建yum仓库find / -name "*.iso"[root@stu93 etc]# vim yum.repos.d/rhel-debuginfo.repo [rhel-debuginfo]name=Red Hat Enterprise Linu
2013-11-25 22:23:29 1540
原创 mysql AB复制
[root@station93 ~]# vim /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlserver-id=1log-bin=mysql-bin# Default to using old password format for compatib
2013-11-25 22:19:30 603
原创 oracle常用命令
一、oracle启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea、启动ORACLE系统>sqlplus / as sysdba>startup>quitb、关闭ORACLE系统>sqlplus / as sysdba>shutdown>quit 2、查看当前用户的缺省表空
2013-11-25 21:53:03 981
原创 oracle 热备脚本
此脚本只使用与文件系统上面的数据库,只是简单的脚本,不适合带库上的oracle,那个需要小小的改动。#!/bin/bashsource ~/.bash_profileexport NLS_LANG=AMERICAN_AMERICA.UTF8#定义时间TIME=`date +%Y-%m-%d[%R]`#清空SQL语句>/tmp/hotbak.sql#热备目录dir
2013-11-25 17:21:10 1076
转载 FAQ手册
1、怎么样查询特殊字符,如通配符%与_select * from table where name like 'A\_%' escape '\'2、如何插入单引号到数据库表中[A]可以用ASCII码处理,其它特殊字符如&也一样,如 insert into t values('i'||chr(39)||'m'); -- chr(39)代表字符'或者用两个单引号表示一个or
2013-11-25 16:33:32 3074
原创 查看PAG的使用情况
select s.username username,s.serial# serial,se.sid,n.name, max(se.value) maxmemfrom v$sesstat se, v$statname n, v$session swhere n.statistic# = se.statistic#and s.sid=se.sid
2013-11-25 16:27:28 785
原创 shell脚本实现自动生成awr报告
主要实现自动生成awr报告,代码思想非本人,但是有进行部分改造,之前网上的不能执行,经过部分改造可以正常执行的生成语法[oracle@hxy ~]$ bash ./dba_oracle_awr.sh -s HXY -f 20131125140000 -t 20131125150000 -p text -h /u01/app/oracle/product/10.2.1/db_1脚本如下
2013-11-25 15:46:39 1263 1
原创 如何实现将'one,two,three,four,five' 分别打印
如何实现将'one,two,three,four,five'按下面的形式打印出来onetwotherefourfive方法一:语句实现:select regexp_substr('one,two,three,four,five','[^,]+',1,level,'i') from dual CONNECT BY LEVEL 方法二:函数实现create
2013-11-15 14:11:09 1436
原创 写出函数如何将123456789实现转置输出0987654321
create or replace function reverse_string(v_strings in varchar2) return varchar2 isr varchar2(30):='';va varchar2(30):='';begin for i in 1..length(v_strings) loop va:=substr(v_strings,le
2013-11-15 13:04:54 1241
转载 通过创建用户自定义函数索引优化语句(fuyuncat)
最近,一个系统升级后,发现系统运行非常慢。CPU消耗将近100%。用top查看系统,发现一个进程占用了几乎90%的CPU。用以下语句查出进程相应会话正在执行的操作:select b.spid, a.sid, a.username, s.sql_text from v$session a , v$process b, v$sqlarea s where a.PADDR = b.ADDR
2013-11-08 21:48:07 775
转载 对Group By 语句的一次优化过程
生产环境中发现一条语句很慢,拿回来一看,其实是一个简单的Group By语句:表CCMMT的数据量比较大,5M多条记录。 1、SQL> select CDE, CID 2 from CCMMT 3 GROUP BY CDE, CID 4 having max(ADT) 707924 rows selected. Elapsed: 00:06
2013-11-08 21:35:59 683
转载 一个改善含有ROWNUM条件语句性能的案例
数据库版本: 10.2.0.3;案例背景:我们有一个Java程序会从一个配置文件中读取并执行以下一条SQL语句,由查询结果确认是否存在满足条件的数据记录,然后据此再执行后续代码。最初的语句为:SQL代码Select count(1) as rowcount from B2B_BIZ_KEY B WHERE EXISTS (SELECT ID FROM B2B
2013-11-08 21:33:14 681
转载 SQL优化案例:EXP的优化(Fuyuncat)
我们有一个程序会定期将历史数据从表中导出并删除。在上周,我们发现这个程序运行失败了,并且收到了以下错误提示:XML/HTML代码. . exporting table B2B_BIZ_KEY EXP-00056: ORACLE error 1555 encountered ORA-01555: snapshot too old: rol
2013-11-08 21:23:19 889
转载 一致性读(Consistent Gets,CG)并非总是完全出反映语句性能(by fuyuncat)
一致性读(Consistent Gets,CG)是反映SQL语句性能的一项重要数据。它通常作为我们语句调优的指标。一般情况下,通过该数据可以比较两条语句或者同一语句的不同执行计划之间的性能。然而,某些情况下,它并不会完全反映出语句的性能。我们先看两份性能统计数据: SQL代码SQL 1: Statistics ---------------------------
2013-11-08 21:02:10 808
原创 返回相同结果,用不同SQL的执行计划
1)SQL> select deptno from scott.dept where deptno not in (select deptno from scott.emp);Execution Plan----------------------------------------------------------Plan hash value: 304125360----
2013-11-06 10:39:41 616
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人