- 博客(31)
- 收藏
- 关注
原创 最近使用到的函数/概念
row_number() over()lead() over()dba_source视图在PL/SQL中追踪报错 dbms_output.put_line(dbms_utility.format_error_backtrace);or not existsexception too_many_rows留个记号,有空详细补充...
2018-01-30 13:26:06
354
转载 两篇关于Oracle中后台进程中CKPT描述得比较好的文章
http://www.cnblogs.com/czjie/archive/2011/11/21/2258151.html http://space.itpub.net/24005010/viewspace-694408留个记录,改日整理。
2018-01-30 13:21:16
361
原创 记录一次ORA-01722的Bug
问题如下: 错误代码为 ora-01722,无效数字 经排查后是因为有一个字段的数据类型为char(1),存得是”1”和”0”,假设该字段名为A。 我在取where条件时写法:A=1; 规范的写法应该是:A=’1’; 但是据我了解,Oracle是在比较数据时,存在隐式转换的机制 以下是我查资料后得到的说明: “When comparing a character value with
2018-01-16 00:46:05
451
转载 Linux配置ifcfg-eth0的方法
主要经验来源于“http://blog.youkuaiyun.com/zhyjunfov/article/details/30064631”这篇文章 结合自己的遭遇 首先确定这个概念 “eth0表示OS第一块网卡” 由于Win10和VirtualBox高版本的不兼容,在卸载了VirtualBox5.x版本之后,重新安装了VirtualBox4.3.12版本。 进入虚拟机之后,配置ip地址 vi /e
2018-01-11 22:04:57
2494
原创 通过SQL比较两张表的异同
当两张表结构相同的时候,但是需要比较表内容是否相同,可以通过( A - B ) U ( B - A ) 结果集如果为空则相等,否则不等。 具体SQL: (select n1,n2,n3 from A minus select n1,n2,n3 from B) union (select n1,n2,n3 from B minus select n1,n2,n3 from A);
2018-01-04 22:14:12
5974
1
原创 Oracle的Index,以及组合Index
Index的优点,插好迅速 缺点: 1.数据量很大的情况,首次建index需要很久 2.会影响DML操作效率组合Index 应考虑被索引字段的优先顺序,应将经常作为限制条件的字段放在首位;重复值少,即高基数(high-cardinaltiy)的列往前靠,而重复值多的字段往后靠复合索引的第一个建议: 前缀性(Prefixing) 复合索引的第二个原理:可选性(Selectivity)
2017-12-11 11:12:32
375
原创 Oracle中Exists和in的异同
概念: EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False EXISTS 指定一个子查询,检测行的存在。执行方式: Exists: 通过使用EXISTS,Oracle会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。 In: Oracle在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在一个加了
2017-12-11 10:58:17
329
原创 用来观察执行时间的function
create function get_date_to_date ( i_date1 in date, i_date2 in date ) return varchar2 is v_var varchar2(200); v_min number; begin v_min := trunc((i_d
2017-12-08 10:19:13
276
原创 Oracle DB Link简单使用
DB Link是一种单向的连接 例如 在A库新建了一个B库的DB Link,不代表会在B库出现一个同样的DB Link 查找某个schema下 DB Link的语句select * from dba_db_links使用DB Link的语句create table tab_test as select * from schema.tab_name@db_linkname注意:create
2017-12-08 10:14:03
400
原创 SQL中处理分母为0的方式
在报表的开发中常常会出现除法运算,在除法计算中需要注意分母可能为“0”,可以使用以下方法避免Oracle的报错a/b当b=0时,会报错a/b = round(decode(b,0,0,a/b),4)||'%'
2017-11-28 10:26:15
8168
转载 Oracle中的替换函数replace和translate函数
1.translate 语法:TRANSLATE(char, from, to) 用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。 若from比to字符串长,那么在from中比to中多出的字符将会被删除。 三个参数中有一个是空,返回值也将是空值。 举例:select translate('abcdefga','abc
2017-11-21 10:05:22
4807
原创 Oracle迅速取到一个表的所有列的列名的方法
我比较懒,但是又不愿意使用select * from table的方式去获取某个表中所有的列,尤其是在insert into中常常需要使用如此,因此偷懒记录如下方法select * from user_tab_cols c where c.table_name like upper('%表名%') order by c.column_id;再通过excel批量加上“,”,减少了在plsql
2017-11-16 14:59:28
3506
原创 Linux下日期的处理
输出当前日期(年月日) date=date +%Y%m%d echo $date 20171103输出昨天日期(年月日) date=date -d yesterday +%Y%m%d echo $date 20171102date=date +%Y%m%d echo $date 20171103 if [ 5 -eq date -d $date +%w ] 判断$date是否是周
2017-11-03 10:28:48
370
原创 Oracle for update/for update of/update的用法和区别
1.select * from Table for update –锁定表的所有行,只能读不能写 2.select * from Table where pkid = 1 for update –根据where条件,只锁定pkid=1的行 3.select * from Table a join Table b on a.pkid=b.pkid for update – 锁定两个表的所有行 4
2017-10-24 15:48:52
1874
原创 Ora-08103
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-09-20 21:43:08
1938
原创 create table as select 和 create table 再insert into select 的差异
从一个表到另一个表导入大量数据的时候可以选择create table nologging parallel 64 as select 的结构导入同时删除目标表的索引这样的效率是最高的原因:insert into select 是需要将数据写入databuffer cache中的,再刷入磁盘。而ctas的方式则是跳过了数据缓冲区,则是写到磁盘上,直接路径读写方式。海量数据
2017-07-18 11:13:35
884
原创 oracle hint
select /*+index(t idx_object_id)*/object_name from t where object_id=29;强制走indexselect /*+full(t)*/object_name from t where object_id=29强制走全表
2017-07-17 13:27:09
278
原创 Oracle根据多个字段进行查重
根据两个字段去重 (a,b)select * from tab t where (t.a, t.b) in (select t1.a, t1.b from tab t1 group by (t1.a, t1.b) having count(*) > 1
2017-07-14 17:16:56
2439
原创 Linux下tar的用法
tar在linux中是打包/解包的命令-c 打包-x 解包这两者只能同时存在一个tar -jpvc -f /root/test_3.tar.bz2 [/etc]j使用的是bz2的压缩/解压方式c 打包v 在解压的过程中,将文件名显示出来p 保留原有的属性-f 建立的文件名和路径[/etc] 需要处理的文件
2017-07-11 10:51:51
299
原创 Oracle Index
二 索引在结构上的类别可划分如下:B树索引、位图索引、散列索引、反转索引等 三 索引的介绍:1、B树索引(BTREEB数索引是我们日常工作最最常用的索引,大家平时在工作中说的"索引"默认都是B数索引;索引其实很简单,也很容易理解,用一本书的目录来形容最为贴切了,B树索引的结构跟图书馆的目录也很像B树索引的结构:索引的顶层为根,它包
2017-07-10 12:31:19
276
转载 shell if [ ]
[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ]
2017-07-07 10:45:11
399
转载 磁盘的组成
磁盘的组成主要有盘片、机械臂、磁头与主轴马达所组成, 而数据的写入其实是在盘片上面。盘片上面又可细分出扇区(Sector)与柱面(Cylinder)两种单位, 其中扇区每个为512bytes那么大。 整个磁盘的第一个扇区特别的重要,因为他记录了整个磁盘的重要资讯! 第一个扇区主要记录了两个重要的资讯,分别是:· 主要启动记录区(Master Boot Record, MBR)
2017-07-04 15:30:53
485
原创 Oracle中查询最近修改的数据对象
使用的数据字典表是 user_objectsselect t.OBJECT_NAME, t.OBJECT_TYPE, t.LAST_DDL_TIME from user_objects t
2017-07-03 16:33:30
1724
原创 配置本地yum仓库
Step1 挂载本地yum源先将rhel6.5的iso文件传到os中新建cdrom目录将cdrom挂载设置开机启动mkdir media/cdrommount /dev/cdrom /media/cdromvim /etc/fstab/dev/cdrom /media/cdrom iso9660 defaults 0 0Step2 配置本地yum进入/etc/y
2017-06-27 15:14:24
392
原创 SQLLDR CTL文件
TemplateLOAD DATAINFILE "C:/your file name.csv" // 数据文件名+路径txt或者csv格式into TABLE tab_sqlldr// 目标表名append // 插入数据的方式 有append/insert/replace/truncate// APPEND 原先的表有数据 就加在后面 // INSER
2017-06-26 16:24:28
7842
1
原创 Oracle sqlplus中执行SQL脚本 Error SP2-0310
在SQLPLUS环境下,可以使用@path的方式来执行SQL脚本但是我尝试了多次,最后都是这个错误后来将path中的’D:\oracle scripts’修改成‘D:\oracle_scripts’,脚本执行成功
2017-06-20 11:11:33
5954
原创 Linux Boot出现 an error occurred during the file system
吃完饭回来发现虚拟机死了,强制退出后重启出现如下现象:***An error occured during the filesystem check***Dropping you to a shell; the system will reboot***when you leave the shell.......Give root password for maint
2017-06-17 13:29:45
480
原创 VirtulBox安装RTEL7.3
1. 安装Virtualbox软件。2. 安装完成后,linux只有32bit的版本,选择了32bit版本安装RHEL7.3的时候会出现黑屏的现象,需要在Bios中使CPU的虚拟化enable,重启打开Virtualbox软件。效果如下:3. 选择内存大小,由于我的内存比较大,选择了3094mb内存4. 选择创建虚拟新的虚拟硬盘5. 选择VDI
2017-06-09 00:37:53
353
原创 JAVA登录模块
String sql = select * from user ResultSet rs = executeQuery(sql);While(rs.next()){String user = rs.getString(0);String pw = rs.getString(1);}if(user.equals("+user+")&&pw.equals("+p
2017-06-06 21:31:35
526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人