随笔分类 -  Oracle

摘要:有的时候会需要写一段insert的sql,如果主键存在,则update;如果主键不存在,则insert。Mysql中提供了这样的用法: 。下面就看看它是如何使用的吧! 首先数据库的原始数据如下: 此时如果执行下面的sql就会报错 报错信息如下,提示无法重复插入: 这时,就可以使用 ,它的意思是先执行 阅读全文
posted @ 2017-05-10 19:04 xingoo 阅读(50832) 评论(0) 推荐(1) 编辑
摘要:有的时候会需要写一段insert的sql,如果主键存在,则update;如果主键不存在,则insert。Mysql中提供了这样的用法: 。下面就看看它是如何使用的吧! 首先数据库的原始数据如下: 此时如果执行下面的sql就会报错 报错信息如下,提示无法重复插入: 这时,就可以使用 ,它的意思是先执行 阅读全文
posted @ 2017-05-10 19:03 xingoo 阅读(1079) 评论(0) 推荐(0) 编辑
摘要:![](http://images2015.cnblogs.com/blog/449064/201611/449064-20161120015824310-1455941712.png) 阅读全文
posted @ 2016-11-20 01:59 xingoo 阅读(1487) 评论(3) 推荐(2) 编辑
摘要:Oracle的分页还真是挺恶心地,不像mysql直接Limit就搞定 Oracle需要借助rownum实现: 如果要增加排序,可以引入order by 阅读全文
posted @ 2016-10-17 19:07 xingoo 阅读(2557) 评论(0) 推荐(0) 编辑
摘要:日期操作 日期处理 常用的日期操作 sql 得到当前的日期 select sysdate from dual; 得到当天凌晨0点0分0秒的日期 select trunc(sysdate) from dual; 得到当天的最后一秒 x年x月x日 23:59:59 select trunc(sysdat 阅读全文
posted @ 2016-10-11 18:08 xingoo 阅读(1147) 评论(0) 推荐(2) 编辑
摘要:存储过程是保存可以接受或返回用户提供参数的SQL语句集合。在日常的使用中,经常会遇到复杂的业务逻辑和对数据库的操作,使用存储过程可以进行封装。可以在数据库中定义子程序,然后把子程序存储在数据库服务器,之后通过名称调用。 特点 1 提高性能 存储过程是预先编译过,进行优化后,存储在SQL的内存中,使用 阅读全文
posted @ 2016-09-10 11:20 xingoo 阅读(1315) 评论(1) 推荐(1) 编辑
摘要:Oracle通过Redo Archived实现数据的归档 什么是Redo日志 Redo日志记录了数据的变更,用于在数据库出现故障后,进行数据恢复。 功能主要由三个组件实现:Redo Log Buffer、LGWR后台进程、Redo Log File。 Redo Log Buffer是Oracle共享 阅读全文
posted @ 2016-07-11 21:17 xingoo 阅读(4963) 评论(0) 推荐(0) 编辑
摘要:windows下Oracle必须要启动的服务 Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如磁盘,阵列等)创建高保真的时间点映像,即映射拷贝(shadow copy) 阅读全文
posted @ 2016-07-10 22:00 xingoo 阅读(476) 评论(0) 推荐(0) 编辑
摘要:前提 注意首先要以SYSDBA的角色登录。 在一些开发工具上,可以选择登录角色。 如果是命令行,则需要带上 创建用户流程 创建oracle用户可以使用sql developer工具,该工具可以在官网下载;也可以直接使用命令创建。 步骤大致为: 1 创建用户名密码 2 分配权限,这里如果没什么其他的问 阅读全文
posted @ 2016-02-19 17:42 xingoo 阅读(488) 评论(0) 推荐(0) 编辑
摘要:普通堆表不足之处:表更新有日志开销 表删除有瑕疵 表记录太大检索较慢 索引回表读开销很大 有序插入难有序读出DELETE产生的undo最多,redo也最多,因为undo也需要redo保护全局临时表:1 高效删除记录 基于事务的全局临时表commit或者session连接退出后,自动删除 ... 阅读全文
posted @ 2014-09-17 21:21 xingoo 阅读(2868) 评论(2) 推荐(0) 编辑
摘要:Inventory Oracle安装工具OUI用来管理Oracle安装目录的Oracle的参数文件,启动后按照下面的顺序读取参数文件,如果读取失败,启动数据库 失败:1 $ORACLE_HOME/dbs/SPFILE.ORA2 $ORACLE_HOME/dbs/spfile.ora3 $ORACLE... 阅读全文
posted @ 2014-09-17 21:14 xingoo 阅读(1302) 评论(2) 推荐(0) 编辑
摘要:1、CHAR。 CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim()。2、VARCHAR。 存储变长数据,但存储效率没有CHAR高。... 阅读全文
posted @ 2014-09-17 21:04 xingoo 阅读(6854) 评论(0) 推荐(0) 编辑
摘要:如果你的服务器换了ip怎么办? 如果你的服务器换了名字怎么办? 以前的小伙伴怎么办? 以前的老客户怎么办? 没关系,简单教你修改监听地址,老朋友随便找! 想要修改监听地址首先要找到两个文件,确定两样东西! 第一 你的主机名字? 第二 你的IP地址? 第三 你的listener.o... 阅读全文
posted @ 2014-08-06 21:34 xingoo 阅读(21875) 评论(0) 推荐(0) 编辑
摘要:Oracle启动监听报错,提示 连接中断[oracle@localhost ~]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-2014 20:02:16Copyright (c) 1991, 2... 阅读全文
posted @ 2014-08-06 20:37 xingoo 阅读(27931) 评论(1) 推荐(0) 编辑
摘要:启动监听器无法打开,报错! 1 [oracle@localhost ~]$ lsnrctl start 2 3 LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-2014 19:40:52 4 5 Copyright (c)... 阅读全文
posted @ 2014-08-06 20:31 xingoo 阅读(11562) 评论(0) 推荐(0) 编辑
摘要:目 录一、硬件要求二、软件三、系统安装注意四、安装Oracle前的系统准备工作五、安装Oracle,并进行相关设置六、升级Oracle到patchset 10.2.0.4七、使用rlwrap调用sqlplus中历史命令一、硬件要求1、内存 & swapMinimum: 1 GB of RAMReco... 阅读全文
posted @ 2014-08-04 23:15 xingoo 阅读(8449) 评论(0) 推荐(0) 编辑
摘要:硬解析:执行SQL时,SQL已经不再共享池中,会产生硬解析。首先分配共享池空间,创建父游标,创建子游标软软解析:父游标存在,子游标也存在软解析:父游标存在,子游标不可共享游标共享技术ACS游标不会马上关闭,会先放在游标缓存中,等待回话完成后,在关闭OPEN_CURSORS会话打开的游标数量SESSION_CACHED_CURSORS回话缓冲,主要功能:将会话中的常用的SQL放入UGA中的会话缓冲区中,以便下次调用CURSOR_SPACE_FOR_TIME 当父游标被打开的时候,所有子游标及其相关联的对象全部被锁住,从而确保游标相关的信息都是一致的 阅读全文
posted @ 2014-01-15 13:16 xingoo 阅读(286) 评论(0) 推荐(0) 编辑
摘要:SGA包括:1 数据结构部分 fixed size2 数据块缓冲区 database buffers3 redo log缓冲区 redo buffers4 共享池 variable size永久使用的共享内存:进程信息数据、会话信息数据、特殊用途的内存段随着共享池碎片化加剧:产生ORA-4031错误1 加大初始的分配值2 每次扩展一个组共享池内部结构:1 PERMANENT2 FREEABLE3 RECERATEABLE4 FREEABLE WITH MARK通过内部视图 X$KSMSP监控共享池碎片的情况较大的共享池会带来一定的系统开销共享池闩锁竞争也会增加定期刷新共享池会有助于保持共享池性 阅读全文
posted @ 2014-01-14 14:47 xingoo 阅读(558) 评论(0) 推荐(0) 编辑
摘要:1 DB Cache 是以bock为单位组织的缓冲区,不同大小的BLOCK对应不同的缓冲区参数2 DB Cache的命中率越高,访问性能就越好3 Cache中的数据块通过散列算法实现4 每个链上的buffers数量,最佳的情况是每个链上只有一个buffer5 DBWR进程控制脏数据写入6 在DB Cache,同一个数据块中可能存在多个版本的数据7 大表的扫描,热块冲突都可能导致闩锁的争用引入tch计数器,避免LRU链上频繁移动LRU链上搜索达到最大深、LRU-W上没有足够的clean buffers都会触发标记位,使得DBWR进程讲脏数据写入磁盘几个重要的数据链:1 LRU list普通的LR 阅读全文
posted @ 2014-01-13 12:47 xingoo 阅读(1065) 评论(0) 推荐(0) 编辑
摘要:Inventory Oracle安装工具OUI用来管理Oracle安装目录的Oracle的参数文件,启动后按照下面的顺序读取参数文件,如果读取失败,启动数据库 失败:1 $ORACLE_HOME/dbs/SPFILE.ORA2 $ORACLE_HOME/dbs/spfile.ora3 $ORACLE_HOME/dbs/init.ora数据库的nomount阶段:读取参数文件,分配共享内存和启动进程Mount阶段:读取控制文件,进行校验oracle的控制文件包括:1 数据库的物理结构2 数据文件3 REDO LOG在线日志文件:解决了数据库实例突然宕机或服务器宕机的系统恢复问题后台进程:1 DB 阅读全文
posted @ 2014-01-12 13:20 xingoo 阅读(432) 评论(0) 推荐(0) 编辑