![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DB.Oracle
desert3
这个作者很懒,什么都没留下…
展开
-
oracle start with connect by base_pd_clazz
select lpad('test',10) from dual;将返回“ test”select lpad('test',10,'ee') from dual;结果将返回eeeeeetest。[code="sql"]create or replace view base_pd_clazz asselect t.cls_id, t.cls_na...原创 2010-08-03 21:47:37 · 103 阅读 · 0 评论 -
表A与表B是一对多关系,取表B中任一记录与A关联查询
通过Group By + min方法取得表B中分组后的多条记录中某个字段(一般使用主键或者不重复的列)值最小的记录,然后表A和表B做外连接[code="sql"]select a.id, a.name from a left join (select id, name from b inner join (sel...原创 2011-09-13 14:33:55 · 626 阅读 · 0 评论 -
oracle 循环sql快速插入数据
具体的insert sql可以通过plsql查询结果上方工具栏中的【导出查询结果】按钮来快速生成[code="sql"]declare i integer;begin -- 循环开始 i := 10000000; loop begin insert into sx_wd_order (ID) value...原创 2011-06-14 09:41:04 · 242 阅读 · 0 评论 -
(转)Oracle数据库的自动导出备份脚本(windows环境)
转自[url=http://space.itpub.net/12330444/viewspace-445582]Oracle数据库的自动导出备份脚本(windows环境)[/url]由于winrar收费,修改了下脚本使用7zip进行压缩处理[code="sql"]@echo off@echo =============================================...原创 2011-03-11 10:44:50 · 100 阅读 · 0 评论 -
oracle用正则表达式取得所有非数字的项目
[code="sql"]-- 不是数字select * from dual where not REGEXP_LIKE('1不是数字1', '^[0-9]+\.{0,1}[0-9]*$')-- 是数字select * from dual where REGEXP_LIKE('1.1', '^[0-9]+\.{0,1}[0-9]*$')[/code]...原创 2010-11-14 14:28:51 · 2271 阅读 · 0 评论 -
oracle sqlplus使用(执行sql文件,每100次操作commit)
[code="sql"]--连接sqlplus user/pass@TNSDB--SET AUTO[COMMIT] { OFF | ON | IMM[EDIATE] | n }--每100次操作提交一次set auto 100;--执行sql文件@"D:\a.sql"--当密码包含特殊字符时--linux下,sqlplus连接时,密码要用一对双引号,...原创 2010-11-25 11:42:29 · 1560 阅读 · 0 评论 -
oracle exp/imp
[color=red]不同版本的oracle导数据时需要dba权限,可以用如下2种方式设置imp 'sys/password as sysdba' fromuser=usera touser=userbgrant dba to username;revoke dba to username;[/color][color=red]exp/imp 是通用的,expdp/im...原创 2010-11-25 11:46:21 · 127 阅读 · 0 评论 -
oracle sqlldr使用(导入速度快,但对数据本身的处理功能弱)
sqlload.cmd[code="sql"]pausesqlldr user/pass@tnsdb control.ctl skip=1 rows=2000 bindsize=8192000 pause[/code]control.ctl[code="sql"]LOAD DATAINFILE 'Rating201001.csv'APPENDINTO TAB...原创 2010-11-29 16:26:05 · 237 阅读 · 0 评论 -
oracle group by rollup小计,CUBE,GROUPING SETS,wm_concat(group by的项目用逗号相连)
group by rollup用来生成小计和总计,经常会合并GROUPING函数使用。GROUPING:当使用聚集函数(Cube,Rollup等等)的时候,使用grouping函数来区分结果集中的NULL是由于聚集函数产生的还是本身的。如果是由聚集函数产生的,则返回值为1,否则返回0。wm_concat(group by的项目用逗号相连)[code="sql"]select g...原创 2010-11-30 14:38:23 · 129 阅读 · 0 评论 -
每月100W数据统计处理解决方案
任务:每月产生100W条数据(csv格式),要求对这些数据进行一定的统计处理,折腾了几天才比较好地解决,把过程中尝试的各种方法记录下来。基础数据导入解决思路:1, 在Excel中用CONCATENATE函数拼出insert sql语句,复制到.sql文件,再拿到plsqldev中执行(由于在plsqldev中执行1个100多W条insert sql语句的文件,执行过程中应用程序会卡住,...2010-12-06 15:12:55 · 351 阅读 · 0 评论 -
使用to_char(wm_concat(item))的时候报ORA-64203错误
使用to_char(wm_concat(item))的时候报ORA-64203错误出错原因:由于concat的item项目太多,导致合成后的字符串长度超出数据库char字段的缓冲区限制通过DBMS_LOB.SUBSTR把wm_concat(item)分成10块,取到后再拼接起来[code="sql"]DBMS_LOB.SUBSTR(wm_concat(item),1000,1),...原创 2010-12-08 09:34:14 · 1958 阅读 · 0 评论 -
省市县物化视图
[code="sql"]CREATE MATERIALIZED VIEW mv_base_province_listTABLESPACE tbl_pro --保存表空间 BUILD IMMEDIATE --创建视图时就生成数据 REFRESH FORCE --如果可以快速刷新则进行快速刷新,否则完全刷新 on demand --按照指定方式刷新 START WITH SYS...原创 2011-03-23 09:34:49 · 90 阅读 · 0 评论 -
Clob字段的值部分替换 replace和空判断
[code="sql"]--oracle中可以对Clob字段进行替换操作UPDATE table1 t SET t.sale = REPLACE(t.sale, '替换前', '替换后') WHERE t.sale like '%替换前%';--非空判断t.clobitem is not null and dbms_lob.getlength(t.clobite...2011-08-10 11:36:05 · 733 阅读 · 0 评论 -
oracle 11g 卸载
由于Toad不支持64位的oracle客户端,因此要卸载已经安装的客户端官网卸载说明:[url]http://docs.oracle.com/cd/E11882_01/install.112/e10844/deinstall.htm#BABHIGFE[/url]官网下载Oracle卸载工具:[url]http://www.oracle.com/technetwork/datab...2011-12-28 09:15:48 · 90 阅读 · 0 评论 -
Toad常用快捷键&常用功能
F8 调出以前执行的sql命令F9 执行全部sqlCtrl+. 补全table_nameCtrl+t 补全table_name,或者显示字段alt+ 箭头上下 看sql historyCtrl+Enter 直接执行当前sql[color=red](注意执行选中的SQL,到当前鼠标所在的位置?不选中一个很长的SQL,直接按住Ctrl Enter执行的话,执行结果中可能只是SQL中...原创 2011-12-29 08:30:50 · 590 阅读 · 0 评论 -
更新插入时,用触发器更新【最后更新时间字段】
[code="sql"]CREATE OR REPLACE TRIGGER TR_TBL_USER BEFORE INSERT OR UPDATE on TBL_USER FOR EACH ROWBEGIN :NEW.LASTMODIFIEDTIME := SYSDATE;END;/[/code]原创 2011-12-29 15:28:56 · 343 阅读 · 0 评论 -
oracle获取汉字拼音和拼音首字母
select name,f_getspell(name),f_getspell(name,1) from roles 得到结果: 后台管理 htgl houtaiguanli [color=red]要注意,里面的lv和luo,nv和nuo有时不分同时部分字认不出来 如亳州市中的亳 *zs *zhoushi[/color]建立函数的脚本清单如下: [code="s...原创 2011-06-01 16:23:43 · 228 阅读 · 0 评论 -
超出表空间"users"的空间限额
这是因为用户被数据库限制了在建表的表空间。执行一下下面的语句后,再执行建表语句alter user 用户名 quota unlimited on 表空间名字 [color=red]补充:也可以在OEM中直接修改[/color]OEM->服务器标签安全-》用户-》选择自己的用户-》到限额标签页,把用户名对应的表空间(Default)改成-》限额(无限制)转自:...原创 2011-08-23 09:16:35 · 254 阅读 · 0 评论 -
oracle中排序和分页的相互影响
如下sql:[code="sql"]select * from (select rownum rn_,t_.* from (select * from PD_MODEL order by ADD_DATE DESC) t_ where rownum = (70 + 1...2011-04-14 11:39:59 · 207 阅读 · 0 评论 -
oracle中查看和删除被锁表
oracle中查看表是否被锁 查看表是否被锁 SELECTa.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = 'TM' and a.id1 = b.object_id; 查到的都是被锁的表 这样可以把它杀掉 SELECT sid,serial# FR...原创 2010-08-20 11:38:45 · 121 阅读 · 0 评论 -
oracle中查找执行效率低下的SQL
v$sqltext:存储的是完整的SQL,SQL被分割v$sqlarea:存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息(统计)v$sql:内存共享SQL区域中已经解析的SQL语句。(即时) 根据sid查找完整sql语句:select sql_text from v$sqltext a where a.hash_value = (selec...原创 2010-09-04 16:45:55 · 143 阅读 · 0 评论 -
通过分析SQL语句的执行计划优化SQL语句
plsql:执行计划中显示时间列(oracle预计的sql执行时间)cost,size,card是指计划中这一步所处理的行数;cost指cbo中这一步所耗费的资源,这个值是相对值;bytes指cbo中这一步所处理所有记录的字节数,是估算出来的一组值。 通过分析SQL语句的执行计划优化SQL语句 在数据库的日常维护中...原创 2010-09-08 16:46:28 · 231 阅读 · 0 评论 -
查询每台应用服务器占用oracle数据库会话情况和v$session视图
查询每台应用服务器占用oracle数据库会话情况select machine, count(*) c from v$session group by machine order by c desc; 根据机器名查询该机器发出的所有会话select t.STATE,t.* from v$session t where t.MACHINE like '%computername%'...原创 2010-09-16 17:04:44 · 424 阅读 · 0 评论 -
深入浅出oracle::DBA入门,进阶,诊断案例 阅读笔记
oracle数据字典内部RDBMS表(X$)是oralce数据库的核心,用于跟踪内部数据库信息,维持数据库的正常运行。数据字典表(Data Dictionary Table)用以存储表,索引,约束,以及其他数据库结构的信息,通常以$结尾(如tab$,obj$,ts$)动态性能视图(Dynamic Performance View V$)记录了数据库运行时信息和统计数据,大部分动态性能视...原创 2010-09-18 22:07:40 · 147 阅读 · 0 评论 -
普通视图和物化视图区别,物化视图简单语法(转)
转自[url=http://topic.csdn.net/u/20100723/14/d8c6c687-5654-493c-9ef3-aa037e91c903.html]普通视图和物化视图的区别[/url],[url=http://c-c.iteye.com/blog/716392]物化视图简单语法[/url]创建物化视图:[code="sql"] create materialize...原创 2010-12-20 11:51:54 · 110 阅读 · 0 评论 -
oracle rebuild index and table move and rename
Oracle里大量删除记录后,表和索引里占用的数据块空间并没有释放。table move可以释放已删除记录表占用的数据块空间,整理碎片。如果将表格用move方式整理碎片后,索引将失效,这时需要将索引重建。 重建索引可以释放已删除记录索引占用的数据块空间。重建索引不仅能增加索引表空间空闲空间大小,还能够提高查询性能。[code="sql"]--table movealter tabl...原创 2010-12-30 15:55:13 · 496 阅读 · 0 评论 -
常用oracle sql一览
[code="sql"]--查看oracle数据库表,索引所占用的空间大小Select Segment_Name, Sum(bytes) / 1024 / 1024/1024 as GsizeFrom User_ExtentsGroup By Segment_Nameorder by Gsize desc--oracle hint 强制指定走索引select /*+...原创 2010-09-20 14:36:42 · 96 阅读 · 0 评论 -
oracle tnsping & ora-12154
使用命令sqlplus user/pwd@tnsname的时候,报错误ora-12154:tns:无法解析指定的连接标识符使用命令tnsping tnsname后发现sqlplus连接使用的oracle客户端目录不对。本机装了1个oracle11g数据库服务器和一个oracle9i精简版客户端,换了一台只安装oracle客户端软件的机器后没有再出现这个问题dba也建议不要在一台机器...原创 2011-01-05 10:06:59 · 356 阅读 · 0 评论 -
plsqldev常用技巧
1,PL/SQL美化器2,F8 SQL执行3,F5 执行计划4,工具-》首选项-》Oracle-》登录历史-》带口令存储以及保存的登录历史管理5,工具-》窗口列表(当前sql命令一览)-》[color=red]窗口-》保存版面[/color]6,工具-》浏览器过滤器-》My Object-》默认7,在SQL窗口,按住Ctrl然后点击对象名(如表名),可以弹出相应的属性窗口...原创 2011-05-09 09:46:35 · 218 阅读 · 0 评论 -
输出完整的sql语句(带参数)
#log4jdbc配置,只用在开发环境jdbc.driverClassName=net.sf.log4jdbc.DriverSpyjdbc.url=jdbc:log4jdbc:oracle:thin:@192.168.0.1:1521:devdbjdbc.username=usernamejdbc.password=passoracle clob...原创 2011-05-10 15:44:30 · 536 阅读 · 0 评论 -
oracle表复制
[code="sql"]select * into dest_tab from res_tab;[/code]执行报错误ORA-00905: 缺失关键字错误select..into is part of PL/SQL language which means you have to use it inside a PL/SQL block. You can not use it...原创 2011-05-13 15:51:24 · 89 阅读 · 0 评论 -
索引语法
索引分类:[list][*]唯一索引,作用是[color=red]数据约束,保证数据唯一[/color],还有就是数据索引,提高查询效率[*]一般索引,只有数据索引的作用。[/list]唯一索引:[code="sql"]create unique index idx_employee_empname on employee(empname);[/code]一般索引:...原创 2010-10-14 11:38:20 · 108 阅读 · 0 评论 -
从oracle数据库中反向生成ddl
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u where u.table_name = 'SHOP_PD';原创 2010-10-21 15:30:00 · 131 阅读 · 0 评论 -
linux下手动启动oracle监听
lsnrctl start[root@vm ~]# find / -name lsnrctl/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl/u01/app/oracle/diag/lsnrctl原创 2012-01-16 11:19:23 · 127 阅读 · 0 评论