ORACLE&MYSQL同样的记录值进行编号处理
ORACLE&MYSQL 同样数据进行编号处理oralce10g&mysql5.5[@more@]ORACLE:SQL> select deptno, 2 empno,ename, 3 row_number() over(partition by deptno order by deptno) com_num 4 from emp 5 ; DEPTNO EMPNO ENAME COM_NUM---------- ---------- ---------- ---------- 10 7782 CLARK 1 10 7934 MILLER 2 10 7839 KING 3 20 7566 JONES 1
ORACLE之q操作符
ENV:ORACLE RELEASEOBJECT:Q operator[@more@]oracle本身默认的是单引号,但是在大家写存储过程或者写SQL语句时,有时候需要拼SQL或者是SQL的值里需要传入含单引号的值,此时就需要使用两个单引号"''"来进行转义,其实oracle本身提供了这种转换默认单引号为其他标识的方法那就是——"q"q [Oracle's quote operator]q'c text-to-be-quoted c' c is a single character (called the quote delimiter). With the «quote operator» apostrophes don't have to be doubled: SQL> select q'#Oracle's quote
Perl中的变量作用范围 local, my, our与全局变量
Perl中的变量作用范围 local, my, our与全局变量很古老很古老以前......嗯,不用老到白垩纪,那时候的Perl是自由射击的。没有什么定义变量的说法,所有的变量都是全局变量,也不需要任何 定义就可以使用。后来就出现了local, 再后来出现了use strict 'vars'和my, 再后来又有了our......所以今天的Perl大陆就有了崇山巨岭,一些变量就被限制在盆地里,老死于桃花源中也。因为要使用一个跨模块全局变量,研究了一下Perl的变量作用范围,写一点笔记吧。[@more@]1. 首先说our, 这个最晚出现但其实质却最早出现的变量修饰符。众所周知,在Perl不
RMAN compress性能效率测试
Environment:Oracle 10.2.0.1Redhat 5.4 64bitObject:RMAN COMPRESSED[@more@]在对RMAN提供的compress功能进行测试时发现在备份集的压缩比例上有了5倍多的提升,速度上居然和非压缩时候相差无几。无压缩参数:RMAN> backup database; Starting backup at 05-MAY-11using channel ORA_DISK_1channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=/u01/oradata/qqdb/system01.dbfinput datafile fno=00004 name=/u01/oradata/qqdb/users01.dbfi
TimesTen错误总结
环境:TimetsTen 11oracle redhat 5.6 32bit[@more@]因为在sys.odbc文件内设置了auth验证,在通过ttbackup备份的时候提示:[timesten@rac2 bin]$ ./ttbackup -dir /tmp -fname tt_workshops.bak dsn=tt_workshopsBackup started ...Backup failed:Error 7001: User authentication failed[timesten@rac2 bin]$ ./ttbackup -dir /tmp -fname tt_workshops.bak "dsn=tt_workshops;uid=cacheuser;pwd=timesten;oraclepwd=cacheuser"Backup started ...Backup failed:Error 15100: User CACHEUSER lacks privilege ADMIN解决方式:
vgchange -c y后的【Skipping clustered volume group 】
环境介绍:oracle RED HAT 5.6 32bitLVMvgchange -c y /dev/oracle_vm[@more@]在对LVM group做了cluster设置后,想要更新都报:Skipping clustered volume group oracle_vm[root@qqovm ~]# vgdisplay /dev/oracle_vm Skipping clustered volume group oracle_vm[root@qqovm ~]# vgchange -c n /dev/oracle_vm Skipping clustered volume group oracle_vm[root@qqovm ~]# vgchange -a n /dev/oracle_vm Skipping clustered volume group oracle_vm[root@qqovm ~]# 解决办法是设置lvm.conf文件内的locking_type 由1设置为0:[root@qqovm ~
oracle10g表压缩后的效率比对
环境介绍:ORACLE10GR2REDHAT5.4 64BITOBJECT:ORACLE TABLE COMPRESS[@more@]在oracle10g中最近需要用到oracle的table compress,对其简单的进行了compress&nocompress情况下的性能比对:测试结果为:存储空间节省率:40%数据插入速度(noappend):-50%数据插入速度(append):50%全表扫描速度:300%
通过POWERDESIGER脚本批量设置表主键
POWERDESIGER12ORACLE10[@more@]今天在通过POWERDESIGER导出脚本后发现居然没有主键,只有用key表示的字段,想到400多个表都要逐个加主键是不可能的,后来想到了通过POWERDESIGER提供的接口来批量的添加,通过观察发现只要是主键的字段都是设置的非空,所以这次就好办了,一个脚本就很easy的搞定了,详细脚本见下---------------疯狂的分隔符-----------------------------Option Explicit ValidationMode = True InteractiveMode = im_Abort Dim mdl ' 定义当前的模型 '通过全局参数获得当前的模型 Set mdl = ActiveModel If (mdl Is
记次10g exchange partition很慢的问题
环境介绍:ORACLE10G 64BITHP 64BIT[@more@]晚上需要多数据表进行分表规划,预备方案是将分区通过EXCHANGE PARTITION的方式将分区的数据转移到表上,然后再重建索引,预计时间也就2个小时左右,可以到了实际操作中发现EXCHANGE PARTITION一个操作就足足耗费了2个小时居然还未见任何起色,检查等待事件发现许多的free buffer,syn log之类的等待,感觉很不正常,EXCHANGE PARTITION无非就是将分区表与实体表的data_object_id交换,然后把块头的信息进行修改就OK的,再细细的观察发现log文件全是action状态,通过LOGMINOR进行日志信息的挖去后
ORACLE VM创建SERVER POOLS后状态为ERR的解决
环境介绍:oracle vm 2.2.1 32bitoracle vm server 2.2.1oracle vm manager 2.2.0ERROR:[@more@]SelectServer Pool NameStatusHigh Availability StatusServersUsersLogsSelectspoo12ERRDisabledTotal: 1Total: 1View Logs今天在搭建ORACLE VM环境的时候,VM SERVER和VM MANAGER安装都很顺利的完成,但是在创建SERVER POOL后发现每次创建完后,状态总是ERRO不可用,通过查看后台日志:var/log/ovm-manager/oc4j.log发现以下错误:2011-04-08 11:02:27.992 WARNING failed:errcode=00000, errmsg=Unexpected error: <Exception: ha_chec
oracle11g RESULT_CACHE测试 (一)
环境介绍:ORACLE11GR2 64BITSOLARIS 10 64BITSUBJECT:RESULT_CACHE (SQL RESULT CACHE)[@more@]在oracle11g中,为了极大的缓解在select count(*) XXXX时能够小的消耗系统资源以及更快的返回统计记录于是增加了RESULT_CACHE的功能,使用方法就是通过hints固定:SQL> select * from v$version; BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionPL/SQL Release 11.2.0.1.0 - ProductionCORE 11.2.0.1.0 P
rac one node、Single Instance HA(SIHA)、Oracle Restart的概念
rac one node、Single Instance HA(SIHA)、Oracle Restart的概念[@more@]之前,一直对rac one node、Single Instance HA(SIHA)、Oracle Restart的概念没搞清楚,今天和 @jarodwang和@ricky_zhu聊了之后,才明白了其中的概念:SIHA = Oracle Restart = Oracle Grid Infrastructure 安装选项中的 Install and Configure Grid Infrastructure for a Standalone Server因此,我们在10g中用的SIHA,在11gR2中已经重新命名成Oracle Restart,并且是包含在Grid Infrastructure中。而rac one node则是另外的一个概念了,是11gR2才出现的。它是orac
记一次ORA-07445: exception encountered: core dump [sdbgrfcvp_convert_pathinfo()+35] [SIGSEGV] [ADDR:0xF
环境介绍:oracle11.2.0.1solaris10-64bit 5.10error:ORA-07445: exception encountered: core dump [sdbgrfcvp_convert_pathinfo()+35] [SIGSEGV] [ADDR:0xFFFFFD7FFFDF50F8] [PC:0x9984943] [Address not mapped to object] [][@more@]通过检查发现SWAP过小导致启动的时候报错:bash-3.00$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Sat Apr 2 17:26:47 2011 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance.SQL> startupSegmentation Fault (core dumped)bash-3.00
系统管理:BRDB的应用
DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能.当你将数据写入本地 文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远程主机上还会 保留有一份相同的数据,可以继续使用.[@more@]在高可用(HA)中使用DRBD功能,可以代替使用一个共享盘阵.因为数据同时存在于本地主机和远程主机上,切换时,远程主机只要使用它上面的那份备份数据,就可以继续进行服务了.DRBD的工作原理如下图: +--------+
关于NFS、gfs2、ocfs2性能测试对比
在多节点集群环境中有些朋友可能会不知如何选择一个适合自己环境的文件系统,是选择NFS还是GFS2亦或是OCFS2还是几种混合使用都是个难题,可以通过产看以下相关信息来斟酌选择:[@more@]● NFS– Pro: standard, cross-platform, easy to implement– Con: Poor performance, single point of failure(single locking manager, even in HA)● GFS2– Pro: Very responsive on large datafiles, works onphysical and virtual, quota and SE-Linuxsupport, faster than EXT3 when I/O operationsare on the same node– Con: Only supported
记一次ORA-27037: unable to obtain file status错误
环境介绍:ORACLE9i RAC——RAWHU-UNIX 8420NEWWORK SAN[@more@]客户进行存储的扩容时候,在扩容后启动数据库的时候报:SQL> startupORA-27037: unable to obtain file statusHP-UX Error: 13: Permission deniedAdditional information: 3因为其中的一个节点已经可以正常启动,第一感觉就是权限有问题了,由于是没在现场只能远程解决,在询问了相关的操作人员以及hp的厂商的操作步骤后,发现他们在扩容完赋权限的时候只是把/dev/lg_aic下的LV赋予了相关的oracle权限,而/dev/lg_aic这个目录检查发现权限为700模式,而数据库启动是以or
改变mysql数据存放路径
环境介绍:REDHAT 5.4 64BITMYSQL 5.5[@more@]1、停掉MYSQL服务service mysql stop2、复制当前数据文件到目标目录:[root@qqdb mysql]# mv /var/lib/mysql /usr/local/src/3、修改相应文件:[root@qqdb ~]# vi /etc/rc.d/init.d/mysql <找到粗体部分修改成最新的mysqld_pid_file_path=if test -z "$basedir"then basedir=/usr bindir=/usr/bin if test -z "$datadir" then datadir=/usr/local/src/mysql fi sbindir=/usr/sbin libexecdir=/usr/sbinelse bindir="$basedir/bin" if test -z &
记一次 ORA-01206: file is not part of this database - wrong database id
环境:REDHAT5.4 64BITORACLE10.2.0.1 DG在primary DB RMAN DUPLICATE方式创建好STANDBY DATABASE后,在启用日志应用的时候发现后台报如下错误:DBW0 started with pid=5, OS id=3142LGWR started with pid=6,...
记一次RA-00600: internal error code, arguments: [kpotcpop1], [], [], [], [], [], [], []
环境介绍:HP-UNIX 64BIT ORACLE9.2.0.5 RAC在做exp导出的时候报:RA-00600: internal error code, arguments: [kpotcpop1], [], [], [], [], [], [], []ORA-19206: Invalid value for query or REF CURSOR parameter[@more@]今天在对生产环境的非使用账户进行例行清理的时候居然在EXP的时候报错了:[oracle@CRMTEST 20110112_allbackup]$ exp ccmain07/ccmain07@baidu file=20110112_fullback.dmp log=dmp.log Export: Release 9.2.0.4.0 - Production on Wed Jan 12 19:05:14 2011 Copyright (c) 1982, 2002, Oracle Corporation. All
记一次enq: RO - fast object reuse等待事件
环境介绍:ORACLE10.2.0.4 64BITREDHAT 5.4 64BIT在对一张表做truncate的时候发现很久都没有成功,通过查询其EVENT事件,发现一直在等待enq: RO - fast object reuse事件[@more@]4 000000029F1C2588 143 7847 0 000000029913D718 58 CCADMIN 0 2147483644 000000029F24AE58 ACTIVE DEDICATED 0 SYS oracle 1327 szpa-bak-db2 UNKNOWN oracle@szpa-bak-db2 (DM00) USER 00 0 0 00 0 0 7375 1 Data Pump Master 674186793 SYS_IMPORT_FULL_01 568040940 5433621 -1 0 0 0 2011-1-7 1:16:04 3911 NO NONE NONE NO DISABLED ENABLED EN