Oracle
文章平均质量分 58
doupeihua
这个作者很懒,什么都没留下…
展开
-
oracle中trim函数、ltrim函数、rtrim函数的使用方法,trim()函数、ltrim ()函数、rtrim()函数的用法
LTRIM(c1,[,c2])函数 是按照c2中的字符一个一个的截断c1的字符,而且还是从左开始执行的,一旦遇到c2中的字符,c1中的字符都会相对应的截断,一直到c1的字符没有c2的字符为止才会结束。==========================LTRIM ()函数====================================================LTRIM()函数============================----------输出结果。----------输出结果。原创 2024-02-23 18:08:41 · 2264 阅读 · 0 评论 -
ORACLE数据库函数大全
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE--------- --------- --------- -------转载 2016-07-04 09:27:38 · 548 阅读 · 0 评论 -
关于数据库锁表与数据库解锁
一、mysql锁定表:LOCK TABLES tbl_name {READ | WRITE},[ tbl_name {READ | WRITE},…] 解锁表:UNLOCK TABLES 例子:LOCK TABLES table1 WRITE ,table2 READ ... 更多表枷锁;说明:1、READ 锁代表 其他用户只能读 不能其他操作转载 2016-04-14 17:55:27 · 435 阅读 · 0 评论 -
oracle拆分逗号分隔字符串 实现split
最近老有人问题同样的sql 实现方法,itpub 上发一下,照顾百度用户。如果一个字符串中有像逗号或其它符号分隔,你想把它折分成列,如’first field, second field , third field’,拆成first fieldsecond fieldthird field第一种 用10G开始支持的正则表达式anbob@ANBOB>SELECT转载 2016-03-25 16:28:50 · 36485 阅读 · 0 评论 -
Oracle 如何修改表名, Oracle 如何修改列名 ,Oracle 如何修改字段类型语句
CREATE TABLE DOUPEIHUA ( ID NUMBER NOT NUMM, NAME VARCHAR2(20) ) ALTER TABLE SCOTT.DOUPEIHUA RENAME TODOUPEIHUA1;--修改表名 ALTER TABLE SCOTT.DOUPEIHUA RENAME COLUMNNAME TO NA原创 2016-03-07 09:20:48 · 588 阅读 · 0 评论 -
利用Oracle分析函数实现多行数据合并为一行
利用Oracle分析函数实现多行数据合并为一行 demo场景,以oracle自带库中的表emp为例: select ename,deptno from emp order by deptno; ENAMEDEPTNOCLARK10KING10MILLER10SMITH20ADAMS转载 2016-03-29 19:56:26 · 449 阅读 · 0 评论 -
Oracle数据库排名函数(Rank)实例详解
--已知:两种排名方式(分区和不分区):使用和不使用partition--两种计算方式(连续,不连续),对应函数:dense_rank,rank ·查询原始数据:学号,姓名,科目名,成绩select *from t_scoreS_IDS_NAMESUB_NAMESCORE1张三转载 2016-02-18 16:17:38 · 5035 阅读 · 0 评论 -
如何提高oracle的查询速度(详解)
优化数据库大幅度提高Oracle的性能 几个简单的步骤大幅提高Oracle性能--我优化数据库的三板斧。 数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出性能问题的人对数据库做一个statspack,贴出数据库配置等等。还有的人认为要抓出执行最慢的语句来进行优化。但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspack了。而我认为,数据库转载 2016-01-05 15:39:20 · 1463 阅读 · 0 评论 -
Oracle查询重复数据并删除,只保留一条记录
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录DELETE from 表 WHERE (id) IN ( SELE转载 2015-11-18 10:33:58 · 811 阅读 · 0 评论 -
ORACLE数据库:日期时间函数大全
ORACLE数据库:日期时间函数大全TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yy转载 2015-11-04 10:39:46 · 712 阅读 · 0 评论 -
Oracle Hint的用法
1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;2. /*+FIRST_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:SE转载 2015-06-23 09:59:13 · 282 阅读 · 0 评论 -
Oracle取上周一到周末日期的查询语句
Oracle取上周一到周末日期的查询语句-- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d')from dual; --结果:6 注释:2013.09.06是周五,为本周的第六天转载 2016-04-28 10:39:45 · 8509 阅读 · 0 评论 -
如何让oracle的select强制走索引
大多数情况下,oracle数据库内置的查询优化策略还是很成功的,但偶尔也有犯2的时候,即使有索引,也会做全表扫描,可以参考以下语句的写法,强制让select语句使用索引复制代码 1 CREATE OR REPLACE VIEW V_RES_CBA AS 2 SELECT /*+INDEX(SEG IDX_T_DOU_ALLOSEG_ALLOID)*/ 3 ALLO.ALL转载 2016-04-18 16:33:18 · 10570 阅读 · 0 评论 -
数据库性能优化有哪些措施?
、1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。 2、2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应转载 2016-09-06 13:17:17 · 3409 阅读 · 0 评论 -
《Oracle SQL优化基础》之分区
首先我们从一个图书馆引出话题(又是那个图书馆,是不是该取个名字了)我们之前索引那一篇里的图书馆有100w本书,那个学校来借了一次80w本书,把图书馆管理员累的不行。后来那他申请按照书内容的类型进行排序,分层摆放。后面有学校再来接的时候说我要烹饪类 的书,他就可以直接找到,无需“全表扫描”,也不用翻目录了,这也就是我们今天所讲的分区。分区表的概念分区是Oracle8i引入的一转载 2016-08-13 19:26:48 · 1355 阅读 · 0 评论 -
《Oracle SQL优化基础》之位图索引(BitMap index)
有不少做BI的后台同事问我,位图索引是啥?啥时候用? 此篇仅作为一个扫盲篇,有不对的地方欢迎大神指正。首先我们要搞明白位图索引是什么,与普通的B*树索引有什么区别呢?顾名思义,首先他是个索引(废话!),其次是以位图的形式进行存储、计算的。看个图,下面是我们常用的B*树索引结构(取自网络):可以看得出,表中索引列的每行数据都会维护到索引树中(Null值除外)再来看看我们的位图转载 2016-08-13 19:25:37 · 5522 阅读 · 0 评论 -
《Oracle SQL优化基础》之索引
最首先我想还是先百度下索引的定义:索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。好的,就是因为这样一种朦胧两可的定义,导致现在绝大部分初学者甚至老油条都无法正确认识并使用索引。这一篇主要还是讲下基础,再深的原理机制不再此篇幅中,如果大家都懂了,后续深入下面分这几点给大家讲下:索引的一些基本概念。索引类型转载 2016-08-13 19:24:39 · 814 阅读 · 0 评论 -
OLTP和OLAP有何区别?
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果.OLTP:转载 2016-08-12 14:28:29 · 1309 阅读 · 0 评论 -
Oracle百万记录sql语句优化技巧
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id f转载 2016-09-12 17:50:13 · 397 阅读 · 0 评论 -
oracle排查错误sql的一些方法
oracle排查异常sql的一些方法1、查看值得怀疑的SQLselect substr(to_char(s.pct, '99.00'), 2) || '%' load, s.executions executes, p.sql_text from (select address, disk_reads,转载 2016-08-10 13:10:19 · 2498 阅读 · 0 评论 -
如何从优化SQL入手提高数据仓库的ETL效率
在海量数据表中,基本每个表都有一个或多个的索引来保证高效的查询,在ETL过程中的索引需要遵循以下使用原则:(5) 函数的列启用索引方法,如果一定要对使用函数的列启用索引,Oracle9i以上版本新的功能:基于函数的作者:周四阳 蔡自兴1 引言 数据仓库建设中的ETL(Extract, Transform, Load)是数据抽取、转换和装载到模型的转载 2016-08-09 12:18:03 · 485 阅读 · 0 评论 -
ORACLE客户端乱码--修改Oracle客户端字符集
修改Oracle客户端字符集方法:1:可以通过修改注册表键值永久设置,类似于这样的键值:HKEY_LOCAL_MACHINE/SOFTWARE/Oracle/HOME0下,如一般的简体中文nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 2:查看数据库当前字符集参数设置SQL> select userenv('language') f转载 2016-08-29 09:54:11 · 754 阅读 · 0 评论 -
ORACLE存储过程和包管理(导出包内容,查询用到了哪些表等)
ORACLE存储过程和包管理(导出包内容,查询用到了哪些表等)一,user_objects 作用:记录了用户使用的所有对象,根据Object_type可以查看所有对象信息; 比如: select * from user_objects o where object_type='PACKAGE' ---查看转载 2015-04-23 16:31:29 · 918 阅读 · 0 评论 -
ORACLE日期时间函数大全
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyy转载 2014-10-11 14:37:13 · 438 阅读 · 0 评论 -
linux下vi命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复f转载 2014-09-23 16:51:52 · 308 阅读 · 0 评论 -
oracle 取整和hu四舍五入的几种方法
oracle 取整和hu四舍五入的几种方法1.取整(大) select ceil(-10.001) value from dual 2.取整(小) select floor(-10.001) value from dual 3.取整(截取) select trunc(-1.002) value from dual原创 2014-07-21 17:31:22 · 618 阅读 · 0 评论 -
oracle错误代码大全(超详细) oracle错误代码大全(超详细)
ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存转载 2014-03-25 11:33:37 · 1271 阅读 · 0 评论 -
解决oracle归档日志写满了(ORA-00257)的问题
解决ORA-00257: archiver error. Connect internal only, until freed 此问题属于归档日志满了。解决办法:SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAI转载 2014-03-25 10:41:13 · 580 阅读 · 0 评论 -
crontab介绍 + 小示例 + crontab不执行的原因
1.Cron的启动与关闭由于Cron是Linux的内置服务,可以用以下的方法启动.关闭这个服务:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service转载 2014-03-25 13:24:51 · 384 阅读 · 0 评论 -
ORA-12704:character set mismatch
SELECT CUS, CARTONNO, STYLENO, (CASE WHEN I49GTYP = 'Others' THEN I49GITM ELSE B21JCUSNAM END) STYLEDESC, COLOR, SIZ, QTY, SIZRUN, SEQ FROM ( SELECT I49GCUS CUS, I49GCTNNUM CAR转载 2014-03-14 09:43:21 · 1479 阅读 · 0 评论 -
index unique scan 与index range scan等的区别
存取Oracle当中扫描数据的方法(一)Oracle 是一个面向Internet计算环境的数据库。它是在数据库领域一直处于领先地位的甲骨文公司的产品。可以说Oracle关系数据库系统是目前世界上流行的关系数据库管理系统,本文将对oracle当中扫描数据的存取方法进行介绍。转载 2011-09-26 15:56:51 · 11096 阅读 · 0 评论 -
如何看Oracle执行计划
oracle执行计划解释 一.相关概念 1·rowid,伪列:就是系统自己给加上的,每个表都有一个伪列,并不是物理存在。它不能被修改,删除,和添加,rowid在该行的生命周期是唯一的,如果向数据库插入一列,只会引起行的变化转载 2011-09-15 17:06:50 · 1093 阅读 · 0 评论 -
为什么Oracle有时会用索引来查找数据?--强制Oracle使用最优的“执行计划”
[摘要] 在你运用SQL语言,向数据库发布一条查询语句时,Oracle将伴随产生一个“执行计划”,也就是该语句将通过何种数据搜索方案执行。搜索方案的选用与Oracle的优化器息息相关。 问:为什么Oracle有时会用索引来查找数据? 答:在你运用SQL语转载 2011-09-15 17:06:11 · 726 阅读 · 0 评论 -
Nested Loops Join(嵌套连接)
说明:最近找到了一个不错的国外的博客http://blogs.msdn.com/b/craigfr/,博主是Sql Server的开发人员,写了很多Sql Server的内部原理性的文章,觉得非常有收获。所以试着把他翻译成中文,因为本人的英语和技术水平有限,难免会有错误,还请各位转载 2011-09-15 17:04:02 · 1168 阅读 · 0 评论 -
Oracle数据库临时表管理心得
Oracle数据库临时表管理心得 我们在创建数据表的时候,若没有特殊的指明,那么我们创建的表是一个永久的关系型表格,也就是说,这个表格中对应的数据,除非是我们显示的删除的话,表中的数据是永远都存在的。相对应的,在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除转载 2014-07-24 14:15:24 · 468 阅读 · 0 评论 -
Oracle建分区表
在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。 以system身份登陆数据库,查看 v$option视图,如果其中Partition为TRUE,则支持分区功能;否则不支持。Partition有基于范围、哈希、综和三种类型。我们用的比较多的是按范围分区的表。 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能。 以system身转载 2014-07-24 14:13:39 · 1044 阅读 · 0 评论 -
查询oracle中正在运行的存储过程
1、如何查看ORACLE中正在运行的存储过程select owner,name from v$db_object_cache where type like '%PROCE%' and locks >0 and pins >0;2、如何停止正在运行的存储过程可以查看正在运行的SESSION,把相应存储过程的SESSION给KILL掉即可!存储过程中的SQL都是可以跟踪到翻译 2014-07-06 13:59:01 · 1455 阅读 · 0 评论 -
Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui转载 2014-09-19 13:09:53 · 341 阅读 · 0 评论 -
ROW_NUMBER() OVER函数的基本用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)简单的说row_number()从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再为降序以后的没条xlh记录返回一个序号。 示例: xlh row_num转载 2014-09-19 12:54:05 · 541 阅读 · 0 评论 -
存储过程常用技巧
我们在进行pl/sql编程时打交道最多的就是存储过程了。存储过程的结构是非常的简单的,我们在这里除了学习存储过程的基本结构外,还会学习编写存储过程时相关的一些实用的知识。如:游标的处理,异常的处理,集合的选择等等 1.存储过程结构 1.1 第一个存储过程 create or replace procedure proc1( p_para1 varchar2,原创 2014-07-11 15:58:16 · 482 阅读 · 0 评论