随笔分类 - 数据库
摘要:今天遇到了一个问题,需要对比一个字段和5的大小,大于5的输出0,小于五的输出1。如果是用PLSQL编程的话可以用if/else这种逻辑进行判断,但是在SQL里可不能这么写,经过网友推荐,我组合使用了sign和decode,效果很好,代码小清新。 代码如下: DECODE(SIGN(TRUNC(COL
阅读全文
摘要:今天群里有人问关于数据库进程的事情,当然,他对oracle的后台进程不是很熟悉。当时我举了个例子,是关于LGWR,但是由于我学艺不精,当时只想起来了这个进程会被commit激发,实在是贻笑大方。回来以后查了一下书,于是记录在此,也算是和大家的分享吧。 LGWR被触发的情况: 1 commit。在提交
阅读全文
摘要:安装oracle时还需要修改的几个文件和参数: /etc/security/limits.conf nproc:可以开启的进程数量 nofile:可以开启的文件数量 /etc/pam.d/login,改成这样: #Add for Install Oracle Database 11g session
阅读全文
摘要:有这么一道题,是关于在实例启动的时候,哪些文件在某个阶段是不是可以改动的,我觉得这个题是一个很基础的题,对于理解oracle有很大的帮助。于是我就查了一下相关资料,分享一下,适合初学者看。 1 shutdown-->nomount: 读取参数文件,根据参数文件的记录,配置SGA,启动后台进程。这个阶
阅读全文
摘要:字典管理: 字典管理使用数据字典中的两个表:FET$(可用扩展区块)和UET$(使用中的扩展区块)。 每当新建一个段或者当前段需要增加空间时,字典管理的步骤如下: 1 搜索FET$,确定是否有可用的扩展区块 2 修改FET$中的相关记录。有则delete,没有,如果能找到一块更大的,就update。
阅读全文
摘要:1 create database link dblink_TEST 2 connect to wings identified by wings 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST
阅读全文
摘要:控制文件是非常重要的文件,实例读取控制文件才能到mount状态。DBA的一个原则就是多路控制文件,今天我就做了个实验,学习了一下这个。 代码如下: alter system set control_files='D:\app\wings\oradata\testdb\CONTROL03.CTL','
阅读全文
摘要:服务器接收到SQL语句之后,要经过如下步骤完成操作:Parse(解析)—> Bind(绑定)—> Execute(执行)。 画个流程图比较明显的表示了这些过程: 下面说明执行的具体细节: 1 Select(查询) 2 INSERT/DELETE/UPDATE 这些都是对数据进行修改的语句,画个流程图
阅读全文
摘要:1 关于undo 数据库可以有一个以上的undo表空间; undo段可以自动增长,按需shrink 2 关于Oracle Data Dump export和import import操作同时可以更改表名; 可以在export操作期间重写一个存在的dumpfile。 3 关于无效索引 会被优化器忽略;
阅读全文
摘要:学习一下这个有意思的东西。 绑定变量能够有效的降低硬解析。这里需要查询几个视图:v$mystat,v$statname,v$sqlarea。 先查一下现在系统存在的解析数: select name, value from v$mystat a, v$statname b where a.STATIS
阅读全文
摘要:继续昨天的问题。我曾经面对一个工作,要把一张很大的表中,3个月前的数据删掉,转储到历史表中。这将是一个很大的工程,需要在一周内完成,而且只能在夜里进行工作。这就需要考虑到性能问题了,考虑到网上很多人说nologging会很快,我就做个试验,比较一下效率。 实验环境:windows7 x64。orac
阅读全文
摘要:要辞职了,总是无比轻松,于是今天闲着做了做1z0-042的题库,其中有一个关于truncate的,正确答案是truncate可以产生很少的redo,实践出真实,我做个试验验证一下。 step1 建表 1 create table test as select * from dba_objects;
阅读全文
摘要:在linux下安装Oralce的时候,最后会让你以root的身份执行两个脚本,以前都不知道是干什么的,反正就执行了,最近读了一本书,才知道原来是这样: orainstRoot.sh:设置产品目录位置与拥有该目录的操作系统组,并产生/etc/oraInst.loc。 root.sh:用来设置必要的操作
阅读全文
摘要:我在从研究所跳槽以前,撰写了一份Oracle安装手册,详细介绍了Linux下安装oracle的步骤,但是很遗憾,我没有搞懂系统内核参数的原理,今天,我终于懂了,分享到网上,希望更多的人能查到: 这个图上的东西是我一点一点打出来的笔记,希望对大家有帮助。 只需要在sysctl.conf中更改相关的参数
阅读全文
摘要:/*该脚本可以生成SQL,将SQL粘出来,就可以执行了*/ --转移普通表的表空间select 'alter table ' || t1.table_name || ' move tablespace NEW_TBS;' from user_all_tables t1 where t1.tables
阅读全文
摘要:数据库备份的前提是数据库在归档模式下跑,归档模式。下面是归档的设置: 1 查看归档模式: SQL>archive log list; 2 更改数据库到归档模式: SQL>shutdown immediate; SQL>startup mount; SQL>alter database archive
阅读全文
摘要:create or replace procedure drop_all as cursor cur_obj is select uo.OBJECT_NAME, uo.OBJECT_TYPE from user_objects uo where uo.OBJECT_NAME not in ('DRO
阅读全文
摘要:declare cursor cur_ind is select ui.index_name from user_indexes ui; ind_name user_indexes.index_name%type; v_name index_stats.name%type; v_height ind
阅读全文
摘要:有一天我遇到了一个同事的求助,他让我帮忙优化一个SQL,这个SQL执行时间很长。于是我查询了执行计划,发现这个SQL竟然要进行一次全表扫描。当时我查看了表的定义,发现在where子句中的条件列上是建了索引的,那为什么执行计划会显示全表扫描呢。这个问题困扰了我很长时间,于是后来我又看了看表的定义,发现
阅读全文
摘要:今天群里有朋友问什么是instance,什么是database。于是群友七嘴八舌的说了很多很理论很理论的东西,这些东西网上很多,如果提问者能看懂的话也就不问我们了。很显然,提问者刚刚接触oracle,这个问题是困扰oracle新丁的一个常见问题。 我举个通俗易懂的例子,虽然不是很恰当,但是对于初学者
阅读全文

浙公网安备 33010602011771号