Oracle
shuiqingtinglin
这个作者很懒,什么都没留下…
展开
-
PL/SQL中的游标
游标是映射在结果集中一行数据上的位置实体,有了游标,用户就可以访问结果集中的任意一行数据了,将游标放置到某行后,即可对该行数据进行操作,例如提取当前行的数据等。oracle 游标有4个属性:%ISOPEN,%FOUND,%NOTFOUND,%ROWCOUNT。 %ISOPEN判断游标是否被打开,如果打开%ISOPEN等于true,否则等于false; %FOUND %NOTFOUND判断游标所原创 2009-03-16 14:25:00 · 533 阅读 · 0 评论 -
ORA-12899: value too large for column
昨天,同事导数据,本来一直好用的文件,就一直在报错:ORA-12899: value too large for column,本来以为程序修改导致字段长度变了,就改了一张表的结构。结果可好,导下一张表依然报错。。报错也好,也就确定了不是程序问题,是DB做的有问题。后来靠着强大的google找到了答案,才觉得Oracle error code也很强大! 通常会查询NLS_CHARACTER原创 2011-12-22 17:23:05 · 37834 阅读 · 0 评论 -
Oracle Listener的静态注册和动态注册
关于静态注册和动态注册的各种Blog看了n多遍,结果发现其实每次都是看看而已,没当回事。就知道listener.ora很重要,里面的内容向来是拿现成的Copy过来。今天总算是搞明白自己通常做的是静态注册:静态注册的监听实例状态为unknow,只有客户端请求连接到实例时候才会去检查实例是否存在。动态注册的监听实例为ready或者blocked状态,不管数据库何时关闭和启动这时候的监听都能原创 2011-12-20 17:18:00 · 5774 阅读 · 0 评论 -
Oracle 11g 等待事件
等待事件分类: ===============================================================================================================Administrative: 等待DBA命令执行结果导致的用户等待(例如:重建索引)Waits resulting from DBA command原创 2011-12-19 14:19:47 · 2607 阅读 · 0 评论 -
sqlplus / as sysdba ora-01031: insufficient privileges
自从用了windows7日子就没好过过,待机断网,各种折磨。有同事装完了oracle11g,连sqlplus / as sysdba,报错:ora-01031: insufficient privilegessqlnet.ora里也设置了系统认证,SQLNET.AUTHENTICATION_SERVICES = (NTS)。 后来发现是系统用户不在ora_dba组里,从Contro原创 2011-11-02 15:38:33 · 4446 阅读 · 2 评论 -
Oracle11g 手动创建Listener
今天安装了oralce 11g.0.6.0,貌似机器有问题,安装过程中提示了好多无法创建菜单启动项之类的信息,直接都忽略了。。。然后安装完发现找不到Net Configuration Assistant。。。于是,也就没有OracleOraDb11g_home1TNSListener系统服务了。装了卸了好几次,发现还是老样子,就硬着头皮往下走了。手动create DB, 创建listener:原创 2011-10-31 16:29:26 · 10220 阅读 · 0 评论 -
Oracle Spool
Spool是SQLPLUS里的命令,写了个超级简单的脚本,将执行结果写入文件。set echo on; --可以在输出log中显示你执行的SQLSpool C:\TEMP\Results.log;SELECT Count(*) FROM TEST;Spool off; 测试结果:SQL> SELECT Count(*) FROM PS_PTFP_CATG_LANG;原创 2011-10-26 15:05:04 · 1606 阅读 · 0 评论 -
Some useful functions from Oracle database 11g
Replace(char, str1, str2) Replaces every occurrence of str1 in char with str2.Length(char) Returns the length of the char.Initcap(char) Changes the first character of each element in char to uppercase.Power(m,n) Multiplies m to the power n.Sqrt(n) Returns原创 2011-05-23 15:32:00 · 507 阅读 · 0 评论 -
ORACLE并行操作
<br />并行处理一般都会涉及到访问磁盘,如果数据不是分布在多个磁盘上,使用PEO将会造成I/O瓶颈。在很小的表或者非常快速的查询中使用并行操作会降低性能。<br />当并行度被设置成N,并行操作总共就需要(2*N)+1个进程。<br />创建表时,可以指定该表可以使用的并行度DOP(degree of parallelism):<br />create table test(<br /> testID NUMBER(12) not null,<br /> testDate DA原创 2010-10-08 13:50:00 · 1843 阅读 · 0 评论 -
ORACLE INSTR()
<br />想起instr(), 复习一下:<br />=======================================================<br />INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)<br />例如:SELECT INSTR('THIS IS HIS BOOK.','IS', 3, 1) FROM DUAL;中,源字符串为'THIS IS HIS BOOK.', 目标字符串为'IS',起始位置为3,取第1个匹配项的位置。<br />默认查找顺序为从左到原创 2010-09-25 16:03:00 · 883 阅读 · 0 评论 -
ORA-12519 TNS:no appropriate service handler found
<br />一般说来,出现这个错误是由于连接数据库的进程数过大引起的。<br />select count(*) from v$process; 取得数据库目前的进程数。<br />select value from v$parameter where name = 'processes'; 取得进程数的上限。<br />通常,由于初始化参数文件中processes参数值设置太小导致的,所有可以修改ini***.ora中的processes的大小。<br />原创 2010-08-31 09:17:00 · 1150 阅读 · 0 评论 -
ORACLE查看表空间使用率
之前写程序需要实现一个查询数据库表空间使用率的功能,虽然不知道做它的意义有多大,项目要求就得做。写了一个,只能查到永久表空间,TEMP表空间不知道怎么查询,今天上网找了找,把SQL补充完整了,其实都是找来现有的资源用的,收藏一下。select * from (SELECT a.tablespace_name tableSpaceName, NVL(a.BYTES / 1024 / 1024,0) totalSize, NVL(b.largest /原创 2010-06-18 15:10:00 · 6520 阅读 · 0 评论 -
几条笔记
--取得本机IP,服务器IP,当前登录数据库用户:select a.spid, b.username, sys_context('userenv', 'ip_address') clienIP, utl_inaddr.get_host_address hostIP from v$process a, v$session b, v$instance d where a.addr = b.paddr and b.audsid = sys_context('userenv原创 2010-07-08 13:47:00 · 472 阅读 · 0 评论 -
多行转换成字符串
之前写程序,费老大劲实现了多行转换成字符串,结果因为SQL过于复杂被否了,然后就一顿改成在JAVA代码里处理查询结果返回指定格式。以下借助学习trunc截取时间函数来做一个多行转换成字符串的例子。--trunc截取当前月份第一天trunc(sysdate,'MM')--wmsys.wm_concat()实现多行转换成字符串select wmsys.wm_concat(monthDate) from (select trunc(sysdate, 'MM') + rownum - 1 monthDate原创 2010-07-08 16:30:00 · 1548 阅读 · 0 评论 -
Oracle Real Application Cluster
n久没写了。。。 看起来最近是没怎么学习。先把今天的笔记放上来,看书自己记自己翻译的,凑合看看。 Oracle Real Application Cluster 首先安装CRS(Cluster Ready Services),主目录为CRS_HOME。OCR(Oracle Cluster Registry),集群用来存储元数据,至少256MB。Voting disk原创 2009-04-20 18:34:00 · 1931 阅读 · 0 评论 -
Oracle Job
之前用SQL SERVER 2005,很是兴奋于它能够创建JOB,自动执行脚本。学了这么久的ORACLE,我毕竟还是一个初学者,O(∩_∩)O~,才知道ORACLE里的JOB是这么回事。果然,就像大家总在说SQL SERVER多么多么简单,ORACLE多么强大。。。可能再过几年SQL SERVER也不能算是小而简单了,呵呵。还是的相信,SQL SERVER能又让人兴奋的功能,ORACL也一样很优秀原创 2009-03-20 17:30:00 · 522 阅读 · 0 评论 -
PL/SQL批量绑定
批量绑定是使用BULK COLLECT子句和FORALL语句来完成。其中,BULK COLLECT子句用于取得批量数据,该子句只能用于SELECT语句、FETCH语句和DML返回子句中;而FORALL语句只适用于执行批量DML操作。 当要在PL/SQL应用程序中执行批量INSERT、UPDATE和DELETE操作时,可以使用FORALL。Oracle 10g中,FORALL语句有三种执行语原创 2009-03-19 10:43:00 · 1275 阅读 · 0 评论 -
SQL优化
SQL查询优化应该是数据库操作中值得注意也非常重要的部分。以下学习以下别人的总结,O(∩_∩)O~ 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。 不用NOT IN操作符,可以用NOT EXISTS或者外连接+替代。 Oracle在执行IN子查询时,首先执行子查询,将查询结果放入临时表再执行主查询。而EXIST则是首先检查主查询,然后运行子查询直到找到第一个匹配项。N转载 2009-03-17 11:26:00 · 369 阅读 · 0 评论 -
Oracle DBA_DEPENDENCIES
当一个object A 定义中引用了object B, 则说明object A依赖于object B。比如,创建视图employees是通过查询子句查询表emp而来的,那么employees就依赖于emp。employees引用了emp表中的所有列,当修改emp表中的列时,会导致视图employees失效:("Compiled with errors", "Invalid", "Unau原创 2012-05-07 12:52:47 · 8046 阅读 · 0 评论