- 博客(35)
- 收藏
- 关注
原创 Sql Queries and Subqueries (10gR2)
About Queries and SubqueriesCreating Simple QueriesHierarchical QueriesThe UNION [ALL], INTERSECT, MINUS OperatorsSorting Query ResultsJoinsUsing SubqueriesUnnesting of Nes
2013-04-16 17:49:38 1254
原创 PIPE详解
以前一直觉得pipe是个非常简单的东西,简单到不必刻意花哪怕是一分钟时间去研究,今天遇到一个问题就栽在pipe上。问题背景大概如下:在安装oracle 11.2 的grid infra的时候,有一步需要运行一个脚本。可是这个脚本总是出错。 后来在网上查,解决办法如下,/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1这
2012-12-26 17:39:00 1487
原创 定位oracle的客户端进程
有时需要找到oracle在客户端对应的进程,这时分两种情况。情况一客户端不是通过connection pool等发起的连接。这时可以通过v$session这个视图查到客户端进程。如下所示,SQL> SELECT SID,SERIAL# ,USERNAME,OSUSER,PROCESS,MACHINE,PORT,SQL_ID FROM V$SESSION WHERE MACHINE='m
2012-12-18 15:25:58 1922
原创 Cache Fusion
Cache Fusion就是在两个rac的 data buffer之间同步数据的一种机制。 如果一个instance读取了一个数据块,这时另一个instance也要读取。 如果没有cache fusion,oracle需要怎么做呢?1. 首先要把第一个实例的数据块写入磁盘2. 第二个实例再去读取3. 如果第一个实例的数据块已经被改写了但没有提交,那还需要创建一个cr块,让第二个实例读取
2012-12-13 11:06:58 525
原创 LSIP 疑惑1
同一个参数 ’(+ 1 2) 为什么返回却不同?CL-USER> (print '(+ 1 2 ))(+ 1 2) (+ 1 2)CL-USER> (print (read))'(+ 1 2)'(+ 1 2) '(+ 1 2)
2012-10-11 10:37:53 5508
原创 oracle 在update row的时候是创建一个新row
http://www.itpub.net/forum.php?mod=viewthread&tid=1726892&page=1#pid20408455
2012-10-09 14:57:26 1516
原创 rac+stand by 清理archive log
手头有4台DB.1a 1b 组成rac12a 2b组成rac2两个rac组成stand by现在要往rac1里导入大量数据,rac2作为stand by。导入数据会产生大量的archive log用下面语句可以清理SYS@cngracs1 > select 'arch_' || MAX(RESETLOGS_ID) || '_' || THREAD# || '_' ||
2012-08-06 11:56:36 721
原创 RBCA
在UNIX系统中,root账号具有最高权限,有时某些管理员比如网络管理员会需要root的权限,那么这时它就需要知道root的密码,su到root来执行自己要执行的命令。但这样具有很大的安全隐患,因为他在su到root下后,所获得的权限远远大于自己需要的,他可以删除数据库中的内容,可以访问其他人的目录等等。RBAC (role based access control)可以很有效的解决这一问
2012-07-31 13:45:32 779
原创 ACL
ACL是什么ACL是对普通权限管理的扩展。普通的权限管理只针对owner,group,other。 但有的时候,需要给other用户中的某个人对文件具有更高的权限。这时候,你有两种方式来解决这个问题:1. 把该用户加入group组中(group组如果具有该权限的话)2. 把other的权限都加大可是这样就会产生新的问题。如果按照方法一,加入group,那么该用户不但可以对该文件具有
2012-07-30 10:55:57 780
原创 imp 和 exp的性能
每次接到,imp 和 exp数据的活都手忙脚乱的,经常超出预期时间也没完成,看来是应该好好研究一下这两个工具的性能问题了。 先看impimp提高imp性能有如下几个参数很重要1. commit 这个参数控制着提交。 设成commit=Y 后, imp进程会在导入了buffer_size大小的数据后 commit一次,如果设成n,则会在每个表导完提交一次。 所以,如果你的b
2012-07-25 10:28:28 813
原创 oracle 的flashback version query和logminer
有时候需要知道已经做过的DML的详细信息,比如说执行的语句,语句提交的时间点等,我们可以通过两种方式查询,logminer和version query。做了如下操作创建一个表SCOTT@DCSSS > create table test_logmnr (id number, val varchar2(10));Table
2012-06-19 17:02:35 613
原创 view 的 privilege
SQL> create or replace view splexadmin.v2 as select * from scott.emp;View created.SQL> grant select on splexadmin.v2 to u1;Grant succeeded.SQL> grant select on scott.emp to u1;Grant succ
2012-06-15 14:02:55 365
原创 oracle 内存三 data buffer
Data Buffer是什么Data Buffer是oracle的数据缓存。位于SGA中。当Oracle从硬盘上读取了一段应用数据后,会把这段数据存在Data Buffer中。因为Oracle认为如果一个数据被使用过,那么下次使用它的可能性会很大,所以放在缓存中,下次就可以直接从缓存中提取,不必去从硬盘中提取,因为计算机对内存的访问速度远远高于硬盘。Oracle在读取一个数据的时候默认的顺序也
2012-06-11 10:15:10 3991
原创 oracle 内存二 SGA
SGA概念SGA(System Global Area 系统全局区域)是一组包含一个Oracle实例的数据和控制信息的共享内存结构。这句话可以说是SGA的定义。虽然简单,但其中阐述了SGA几个很重要的特性:1、SGA的构成——数据和控制信息2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制);
2012-06-07 16:41:26 1156
原创 Oracle 内存一 手动内存管理,自动内存管理
oracle的内存分为两个部分。一个是SGA(system global area),一个是PGA(program global area)。所谓的内存管理,就是对这两部分区域进行管理。oracle的内存管理经理了如下发展:oracle 9i PGA自动管理,SGA手动管理oracle10g PGA自动管理,SGA自动管理oracle11g PGA,SGA统一自动管理先
2012-06-06 14:44:31 6173
原创 第二章
2.3 UDP的无连接特性体现在,一个 client可以通过一个socket发送数据报给不同的server。同时一个server可以用一个socket接受不同client发来的数据报。2.6 TCP 状态转换图这个图对理解netstat的输出非常有帮助。
2012-06-05 17:49:36 513
原创 netstat
看unix 网络编程第三版 第一个小收获netsat命令netstat -i 查看网络接口netstat -in 把主机名的部分用ip表示netstat -r 查看路由表netstat -rn 把主机名的部分用ip表示 -n参数的主要作用就是用数值表示字符值
2012-06-05 15:11:17 505
原创 sort 命令
经常会遇到这样的情况。某一台机器的某个目录满了,需要housekeep一下,于是你可能会用下面这样的命令find /opt -size +20000 -mtime -1 -type f -exec ls -lh {} \;而这样的命令的输出结果如下-rwxr-xr-x 5 root root 2.6K Oct 19 2004 /usr/src/kernels/2.6.9
2012-06-01 09:55:32 385
原创 第一篇LISP小程序
代码(defparameter *small* 1)(defparameter *big* 100)(defun guess-my-number() (ash (+ *small* *big*) -1))(defun smaller() (setf *big* (1- (guess-my-number))) (guess-my-number))(defun b
2012-05-31 17:50:13 1149
原创 ORACLE ACCOUNT LOCK REASON
经常会遇到db的account 被lock住了。原因一般是有人使用错误的密码去尝试登陆。但问题是如果数据库有一千个用户在登陆,你怎么知道是哪个用户使用了错误的密码呢,通过下面的步骤就可以找出来。1. 查看lock时间SQL> select ACCOUNT_STATUS,LOCK_DATE from dba_users where username='U1';ACCOUNT_ST
2012-05-31 15:24:37 1137
原创 ash 函数
看land of lisp的时候发现了这个函数。这个函数的作用如下CL-USER> (ash 8 -1)4CL-USER> (ash 8 1)16可见,它的作用就是把左边的参数转化成2进制形式,然后,右移一位或者左移一位。其实也就是除以2或者乘以2。 当然,如果你把右边的 -1 , 1 换成 2 的话,那么就是左移2位或者右移两位。(负数的情况下是右移)当时有个小疑问,我
2012-05-31 10:30:04 1025
原创 搭建自己的word press 博客
1. 购买一个linux 主机买的是一个美国的linux虚拟空间,50块钱左右一个月,先试试看。 2. 安装apache本来想从www.apache.org直接下载,然后传到我的主机上,但是发现没安装ftp软件。所以决定用wget来试试。第一次运行的命令如下,后面的URL是我从官网上找到的。wget http://httpd.apache.org/download.
2012-05-11 14:46:35 1618 1
原创 OBJECT_ID 和 DATA_OBJECT_ID 坑人的区别
今天遇到一个case,具体内容就是一个非常简单的语句,但是返回结果非常的慢。语句如下Select count(*) from OTSADMIN.QC_TS_EVENT where create_dt>=to_date('2012 APR 01','YYYY MON DD');分析了一下这个语句非常简单,可为什么这么慢呢,猜想也许是有wait,于是就10046 trace一下。
2012-05-07 16:57:58 538
原创 rsync
在本次实例中,主要有两台server,server A, 作为rsync 服务器。 server A 会发布一些目录,以便于 rsync client 可以接收这些目录。server B, 作为rsync客户端。 server B上只需要安装rsync即可,不需要做任何配置就可以把server A 发布的目录接受过来。下面看Server A的配置1. 安装 rsync2
2012-05-02 13:36:24 955
原创 2012-4-24 Tue
8:40 到公司8:40 9:30 新闻,早餐,准备9:30 10:00 case10:00 学习 oracle 100461. 如何获取 trace 文件的名字SQL> select sid,serial#,user#,username,paddr from v$session where username = 'CITOSADMIN'; SID
2012-04-24 10:55:08 284
原创 2012年4月16日 周一 join hint
LEADINGORDEREDUSE_NL and NO_USE_NLUSE_NL_WITH_INDEXUSE_MERGE and NO_USE_MERGEUSE_HASH and NO_USE_HASHNO_USE_HASHUSE_NL这个hint比较重要的一点是要知道,可以通过LEADING来指定哪个表为外表,哪个表
2012-04-16 17:15:42 315
原创 2012年4月10日 周二
8:30 到公司8:30 12:00 新闻13:00 13:30 case13:30 学习总结一下oracle的hint在调优中最常用的两种hint就是 access hint 和 join hint,先看一下access hintFULLCLUSTERHASHINDEX and NO_INDEXINDEX_ASC and IN
2012-04-10 13:49:00 544
原创 2012年4月5日 周四
9:00 到公司9:00 9:30 整理又起晚了一直在忙一个调优case,明日计划1.总结该case2.总结100调优3.总结hint
2012-04-09 09:30:02 277
原创 2012年4月1日 周日(相当周二)
9:00 到公司9:00 12:00 新闻1:00 1:30 整理blog接下来的工作计划:现在正好是1:30 争取4:00前搞定最近的oracle问题,然后看看c几个关于oracle的问题:1. segment结构http://www.itpub.net/forum.php?mod=viewthread&tid=1598133
2012-04-09 09:28:56 294
原创 2012年3月31日 周六(相当于周一)
9:00 到公司9:00 10:30 新闻又松懈了10:30 3:30 新闻.........5:00 6:00 学习SQL> create table tb (id number);Table created.SQL> insert into tb values(1);1 row created.SQL> commit;
2012-04-09 09:27:49 297
原创 2012年3月30日 周五
1:00 到公司1:00 1:30 整理上午请假,下午才来努力工作,不许分心--------------罗列了以下问题,等下一一攻破1.v$db_cache_advice中的ID=6到底代表哪个 data buffer2.v$bh的记录数为啥不等于data buffer的数据块数3.如何使用v$bh4.db_keep_cache_size的参数设置5.gr
2012-04-09 09:22:45 252
原创 2012年3月29日 周四 ORACLE 9i的SGA管理
8:30 到公司8:30 8:45 准备工作早起果然好8:45 2:30 case遇到了一个修改oracle内存shared pool的case,查询了一下,总结如下:在9i中。sga 一般还是手动管理的。也就是说,设置一个SGA_MAX_SIZE,然后在该范围之内,可以动态的修改shared_pool_size等值。 要想修改SGA_MAX_SIZE
2012-04-09 09:19:12 429
原创 2012年3月28日 周三 v$lock
9:00 到公司9:00 9:30 整理准备不能晚睡啊9:30 4:00 case4:00 6:30 oracleV$LOCK中的记录不是每一条代表一个锁。比如一个transaction获得了10个row lock,但是在v$lock中只会体现一条记录。这里涉及到一个QUEUE的概念。当oracle的一个transaction在获取一个锁被阻塞的时候,他会把
2012-04-09 09:18:29 294
原创 2012年3月27日 周二
8:40 到公司8:40 9:10 早餐,新闻,准备9:10 10:50 case10:50 12:00 case1:00 1:30 case1:30 6:30 case今天几乎一直在解决一个case。 case现象是一个weblogic domain在用WLST 去deploy web application的时候,应用只卡在new的状态不前进。但是手动从con
2012-04-09 09:17:39 576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人