BB昨天终于自己摇摇晃晃的走了很长的路了
昨天去完超市回来,吃完午饭,BB好像坐不住了,刚好她哥哥进来(其实是她叔叔,都二十多了,非要让我BB叫他叔叔,我也就免为其难的让她叫),然后出去,她就摇摇晃晃的跟着出去了,我看着大吃了一惊,我就悄悄的走在她后面,她就一直走到她哥哥屋里,嘴里还大叫着,很兴奋,把我给乐的不行了!然后又出来走,嘴里哇哇叫着,让我高兴的不得了!但是现在宝宝能自己走了,家里地面就不能弄的太湿了,所有电器开关,插板都要放好,要时刻盯着她,别走眼了![@more@]
ora-3136问题的解决
昨天一个朋友给我讲他的DB一直报ora-3136,带来的后果就是客户不能登陆,发现他安装了10g 10.2.0.1 for linux,没有用连接池,连接数也不是很多,process是200,并没有报连接溢出错误,但进程数一直在200以上,查metalink:*Note: 345197.1 1. set INBOUND_CONNECT_TIMEOUT_<listener name> = 0 in listener.ora2. set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 in sqlnet.ora of server.3. stop and start both listener and data base.4. Re-run the Workflow Configuration Assistant看了一下,因为是10g,在network/admin/目录下什么
case语句的一个用法
select a, case when a < 100 then 'D' when a < 600 then 'C' when a < 1000 then 'B' else 'A' end from test; A CASEWHENA<100THEN'D'WHENA<600T--------------------------------------- ------------------------------ 1 D 101 C 1301 A 501 C 67 D
安装nagios时出现libcrypto.so.0.9.8找不到
/usr/local/nagios/nrpe/nrpe -c /usr/local/nagios/nrpe/nrpe.cfg -dld.so.1: nrpe: fatal: libcrypto.so.0.9.8: open failed: No such file or directory但是我已经安装了ssl,这个so文件在/usr/local/ssl/lib下面后来发现需要把这个路径加到LD_LIBRARY_PATH下(/etc/profile)LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib然后启动nagios能正常启动!![@more@]
solaris下的gcc安装
1 查看sun os版本uname -a的命令查看系统版本。得知是SunOS 5.8。SunOS 5.8 叫做Solaris 8SunOS 5.9 叫做Solaris 9,以后就没有5.x的说法了,到Solaris 10了。。。2 安装gcc1. 到www.sunfreeware.com下载gcc-3.4.6-sol8-sparc-local.gz2. gunzip gcc-3.4.6-sol8-sparc-local.gz3. pkgadd –d gunzip gcc-3.4.6-sol8-sparc-local4. 手工设置root环境变量,添加PATH 、LD_LIBRARY_PATexport PATH=$PATH: /usr/local/binexport LD_LIBRARY_PATH=$ LD_LIBRARY_PATH: /usr/local/lib完毕后发现gcc -v报错:ld.so.
编译c程序时找不到libmysqlclient.so.10的解决办法
以前安装mysql5都没出现问题,今天安装mysql3.23 client,c程序编译的时候出现了这个问题:'libmysqlclient.so.10: cannot open shared object file: No such file or directory'这个是找不到这个libmysqlclient.so.10,我看了一下/usr/lib下的确没有这个,原来3.23和5不一样,在/usr/lib下还有个mysql的目录,这下面有这个libmysqlclient.so.10,然后将它拷贝到/usr/lib下,问题解决!![@more@]
同一台机器上安装了10g和11g对于listener的配置
由于资源有限我在同一台机器的2个不同的用户下安装了oracle10和oracle11(oracle用户安装的10g,daizy用户安装了oracle11g),但是发现原来的oracle10可以远程连接,而oracle11g确不能连接,后修改了listener.ora,结果2个都能连接oracle10cat listener.ora LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oratest)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /home/oracle/OraHome_1) (PROGRAM = extp
alert log文件的变化
alert log文件的变化现在由DIAGNOSTIC_DEST这个参数控制ADR BASE 的位置如果没有设定这个初始化参数的位置,而设置 ORACLE_BASE 环境变量的话,那么,如果没有设定 ORACLE_BASE , 则 ORACLE_HOME/log 即为 DIAGNOSTIC_DEST。Alert Log 文件父目录的位置在:ADR_BASE/diag/product_type}/product_id/instance_id这个目录下有 alert/trace/bdump 之类的子目录。就是 Log 的具体位置了文本文件的目录:select value from v$diag_info where name ='Diag Trace';xml文件的目录:select value from v$diag_info where name ='Diag Alert';[@more@]
启动实例hang的一例的诊断
启动实例hang的一例的诊断数据库被人无意断开电源。1、启动数据库时HANG住:ALERT日志停在以下的行。RECO started with pid=7CJQ0 started with pid=8QMN0 started with pid=9Sun May 27 11:22:28 2007starting up 1 shared server(s) ...starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...Sun May 27 11:22:28 2007ALTER DATABASE MOUNTSun May 27 11:22:35 2007Successful mount of redo thread 1, with mount id 2423313207.Sun May 27 11:22:35 2007Database mounted in Exclusive Mode.Co
rac turning
rac turning工作中,一直在使用RAC环境的数据库,当然我是以9i见多.对于RAC的一些性能的调整,一直是一个比较大的问题.这里将部分自己的经验以及来自其他参考的文献写下这样的笔记.以方便自己,也方便别人.我们知道,在RAC环境中,实例间是通过内联方式来相互传递信息的,如果期间出现问题,可能会造成数据库性能严重下降,这里主要针对部分情况给出一些解决的方案。9iRAC中通过cache funsion来减少由于ping block时所产生的磁盘竞争,但都需要通过访问远程实例来写。相反,一个RAC副本dirty 从buffer中通过cf同步到远程实例中进行写入。这个功
闹洞房秘笈
游戏一:集体热身——摸奖 各位来宾各取一粒喜糖,在糖纸上写下自己的大名,然后投入新娘的衣领里。当所有的“抽奖券”都投入“抽奖箱”后,新郎出马,从新娘衣领里伸进去,一次摸一粒糖。中奖者担任当晚主持人。如果被摸中的人缺乏主持天赋,自行退出者,需交纳10元钱,算是给新郎今天晚上的辛苦费,新郎接着摸奖。 游戏二:点烟 所有男宾站在桌子上,让新郎高举新娘,给所有人口中的烟点火。由于大家都故意不肯老老实实让新娘点烟,所以很难点。而此时新郎也累得两鬓流汗,眼看胳膊酸得顶不住了。于是底下旁观的朋友们,尤其
脚本在crontab里没有运行的解决办法之一
今天发现昨天写的这个mysql统计脚本没执行,脚本大致如下:mysql </tmp/login.sql这个手工执行是没有问题的,但为什么没有在crontab里执行呢,开始我以为crontab没有运行,但是我验证了crontab运行了,我在这个脚本前加上date>/home/tt.log发现/home/tt.log出现了,并有相应的日期,说明cron是运行了的,后发现在这个里面要加上myql的全路径:/usr/local/mysql/bin/mysql </tmp/login.sql这样就可以了就起原因是在crontab里面找不到mysql这个可执行文件但是我在/etc/profile里面的PATH加了这个路径的呀,为什么cron还不认呢?这是个问题![@
又一个不能走索引的情况
又发现一个不走索引的语句,一个长的sql条件很简单type=4但是开发人员在写的时候没有看这个type在表里的类型是char(1),结果该语句在sp报表的SQL ordered by Reads里就有所表现: CPU Elapsd Old Physical Reads Executions Reads per Exec %Total Time (s) Time (s) Hash Value--------------- ------------ -------------- ------ -------- --------- ---------- 1,308,056 7 186,865.1 91.5 190.04 1222.70 1623835478让开发改为type='4'就好
outln下的ol$nodes有6百多万数据
http://www.itpub.net/showthread.php?s=&threadid=881497处理如下:前几天sp报表出现了:"db file scattered read " 15,129,548 37,247 45.83所占比例很高,并且buffer hit不到50%,很奇怪,我的Buffer Cache: 2,560M应该不会出现这个问题我找到orderd by gets,发现第一句就是: CPU Elapsd Old Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value--------------- ------------ --------------
Analyze分析表或者索引
Analyze分析表或者索引demo:--62254 SELECT dt.table_name, dt.num_rows, dt.blocks, dt.empty_blocks AS empty, dt.avg_space, dt.chain_cnt, dt.avg_row_len, TO_CHAR( dt.LAST_ANALYZED, 'MM/DD/YYYY HH24:MI:SS' ) FROM dba_tables dt WHERE dt.owner = 'INV' AND dt.table_name = 'MTL_MATERIAL_TRANSACTIONS'; DECLARE v_num_rows NUMBER; v_num_blocks NUMBER; v_avg_row_len NUMBER; BEGIN -- retrieve the values of table statistics on INV.MTL_MATERIAL_TRANSACTIONS -- statis
sqlplus下的命令
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a90842/ch13.htm#1012209[@more@]
用prebuild mv 方法迁移数据
/*用prebuild mv 方法迁移数据原理:用perbuild方法建立的物化视图,在drop物化视图时,不会把其对应的基表删除。好处:主要是利用物化视图增量刷新的方法减小down机时间。*/--步骤--1 在目的数据库端建立DB LINKcreate database link test_tag_groupconnect to test_tag_group identified by test_tag_groupusing '201';--2 在源数据库端建立物化视图日志,用于物化视图快速刷新SQL> create materialized view log on prebuild_table;Materialized view log created--3 在目标数据库端建立与源库一样的表结构的空表SQL> create tab
kill -9 杀掉oracle所有进程却不能启动和连接数据库的解决办法!
通过sqlplus "/as sysdba"登录信息我们可以知道,sqlplus认为oracle数据库并没有关闭。oracle的进程都不存在了,但sqlplus为什么认为oracle没有关闭呢?它是根据什么来判断的?4、查看此时的共享内存段情况[oracle@rep ~]$ ipcs -as------ Shared Memory Segments --------key shmid owner perms bytes nattch status 0x91c11414 491531 oracle 640 142606336 10 ------ Semaphore Arrays --------key semid owner perms nsems 0xeddca300 360448 oracle 640 154 ------ Message Queues --------key msqid owner perms used-byt
执行计划出现BITMAP CONVERSION TO ROWIDS的解释!
我在查看执行计划的时候发现BITMAP CONVERSION TO ROWIDS,好像sql反应比较慢,baidu了一下,有下面的解释!我的解决办法是: 把索引删除,建立了联合索引,就没出现这个问题了,一致性获取也下降了很多,速度也快了不少!不知道oracle用这个来究竟是有什么用!http://www.itpub.net/showthread.php?s=&threadid=602866&perpage=10&pagenumber=1都是cbo的context和算法决定的,可以试试false _b_tree_bitmap_plans,我说错了这个不应该是join是combine 给一段Jonathan Lewis的解释:B-tree to Bitmap ConversionsOne of the optimizer’s
Oracle穿越防火墙设置
方法一:在windows2000的注册表中,hkey_local_machinesoftwareoraclehome0下加入字符串值:USE_SHARED_SOCKET=TRUE,即可方法二:1、首先将数据库实例改为SHARED SERVER模式2、以SYSDBA登录SQLPLUS,通过SQLPLUS生成系统当前的参数设置文件pfile:create pfile='d:init.ora' from spfile;3、修改d:init.ora文件,在其中增加(用editplus编辑):*.service_names='your service name'和*.dispatchers='(address=(protocol=tcp)(host=localhost)(port=1521) (dispatchers=1)'4、生成新的SPFILE:create spfile from pfile='d:init.ora';5、