mysql 自定义分析函数 least 及 日期函数
mysql 自定义分析函数 least 及 日期函数 为项目需要,由于mysql不提供分析函数least ,自己写了一个.供大家参考.SELECT filename, uarfcn, cpi, dateTime, str_to_date(dateTime, '%H:%i:%s.%f'), (select dateTime from tdoas_scantest_cellerr tt where tt.filename = t.filename and tt.uarfcn = t.uarfcn and tt.cpi = t.cpi and tt.id > t.id order by id limit 1) cc, time_to_sec(timediff(str_to_date(dateTime, '%H:%i:%s.%f'),
oracle 给的转换函数实现 十六进制---->十进制
Create or replace FUNCTION hextodec (hexnum in char) RETURN number IS x number; digits number; result number := 0; current_digit char(1); current_digit_dec number; BEGIN digits := length(hexnum); for x in 1..digits loop current_digit := upper(SUBSTR(hexnum, x, 1)); if current_digit in ('A','B','C','D','E','F') then current_digit_dec := ascii(current_digit) - ascii('A') + 10; else current_digit_dec := to_number(current_digit); end if; result := (result * 16) + current_digit_dec; end loop; return
转:Oracle中查看已执行sql的执行计划---dbms_xplan.display_cursor
有时候我们可能会希望查看一条已经执行过的sql的执行计划,常用的方式有两种:a,set autotrace后再重新执行一遍,不过重新执行可能会浪费时间,而且有些语句也不允许(例如修改操作的语句),或者查询v$sql_plan视图,但v$视图的可读性又不是那么好,这里提供一个新方式,通过dbms_xplan.display_cursor来获取执行过的sql的执行计划。[@more@]首先看看该函数的语法:DBMS_XPLAN.DISPLAY_CURSOR( sql_id IN VARCHAR2 DEFAULT NULL, child_number IN NUMBER DEFAULT NULL, format IN VARCHAR2 DEFAULT 'TYPIC
oracle insert all 特性-------9i开始
oracle 的 insert allinsert all into tba values (id,name,code,messagea) into tbb values (id,name,code,messageb) into tbc values (id,name,code,messagec) select '0001' id,'xiaoming' name,1 code,140 messagea, 55 messageb,1000 messagec from dual[@more@]
ORA-00600: internal error code, arguments: [kcbgtcr_12], [4]
发现这个问题的解决,只能迁移表空间恢复数据后,重建表空间[@more@]Dump file g:oracleadminhbxnbdumphbxn_pmon_2836.trcMon Nov 09 11:24:27 2009ORACLE V9.2.0.8.0 - Production vsnsta=0vsnsql=12 vsnxtr=3Windows 2000 Version 5.2 Service Pack 2, CPU type 586Oracle9i Enterprise Edition Release 9.2.0.8.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.8.0 - ProductionWindows 2000 Version 5.2 Service Pack 2, CPU type 586Instance name: hbxnRedo thread mounted by this
oracle 10g : 日志写入慢.Warning: log write time 650ms, size 2051KB
10g for aix 64bit系统日志:/home/oracle/oracle/product/10g/admin/hbsx/bdump/hbsx_lgwr_33124954.trcOracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsORACLE_HOME = /home/oracle/oracle/product/10gSystem name: AIXNode name: SXDBRelease: 3Version: 5Machine: 000771C2D900Instance name: hbsxRedo thread mounted by this instance: 1Oracle process number: 6Unix process pid: 33124954, image: oracle@SXDB (LGW
RESOURCE_LIMIT
RESOURCE_LIMIT[@more@]
oracle JDBC insert 优化(二) :使用批量写入,提高oracle数据库写速度
前面提到,可以通过bulk insert 快速提高oracle写的速度.但这个方法需要在数据库端添加procedure,不适合有些程序的开发.以下介绍一个采用oracle jdbc batch写入的方法,提高写入的速度.以下给出写入过程的示例,请大家参考.测试结果:在30000条记录情况下,速度提高一倍.[@more@] public void test_batch() { try { String insertSql = "insert into t_batch(name,name2,name3) values(?,?,?)"; PreparedStatement ps = oraCon.prepareStatement(insertSql); for (int i = 1; i <
在solaris环境下,根据java程序的不同,设置不同的环境变量
export LANG=zh_CN.GB2312export LC_ALL=zh_CN.GB2312export LANG=zh_CN.UTF-8export LC_ALL=zh_CN.UTF-8export LANG=zh_CN.GBKexport LC_ALL=zh_CN.GBK[@more@]
存储过程创建表 ora-01031
写了一个存储过程,在里面用create table创建表,结果发现:ora-01031 的错误.手工给当前用户create table 的权限,问题解决.后来在网上发现,主要是role的角色没有起使用,还有以下的解决办法:可以看到,即使拥有DBA role,也不能创建表。role在存储过程中不可用。 --实际上,oracle给我们提供了在存储过程中使用role权限的方法: --修改存储过程,加入Authid Current_User时存储过程可以使用role权限。 create or replace procedure p_create_table Authid Current_User is begin Execute Immediate 'create table cr
使用oracle Transparent gateway 连接 sybase 数据库
网上关于这方面的内容一堆,不详细说明整个配置的过程了,把配置过程中容易出错的地方给大家列出来.=================================================== 1.配置inittg4sybs.ora# This is a sample agent init file that contains the HS parameters that are# needed for the Transparent Gateway for Sybase## HS init parameters#HS_FDS_CONNECT_INFO=S12_8.modelHS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER## Environment variables required for Sybase#set SYBASE="C:Sybase"注意点
wmi 取得选定文件更新的日期
这是microsoft提供的全部wmi对象接口,不明确的时候,可以在这个地方查询http://msdn.microsoft.com/en-us/library/aa387271(VS.85).aspx 我们就回到具体问题,写代码并不难,难的是一些类对象的确属性经常被搞错.原来一直在类CIM_DataFile 中查找文件的属性名,都没有成功,结果,在interface : IItem Interface 中找到相应的属性名=============================================以下是一段示例代码[@more@]strComputer = "192.168.15.238"strUser = "XXXXXXXXX" ' 系统用户名strPasswd = "XXXXXXXX" '系统登
手工破解solaris密码的方法
1. 在启动服务器,想办法进入控制台命令行. 如:stop +a ctrl+break .....2.boot cdrom -s 指定以cdrom的方式启动.3. 在启动后,将第一个磁盘的引导分区挂在系统上.如: mount /dev/dsk/c1t0d0s0 /tmp/aa4.修改 挂接点 /tmp/aa/etc/shadow中root的密码为空.5.重新启动服务器即可.[@more@]
Source Offsite 重新安装的记录
由于服务器损坏,一直以为重新安装整个SOS会比较麻烦,后面发现,这实在是一个没有挑战的事情.记录一下: 不动以前的安装及数据目录. 1. 只需要在重新安装相关的软件后,打开以前的数据的 数据库配置文件就可以了. 2.重新配置key.-----完成.在这方面,还是得佩服microsoft做的产品,使用起来还是方便些.[@more@]
ORA-00600: 内部错误代码,参数: [kcbgtcr_12], [1], [], [], [], [], [], []
错误信息: 参数: [kcbgtcr_12], [1], [], [], [], [], [], []LException: ORA-00600: 内部错误代码,参数: [kcbgtcr_12], [1], [], [], [], [], [], [] ORA-00600: 内部错误代码,参数: [kcbgtcr_12], [1], [], [], [], [], [], []StateMapping.newSQLException(SQLStateMapping.java:70)abaseError.newSQLException(DatabaseError.java:110)abaseError.throwSqlException(DatabaseError.java:171)TTIoer.processError(T4CTTIoer.java:455)TTIoer.processError(T4CTTIoer.java:413)8Oall.receive(T4C8Oall.java:1030)PreparedStatement.do
ORA-00600: internal error code, arguments: [klaprs_10], [512], [512]
数据库在retlog后,应用的insert 语句就显示如上错误:hu Jul 23 13:37:26 2009Errors in file g:oracleadminhbxnudumphbxn_s000_2340.trc:ORA-00600: internal error code, arguments: [klaprs_10], [512], [512], [], [], [], [], []Thu Jul 23 13:37:26 2009Errors in file g:oracleadminhbxnudumphbxn_s000_2340.trc:ORA-00600: internal error code, arguments: [kteopadd1], [661443], [661457], [], [], [], [], []ORA-00600: internal error code, arguments: [klaprs_10], [512], [512], [], [], [], [], []Thu Jul 23 13:37:27 20
过滤连续的记录,只取不重复的部分
过滤连续的记录,只取不重复的部分 desc aName Type Nullable Default Comments ---- ------- -------- ------- -------- ID INTEGER Y 值:1111223331111要求: 不使用oracle分析函数,取出: 1 2 3 1就是按照顺序,把重复的数据给去除了. 这是公司同事提出来的一个需求.以下是答案:[@more@]SQL> select id 2 from 3 (select id, rn 4 from 5 (select id, rownum rn from ttmp) 6 order by id, rn) 7 group by id, rownum - rn 8 order by min(rn);
exp 超慢的解决
导出数据,慢的不行了.一个表,10条记录,花了2分钟.系统cpu也N高.对导出进行进行sql traceexec dbms_system.set_sql_trace_in_session(9,12,true);出现在N多的nest loop.而且,执行效率好慢.[@more@]SELECT COLNAME, COLNO, PROPERTY FROMSYS.EXU9CCLU WHERE CNO = :1 ORDER BY COLNOcall count cpu elapsed disk query current rows------- ------ -------- ---------- ---------- ---------- ---------- ----------Parse 1 0.00 0.05 0 24 0 0Execute 1 0.00 0.15 0 3 0 0Fetch 2 0.00 5.87 367 453652 0 1------- ------ -------- -------
dell inspirion 6400安装 windows xp 64 bit sp2 (三) 性能测试
64位比32位的好大,就不用多说了。以下使用一个专门为了64设计的程序winrar 64bit for xp 解压缩一个文件。相比win rar 32bit for xp 解同样一个文件,速度提供约30%(手工测试).[@more@]64位操作系统对业务的影响,个人觉得主要是以下:1。数据库方面。可以更好的利用大内存。在优化,配置等各个方面,都能较好的处理。2。解决某些程序内存限制的问题。估计在64位平台上开发的java程序,也能很好的处理out of memory 等类似的内存错误。3。提高同样时钟频率下,计算的速度。
dell inspirion 6400安装 windows xp 64 bit sp2 (二) 驱动文件 列表
下面列出来系统安装成功后,所使用的各个设备的驱动程序文件名称。具体如下:[@more@]触摸版:synapticsdrv1222显卡:5-13_xp64_dd_ccc_29127芯片:intel_inf_8301013声卡:dell_stac92xx_drva06_声卡驱动.exe读卡器:RICOH_智能卡驱动_R131153.EXE