Oracle使用DBMS_JOB创建的数据库作业,遇到数据库关闭状态的调度
对SQL Server熟悉的朋友,应该都知道,SQL Server的作业是按照固定时刻来设置调度的,比如设置为每日23:00运行,如果此时,恰逢服务器关机,或者SQLServerAgent服务不在运行,则本次作业将不会执行,直到下次满足调度条件再执行.而Oracle的JOB是按照调度公式来设置下次执行时刻的.让我们来测试一下Oracle的JOB遇到关机或者数据库...
Oracle11g的SQL支持代码中全角字符代替半角字符
最近,公司开发部门数据库迁移到新服务器上面,数据库原来使用Oracle10g,新服务器上面装的是Oracle11g,具体版本11.2.0.1结果,开发同事不经意间发现,SQL语句中使用全角的括号竟然语法检查也是可以通过的.比如:select (col_Total1+col_Total2) from t_Test where rownum<10;select (col_Total1+col_Total2) from t_Test...
Unix/Linux下,Oracle备份策略一例
1.crontab 建操作系统下的调度10 2 * * */rman/scripts/bak_full.sh表示每天2:10调度,五个参数分别是 分钟 小时 日 月 周(0-6,0表示周日)2.bak_full.sh的内容:#!/bin/shsu - oracle -c "sh /arch/scripts/full.sh"3.full.sh的内容:DATE='date+%Y-%m-%d'export ORACLE_SID=ORCLrman target / cmdfile=/r...
关于优化器提示使用逗号的语法
一直以来,看关于优化方面的材料,对强制使用索引的优化器提示写法/*+INDEX (TABLE, INDEX) */中,是否需要写逗号没有弄明白.因为有的材料上面使用了逗号,有的则不使用逗号.所以,探究了一下,找到官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements006.htm#autoId24其中写道:When tablespec is...
主键对应的约束名称
如果使用alter table tbl_1 add primary key (col_1);这样创建的主键,其一对应的主键名/索引名不容易知道(是系统产生的名字: SYS_C0010004 类似这样),其二索引和表放在一个表空间里面,对性能不利. 使用ALTER TABLE tbl_1 ADD CONSTRAINT pk_tbl_1 PRIMARY KEY (col_1) USING INDEX TABLESPACE t...
Excel密码忘记了,遍历法找回密码
一个朋友自己对EXCEL的一个文档设置了密码,结果搞忘了.但是提供的线索是: 密码是由123456后面加ABCD四个大写字母组合的四位字母组合,密码长度10位.所以使用Sub crack()Dim i0 As LongDim i1 As LongDim i2 As LongDim i3 As LongDim i4 As LongDim s0 As StringDim FileName As StringApplication.ScreenUp...
关于RAC环境下的序列不能保证后使用的一定大于先使用的问题
客户有一个应用系统,单据号尾号原本每天是按照流水码从0001递增产生的.最近客户数据库迁移至RAC环境下,结果发现偶尔会出现单据号尾号会出现负号(-)查看了一下其产生原理,使用了序列seq_billno(cache 20),另外使用了一个表tBillNoSeq(date,maxseq)记录昨天最后一个单据号对应的序列值.伪代码如下:获得sql_billno.next...
一个update语句引起的性能下降问题
接到客户反馈,最近应用系统性能有所下降.另外客户已经通过AWR报告得知,最近oracle数据库重做日志切换较以前频繁,部分时间段大约每30秒切换一次.通过对日志文件使用LogMiner进行分析得知,充斥着大量的下列形式的语句(不同的是RowID)update "HSCMP"."TCVSTHBODY" set "YWTYPE" = '4' where "YWTYPE" = '4' and ROWID ...
关于SQL Server通过OLEDB访问ORACLE数据表涉及CLOB或BLOB字段的错误提示
报错如下:服务器: 消息 7399,级别 16,状态 1,行 1OLE DB 提供程序 'MSDAORA' 报错。 [OLE/DB provider returned message: 未指定的错误][OLE/DB provider returned message: 发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。][OLE/DB provider returned message: 数据类型不被支持。]OLE DB 错误跟踪...
操作系统Win7或Win8客户端连接异常缓慢问题
在部署一个系统的时候,出现下列问题:有的客户端电脑(操作系统Win7或Win8)连接异常缓慢,打开一个业务窗口需要1分钟-2分钟,而另外的(操作系统也是Win7或Win8)连接却很快,一两秒就能打开。在所有的这些客户端电脑上ping服务器的时候,延迟都在1ms以下,上外网也很快,把慢的电脑直接连到服务器的交换机上也特别慢,因此基...
关于SQL Server2005/2008中架构的理解
最近遇到一个案例,原本运行在SQL Server 2000数据库下的一个系统,由于数据量日渐增大,性能有所下降,所以打算迁移到SQL Server 2008 (64位)下使用.结果,原本正常的功能却提示:数据库中已存在名为 'sRptRPT01' 的对象 ----注:sRptRPT01是存储过程名字.关注了一下,SQL Server 2005/2008新增了架构的概念,联想到Oracle数据库"...
SQL Server语句删除带有默认值的字段
打算删除tbl_1表的col_1列,但如果此列设置有默认值的话直接ALTER TABLE tbl_1 DROP COLUMN col_1会提示有对象存在,而无法删除.需要先删除对应的默认值,然后删除列,具体如下: declare @sss varchar(100); select @sss=name from sysobjects where xtype='D' and id= (select b.cdefa...
遭遇Excel的宏病毒
朋友的一台电脑,打开任何Excel(Office2003版本)都会弹出两个Excel文档,一个是希望打开的文档,另一个是:startup.xls看startup.xls的内容,马上意识到中了病毒了.(看这个startup,貌似是删除组件用的,也许是病毒作用后的清理?)打开希望打开的正常的那个文档,Alt-F11,看有宏代码,模块名是:Knight后来发现,下列路径有下列可疑...
Oracle启动过程中ORA-01113,ORA01110
简要记录:接到客户反馈,业务系统提示ORA-01033: oracle initializationg or shutdown in progressshutdown之后,startup,提示ORA-01113,ORA-01110 某数据文件(文件号2)有问题具体的问题发现和解决步骤如下:运行sqlplus "/ as sysdba" SQL>shutdown immediate &...
expdp/impdp导致存储过程中的中文部分出现乱码
接到客户反馈的问题,Linux下Oracle11gRAC(64位)环境下expdp导出产生dmp文件,由Windows平台Oracle10.2.0.4(64位)的impdp导入到Oracle10.2.0.4数据库.导入之后发现,部分存储过程编译不通过.查看其原因,是个别存储过程中的中文部分出现乱码.例如:ps_Message :='取得商品的上次批发数量和批发价'; 变成了:ps_Message :...
IMP-00058 ORA-00942
接到客户关于imp导入的错误.日志如下连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options经由常规路径由 EXPORT:V10.02.01 创建的导出文件警告: 这些对象由 CMPT 导出, 而不是当前用户...
《Oracle核心技术》勘误——个人阅读
不得不说,《Oracle核心技术》是一本值得仔细阅读,反复阅读的好书.大师的经典之作,中文版翻译的也颇具水准.历时两个月,读完了第一遍.有些地方感觉还是没有完全吃透.还需要反复阅读来细细体味.阅读过程中,发现的一些小的错误(几乎都是些印刷方面的错误或者笔误),罗列如下:封面 Johnathan Lewis最新力作,大师...