oracle
文章平均质量分 57
sxdtzhp
这个作者很懒,什么都没留下…
展开
-
查询条件中的截止日期问题
界面输入查询条件显示为:经办日期:2021-01-01 至 2021-01-28生成的查询条件合理的应为:WHERE AAE036 >= TO_DATE('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND AAE036 <= TO_DATE('2021-01-28 23:59:59', 'yyyy-mm-dd hh24:mi:ss')常见的不合理情况1、AND AAE036 <= TO_DATE('2021...原创 2021-01-28 14:14:50 · 10381 阅读 · 0 评论 -
数据库索引原理实例
create table t1( c1 varchar2(10), c2 varchar2(20), n1 number(10,0), d1 date);alter table T1 add constraint pk_t1 primary key (C1);create index idx_t1_n1_c2 on T1 (n1, c2);create index idx_t1_d1 on T1 (d1);select * from t1 where c1='1’; --使用...原创 2021-01-17 10:52:00 · 7650 阅读 · 1 评论 -
oracle代码常见错误(二)
1. insert into t1 values(...) 应为:insert into t1(...) values(...)2.to_char(sysdate,'YYYY-MM-DD HH:MM:SS')改为:to_char(sysdate,'YYYY-MM-DD HH24:MI:SS')3. select count(*) into v_count from t1 where c1=?;永远不会触发no_data_found错误,应该判断v_count=04.返回值问题合理的处理办法:原创 2020-08-17 17:07:51 · 5692 阅读 · 0 评论 -
在oracle中要谨慎使用when others then(二)
1、在oracle中when others then会吃掉所有的exception,一般不要使用,否则会掩盖软件的错误提示。2、应使用精准异常捕获。如果只是判断查不到数据时的处理,应该用when no_data_found then返回多条数据应该用when too_many_rows then违反唯一约束应该用when dup_val_on_index then3、异常处理可以按任意次序排列,但 others 必须放在最后。4、常见的错误写法 (1) exception w...原创 2020-08-17 16:56:04 · 13490 阅读 · 0 评论 -
sql编写规范
编写SQL时,组成SQL的所有字符单元都用小写字符,每个SQL的关键词与非关键词之间只保留一个空格,select的field list与where子句中出现的查询字段必须按它们在表中出现的字段顺序为准,select的field list中各字段以逗号(英文“,”)隔开,不必保留空格。SQL>select id,name,age from test4; --在 select 列表字段最好原创 2013-09-11 09:44:40 · 5279 阅读 · 0 评论 -
oracle常用问题解答
[B]第一部分、SQL&PL/SQL[/B][Q]怎么样查询特殊字符,如通配符%与_[A]select * from table where name like 'A\_%' escape '\'[Q]如何插入单引号到数据库表中[A]可以用ASCII码处理,其它特殊字符如&也一样,如insert into t values('i'||chr(39)||'m');转载 2013-08-29 09:44:22 · 5754 阅读 · 0 评论 -
oracle触发器中增删改查本表
oracle触发器中增删改查本表(1)只有before insert触发器中才可以查询或更新本表(2)before/after update、before/after delete、after insert5种情况都不可以查询或更新本表。(3)使用自治事务可以实现任意触发器查本表。但不能实现在自治事务中更新本表。(4)使用自治事务可以实现新增或删除本表的记录。这种情况一般不会用到。原创 2013-07-15 14:47:10 · 6595 阅读 · 0 评论 -
在oracle中要谨慎使用when others then
在oracle中一般不要使用when others then,否则会掩盖软件的错误提示。如果只是判断查不到数据时的处理,应该用when no_datafound then待续...原创 2013-06-27 10:03:10 · 10437 阅读 · 0 评论 -
oracle的to_char中的fm
SQL> select '|'||to_char(5,'999')||'|' from dual; 结果为:| 5|SQL> select '|'||to_char(5,'000')||'|' from dual; 结果为:| 005| SQL> select '|'||to_char(-5,'000')||'|' from dual; 结果为:|-005| 可见原创 2013-06-27 16:27:22 · 8457 阅读 · 0 评论 -
How to Disable Asynch_io on HP to Avoid Ioctl Async_config Error Errno = 1 (文档 ID 302801.1)
Applies to: Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 11.2.0.2 - Release: 9.2 to 11.2HP-UX PA-RISC (64-bit)HP-UX ItaniumGoalHow to disable async_io on Oracle in HP-UX to avoid转载 2013-09-04 13:58:32 · 5668 阅读 · 0 评论 -
索引监控
http://blog.csdn.net/wanghui5767260/article/details/22386043 在某个OLTP系统中某张表上建立了10个索引,由于不确定索引是否有在各程序中被使用,不能随意删除,因此,需要监控已有的索引是否在使用,官方文档描述:Monitoring Index UsageOracle Database provides a mean转载 2014-03-29 17:53:39 · 5025 阅读 · 0 评论 -
访问oracle数据链路的blob字段值
访问照片表select * from zp@dblink1 where a1='11111';会报错:ora-22992 无法使用从远程表选择的LOB定位器改为以下方法: drop table temp Create table temp as select * from zp@dblink1 where a1='002'; select * from temp;原创 2014-09-02 20:58:31 · 5798 阅读 · 0 评论 -
oracle跨数据库跨用户访问注意事项
java代码中不允许出现oracle的用户名、数据链路名。跨用户、跨数据库的访问必须在oracle中建同义词或视图来实现,在java代码中只需当做当前用户下的对象处理。原创 2014-11-12 08:34:27 · 6776 阅读 · 0 评论 -
校验银行卡号正确性的oracle源代码
CREATE OR REPLACE FUNCTION checkBankCard(p_bankcard IN varchar2) RETURN varchar2 --正确时返回ok,否则返回正确的校验码 IS curval NUMBER := 0; total NUMBER := 0; everyother NUMBER := 1; v_en原创 2014-12-07 17:02:14 · 6495 阅读 · 0 评论 -
oracle代码常见错误
oracle代码常见错误原创 2014-04-03 09:24:38 · 5562 阅读 · 1 评论 -
目录树构建及查询案例(二)
create table TREE( TREEID VARCHAR2(20) not null, LABLE VARCHAR2(50) not null, PARENTID VARCHAR2(20));--创建主键alter table TREE add constraint PK_TREE primary key (TREEID);--创建表内外键原创 2016-03-27 20:23:48 · 4900 阅读 · 0 评论 -
oracle传递表空间
1、检验表空间自包含性exec dbms_tts.transport_set_check('testimp',true);查询transport_set_violations确认该表空间的自包含性select * from transport_set_violations;如果没有查询结果,则说明该表空间是可以传输的,否则,是需要处理后,才能传输的.2、将表空间设置为只读a原创 2013-06-01 21:26:07 · 5290 阅读 · 0 评论 -
oracle中的高水位(HWM)
oracle中的高水位(HWM)找一个记录数较多的表,100万条以上的,如表test1。create table test2 as select * from test1 where 1=2;insert into test2 select * from test1;commit;delete from test2;commit;此时执行select * from te原创 2012-06-01 20:56:45 · 5878 阅读 · 1 评论 -
目录树
目录树--创建表create table TREE( TREEID VARCHAR2(10) not null, LABLE VARCHAR2(50) not null, PARENTID VARCHAR2(10));--创建主键alter table TREE add constraint PK_TREE primary key (TREEID原创 2009-12-15 16:47:00 · 5135 阅读 · 0 评论 -
删除表内多余的重复数据
删除表内多余的重复数据采用以下语句执行效率很高delete from tbgr_photo where rowid in (select a.rowid from tbgr_photo a, tbgr_photo b where a.rowid>b.rowid and a.ID0000=b.ID0000);原创 2009-12-15 16:52:00 · 4988 阅读 · 0 评论 -
日志表的作用
日志表的作用日志表一般写入后就不会去修改与删除的,不会提供删除的界面。业务关联不强的日志可以考虑过几年后移到另一表中做备份。但也有的日志表是用来控制数据流的,这种应用会存在更新状态标志字段。不会做更新的表,在创建表结构时,数据块的分配可以考虑少留一些空余的。绝对不能出现更新日志表中的历史数据,例如日志表中记录了某人的IC卡号,这个卡号是当初业务经办时的卡号,当换了新卡产生了新卡号也不能原创 2010-05-14 10:18:00 · 5954 阅读 · 0 评论 -
Oracle的spfile手工修改后损坏的解决办法
Oracle的spfile手工修改后损坏的解决办法原创 2010-08-30 15:54:00 · 5640 阅读 · 0 评论 -
oracle92021Win64不支持windows server 2003 Standard x64 Edition版本
<br />oracle92021Win64不支持windows server 2003 Standard x64 Edition版本<br />oracle92021Win64_Disk1.zip oracle92021Win64_Disk2.zip<br />在安装时提示setup.exe有效 但不适用于此计算机类型,经查System Requirements文档为:<br /> <br />Processor:Itanium 2 or higher<br />Operating System: <b原创 2010-09-27 21:11:00 · 6168 阅读 · 0 评论 -
通过SQLNET.ora文件限制Ip地址访问
在Oracle数据库中,我们可以通过SQLNET.ora文件实现地址访问限制。在SQLNET.ora文件中设置以下参数可以实现IP访问限制:tcp.validnode_checking=yes tcp.invited_nodes=(ip1,ip2......) tcp.excluded_nodes=(ip1,ip2......)原创 2010-10-24 15:24:00 · 4932 阅读 · 0 评论 -
rowid的定义规则
<br />rowid的定义规则<br /> =========================================================== 7~9位是表示的是数据文件,F表示5,<br />10~15位表示的是在这个数据文件中的第几个BLOCK,g表示32。<br />rowid编码相当于64进制。用A~Z a~z 0~9 + /共64个字符表示。<br />A表示0,B表示1,……,a表示26,……,0表示52,……,+表示62,/表示63。 对于多个数据文件的表空间,7~9位就原创 2010-11-07 21:31:00 · 5447 阅读 · 0 评论 -
oracle安全设置
<br /> oracle安全设置<br />1.删除或锁定账号 alter user username lock; drop user username cascade; <br />2.更改密码 alter user username identified by password <br />3.限制数据库超级管理员远程登录 <br /> (1). 在spfile中设置 REMOTE_LOGIN_PASSWORDFILE=NONE <br /> (2).在sqlnet.ora中设置 SQLNE原创 2010-11-07 21:50:00 · 6340 阅读 · 0 评论 -
10201升级到10204的ORA-01092问题的解决
10201升级到10204的ORA-01092问题的解决<br />oracle 10201升级到10204后出现下现问题 <br />SQL> startup <br />ERROR at line 1: <br />ORA-01092: ORACLE instance terminated. Disconnection forced <br />alert <br />Errors in file /oracle/admin/mydb2/udump/mydb2_ora_5811.trc: <br />O原创 2011-01-09 18:02:00 · 5088 阅读 · 0 评论 -
oracle中的包变量
<br />在CS结构系统开发中,oracle中的包变量常用来做为session的全局变量使用,在操作员登录时给包变量赋值,在本次登录后一直都可以随时取值。减少传递参数的个数,如操作员姓名、子系统名称等变量。 <br /> 而在三层结构系统或oracle启用了共享服务器模式时,就不能这样使用了。因在三层结构中,客户端并不与数据库直接连接,而是通过中间层访问数据库。客户端每次与数据库的连接并不一定是同一个sesson,因此不能把包变量做为全局变量使用。原创 2011-05-15 20:09:00 · 5369 阅读 · 0 评论 -
oracle中的soaptest
declare soap_request varchar2(30000); soap_respond varchar2(30000); http_req utl_http.req; http_resp utl_http.resp;BEGIN soap_request:= ' http://schemas.xmlsoap.org/soap/envelope/"原创 2011-12-19 21:01:18 · 5117 阅读 · 0 评论 -
oracle中的null测试题
create table TABLE1( ID VARCHAR2(10) not null, GRZHYE NUMBER(10,2), GMSFHM VARCHAR2(18), RYLB varchar2(10), CARDNO VARCHAR2(20));comment on column TABLE1.ID is '个人编号';comment原创 2012-01-03 16:54:03 · 5457 阅读 · 0 评论 -
找出执行效率低下的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_TEXT FROM V$SQLAREA WHERE原创 2012-02-02 11:44:57 · 5093 阅读 · 0 评论 -
分析表与索引
set head offset pagesize 0set feedback offselect 'analyze table '||owner||'.'||table_name||' compute statistics for table for all indexes for all indexed columns;' from all_all_tables where owne原创 2012-02-02 11:47:34 · 4926 阅读 · 0 评论 -
客户端链接RAC报错ORA-12545 的处理
客户端链接RAC报错ORA-12545 的处理 转载连接到RAC数据库的时候经常会出现ORA-12545错误 针对这个问题Oracle没有认为这个是bug,只是认为是PROBLEM。解决办法可以有两种:修改客户端的hosts和tnsnames.ora或者修改oracle服务器数据库。前者称为客户端解决办法后者称为彻底的解决办法。两者都行。彻底的解决办法可以彻底的转载 2012-06-06 11:13:28 · 5833 阅读 · 0 评论 -
Oracle的共享套接字
Oracle的共享套接字在windows系统中,默认的1521监听端口只起监听转交的作用,当1521监听端口收到请求后会再创建一个端口来与客户端交互,新创建的字个端口是程序无法控制的。因此这种情况对于设置防火墙不太方便。可以通过共享套接字固定监听端口,方法是修改注册表。在注册表:HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/HOME0上新建一个字符串值:U原创 2009-12-15 16:51:00 · 5278 阅读 · 0 评论