Oracle中统计表中每行字段符合条件的数量
--创建测试表CREATE TABLE TEST(a VARCHAR2(8),b NUMBER);INSERT INTO TESTSELECT 'name1',1 FROM dualUNIONSELECT 'name1',0 FROM dualUNIONSELECT 'name2',1 FROM dualUNIONSELECT 'name3',1 FROM dualUNIONSELECT 'name4',0 FROM dualUNIONSELECT 'name4',1 FROM dual;--查询出表中字段A中为1的多少个,为0的多少个SELECT a,count(*) as 总行数,sum(case when b=1 then 1 else 0 end) as 类型为1的数量,sum(case when b=0 then 1 else 0 end) as 类型为0的数量 from TESTGROUP by a ORDER BY a;[@more@]
自动sqlldr脚本
auto_sqlldr.shoracleFilePath="/oradata/dypt/arch1/userModelFile/"oracleHome="/app/oracle/product/10204/db_1/bin/sqlldr"userID=user/pwd@ip:port:sidexport ORACLE_SID=YDPT1export ORACLE_HOME=/app/oracle/product/10204/db_1export PATH=.:$ORACLE_HOME/bin:$PATH:.date=`date '+%Y%m%d'`echo $datecd $oracleFilePathtxtFileName=`find . -name "$date*".txt`ctlFileName=`find . -name "$date*".ctl`logFileName=`find . -name "$date*".log`if [ "$logFileName"
普通用户无法使用crontab故障排除
今天发现普通用户oracle无法使用crontab,无权限编辑crontab内容,详细报错如下:[oracle@SJYD-CS-2 ~]$ crontab -e#sync table35 10 * * * /u01/app/yangcj/sync.sh10 15 * * * /home/oracle/test.sh~"crontab.XXXXCl0bLz" 3L, 82C writtencrontab: installing new crontabcron/tmp.XXXXfNm9ah: Permission deniedcrontab: edits left in /tmp/crontab.XXXXCl0bLz[oracle@SJYD-CS-2 ~]$ 检查发现是 /usr/bin/crontab 的属性有问题,没有给予它s属性,因此低权限有误就无法使用crontab来往/var/spool/cron下写入文件(即
表空间物理文件被删除导致RMAN备份失败!
今天突然发现一直正常的备份脚本突然报错了。报错以及解决过程如下:问题描述:Starting backup at 07-DEC-09using channel ORA_DISK_1could not read file header for datafile 9 error reason 5RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of backup plus archivelog command at 12/07/2009 10:07:03RMAN-06056: could not access
相关资料网址收藏!
Oracle DBA必须了解得网站列表: Ask Tom – http://asktom.oracle.com Jonathan Lewis web site – http://www.jlcomp.demon.co.uk/ Ixora (Steve Adams) – http://www.ixora.com.au Orapub – http://www.orapub.com Metalink (Oracle支持网站) – http://metalink.oracle.com TT database http://www.searchdatabase.com.cn/ 数据库方面:http://www.itpub.net/list.htmlwww.oracle.com.cnhttp://www.oracle-base.com/articlhttp://www.boobooke.com/http://www.ixdba.net/article/ZaiXianXueXiShiPin/22_3.html
mssql2005中标识列identity的使用一则
MSSQL中没有oracle里面的rowid但是可以有identity来代替实现相关用法。比如本博客的oracle板块里有一篇关于去除重复的文章。这里在MSSQL2005里实现一下:--首先查看有多少重复项select distinct [号码],count(*)from dbo.数据$ group by [号码]having count(*)>1--添加identity标识列存到临时表select identity(int,1,1) as id,* into #temp from dbo.数据$ select distinct [号码] from #tempselect [号码], [本地网名称], max(id) from #temp group by [号码], [本地网名称]--删除重复并保留最后一行记录delete from #t
巧用ROWID去除重复项
工作需求遇到的问题,表a有类似如下数据:号码 所属地市 终端机型133****3672 杭州 HS-D90133****3672 杭州 HS-D907133****3672 杭州 LG-KV755其中前2列 号码和所属城市都是一样的,但是终端机型有多个,请问如何删掉前2行,只保留最后一行?前2行是用户以前曾用过的机型,最后面的记录是用户目前使用的机型,所以需要保留最后的记录。其他号码还很多这样的情况,手动一个个删会疯掉的。。创建测试环境进行实验,过程如下:create table test (phone number,dishi varchar(10),jixing varchar(20)
crs无法启动的解决
问题描述:CRS安装完毕后查看状态,发现并未全部online。如下:[root@rac1 ~]# cd /opt/ora10g/product/10.2.0/crs_1/bin/[root@rac1 bin]# ./crs_stat -tName Type Target State Host ------------------------------------------------------------ora.rac1.gsd application ONLINE ONLINE rac1 ora.rac1.ons application ONLINE ONLINE rac1 ora.rac1.vip application ONLINE OFFLINE ora.rac2.gsd application ONLINE ONLINE rac2 ora.rac2.ons application ONLINE ONLINE rac2 ora.rac2.vip application ONLINE OFFLINE [root@rac1 b