一个优化过程
一次调整优化过程总结 平台:windows 2000 server sp3数据库:Oracle 9.0.1.1.11. 在高峰时段,系统高负载的情况下用statspack一个小时做一次系统的快照。对statspack产生的报告注意其中的Top 5 Wait Events。具体可以参考eygle写的statspace使用指南。本例的等待事件主要是db file scattered read、buffer busy waits和db file sequential read。2. 对于db file scattered read主要是由于全表扫描造成的,db file sequential read说明当前系统负载很高或者cbo使用了不合适的索引。通过定时(2天一次在晚上12点执行dbms_stats.gather_sche
sqlldr的例子
sqlldr userid=lgone/tiger control=a.ctl LOAD DATA INFILE 't.dat' // 要导入的文件 // INFILE 'tt.date' // 导入多个文件 // INFILE * // 要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容 INTO TABLE table_name // 指定装入的表 BADFILE 'c:ad.txt' // 指定坏文件地址 ************* 以下是4种装入表的方式 APPEND // 原先的表有数据 就加在后面 // INSERT // 装载空表 如果原先的表有数据 sqlloader会停止 默认值 // REPLACE // 原先的表有数据 原先的数据会全部删除 // TRUNCATE // 指定的内容和replace的相同 会
exp不能备份的问题
With the Partitioning, OLAP and Data Mining optionsExport done in UTF8 character set and UTF8 NCHAR character set. exporting pre-schema procedural objects and actions. exporting foreign function library names for user ORCL . exporting PUBLIC type synonyms. exporting private type synonyms. exporting object type definitions for user ORCL About to export ORCL's objects .... exporting database links. exporting sequence numbers. exporting cluster definitionsEXP-00056: ORACLE error 4021 encounteredORA
solaris里获取前一天的日期
1. If you are using GNU date, just do : filename = 'date +%m' +1002. For POSIX date, it's a bit complex, you should try:2.1 Write a simple C programm to archive this, just one function call can solve this.2.2 Write a perl script file to caculate the assigned date.#!/usr/local/bin/perl -w@t=localtime(time-N*24*3600);# N states for how many days you want to count behind.print("%04s%02s%02s%02s",$t[5]+1900,$t[4]+1,$t[3],$t[2]);#END2.3 It's rather complex to realize this by sole shell scri
job都停了的解决办法
今天查询一个运营库的user_jobs,发现job都停止了,未执行,修改了一些这个参数,job又可以执行了!SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 0; 等2~3分钟,重新设置SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 5; 此时PMON会重起CJQ0进程ref: http://www.eygle.com/archives/2004/11/job_can_not_execute_auto.html但是uptime看1:38pm up 361 day(s)这个服务器启动才361天,未到eygle说的497天,但是job进程却挺了,有点奇怪呀![@more@]
SOLARIS磁盘镜象(RAID1)
http://blog.chinaunix.net/u/27493/showart_243308.html prtvtoc /dev/rdsk/c1t0d0s2 | fmthard -s - /dev/rdsk/c1t1d0s2将磁盘2的分区和磁盘1一样![@more@]
linux软RAID的创建和维护
linux软RAID的创建和维护http://www.xxlinux.com/linux/article/accidence/install/20070712/9010.html今天看了这个软raid,虽然没有硬raid好,但也挺不错![@more@]
T3阵列磁盘坏了的更换方式
SUN T3陈列硬盘坏了如何更换 A:1、准备好新硬盘,必需跟以前阵列的硬盘相同型号(尤其是容量、转速) 2、用串口线连接到阵列(通过超级终端),连接时可能会叫您输用户名密码 3、查看阵列状态 proc list (查看当前进程状况) fru stat (查看各部件运行状况,您的2号盘的状况可能是substituted状态,如果proc list查看有进程运行除外) 4、取出坏盘,插入新盘,等约60秒,阵列自动会同步数据。proc list 可以看到同步已完成了多少,全部同步完成约几小时(146G大约4-5小时) 5、同步完后查看状态执行 fru stat (fru list)命令[@more@]
raw设备rman恢复的文件名问题
如果是raw设备,想恢复到另外一台的文件系统里面,需要set newname来指定文件,但是需要知道文件号RMAN> run2> {allocate auxiliary channel d1 type disk;3> set newname for datafile 1 to 'F:CLONEdataSYSTEM01.DBF';4> set newname for datafile 2 to 'F:CLONEdataUNDOTBS01.DBF';5> set newname for datafile 3 to 'F:CLONEdataCWMLITE01.DBF';6> set newname for datafile 4 to 'F:CLONEdataDRSYS01.DBF';7> set newname for datafile 5 to 'F:CLONEdataEXAMPLE01.DBF';8> set newname for datafile 6 to 'F:C
Solaris中的路由和网关文件简介
由于对solaris的网络这块不太了解,总是登不上去,结果检查发现安装的时候没有加路由,不能连上,在/etc/defaulrouter加上路由ip就可以了/etc/defaulrouter文件配置缺省网关,防止不必要的路由进程,适用于只有一个路由器通向其它网段,单一路由占用较小的路由表资源该文件保存了缺省路由得信息。系统安装时并没有该文件,是用户自己创建的。文件内容是缺省路由的地址。 #cat /etc/defaultrouter172.16.255.254优点:占用资源少,只有一条路由条目。/etc/gateways文件路由表文件 net gateway metricdest. net 目标网段router 下一跳路由器的地址
vnc在solaris的安装
今天想用xmanager来远程连接solaris,但是经过多种尝试都让"try again",没办法,只好放弃了,转而安装vnc,参考了http://www.eygle.com/archives/2005/07/ousolarisieavnc.html ,结果一次就成功了!!http://lifelongblog.org/archives/483 这是vnc在aix下的安装,有机会试一把![@more@]
oracle10g在solaris的自启动
cat /etc/init.d/oracle10g#!/bin/shcase "$1" instart)# start tsnlisnterecho "start tsnlisnter"su - oracle -c "lsnrctl start"# start databaseecho "Start Oracle database instance"su - oracle -c "sqlplus /nolog @/oracle/product/10.2.0/rdbms/admin/dbstart"#CONN / AS SYSDBA#startup#exit "|sqlplus /NOLOG"# start enterprise managerecho " Start Emterprise Manager"su - oracle -c "emctl start dbconsole"# start isqlplusecho &quo
oracle静默打patch到10.2.0.3
./runInstaller -silent -responseFile /export/home/oracle/patchset.rsp主要修改patchset.rsp里的这几项就可以了!UNIX_GROUP_NAME=dbaFROM_LOCATION="/export/home/oracle/patch/Disk1/stage/products.xml"NEXT_SESSION_RESPONSE="/tmp/patchset.rsp"TOPLEVEL_COMPONENT={"oracle.patchset.db","10.2.0.3.0"}[@more@]
Solaris IPMP 配置
IPMP(IPNetwork Multipathing)是Solaris产品中的一个主要特性,其目的在于:一、增加网络的吞吐量,可方便快捷的将几个网络接口绑定在一起使用,从而起到增加带宽的作用。二、实现网络接口的有效性,通过IPMP,可以做到网络接口的冗余使用,即使宕掉一块网卡,其他的网卡均能有效运行,并且坏掉的网卡上的业务IP不会丢失,将平滑转移到其他网卡上。配置方法:1、配置/etc/hosts## Internet host table#127.0.0.1 localhost 10.4.128.226 s10 loghost # Primary Interface Address#Modifications made for IPMP10.4.128.228 s102
vmware下solaris 10网卡不能正常配置的解决办法
vmware下solaris 10网卡不能正常配置的解决办法 Host操作系统使用Debian Sid,内核版本2.6.16,uname -a结果如下:Linux blueice 2.6.16-1-k7 #2 Mon Apr 10 22:31:07 UTC 2006 i686 GNU/Linuxvmware版本是vmware server e.x.p build-22874,建立虚拟机时选择操作系统为Solaris 10(experimental),安装完成后网络无法使用,ifconfig -a也之能看到lo。在虚拟机的配置文件后添加如下行:Ethernet0.virtualDev = "e1000"并将/etc/hostname.pcn0改名为/etc/hostname.e1000g0重新启动机器后可以正确识别网卡,ifconfig -a输出如下:lo0
oracle静默安装raw设备
$ORACLE_HOME/bin/dbca -silent -cloneTemplate -storageType RAW -responseFile /tmp/dbca.rspcat test_raw.confsystem=/dev/md/rdsk/d501sysaux=/dev/md/rdsk/d502users=/dev/md/rdsk/d505temp=/dev/md/rdsk/d504undotbs1=/dev/md/rdsk/d503redo1_1=/dev/md/rdsk/d510redo1_2=/dev/md/rdsk/d511redo1_3=/dev/md/rdsk/d512control1=/dev/md/rdsk/d507control2=/dev/md/rdsk/d508control3=/dev/md/rdsk/d509spfile=/dev/md/rdsk/d506cat dbca.rspOPERATION_TYPE = "createDatabase"GDBNAME = "dzy"SID = "dzy&
no_index优化sql一例
a和b表都分别有350W条数据,在a表和b表都以username为主键;这个查询是找出存在在a表但不存在在b表的usernameselect username,mobilephone from a where username not in (select username from b );Statistics---------------------------------------------------------- 403 recursive calls 91 db block gets 10804761 consistent gets 30631 physical reads 13748 redo size 184 bytes sent via SQL*Net to client 224 bytes received via SQL*Net from client 1 SQL*Net r
solaris查看机器位数是32还是64位
isainfo -visainfo -kv[@more@]
solaris 10下的oracle 10g 自动启动脚本
solaris 10下的oracle 10g 自动启动脚本Posted in: 数据库管理|DBA#!/bin/shcase “$1″ instart)# start tsnlisnterecho “start tsnlisnter”su - oracle -c “lsnrctl start”# start databaseecho “Start Oracle database instance”su - oracle -c “echo ”CONN SYS/PASSWORD AS SYSDBASTARTUPexit “|sqlplus /NOLOG”# start enterprise managerecho ” Start Emterprise Manager”su - oracle -c “emctl start dbconsole”# start isqlplusecho “Start isqlplus”su - oracle -c “isqlplusctl start”;;stop)# shutdown data
listener.log 出现大量time out的问题 ora-3136
最初由 howard_zhang 发布现在一个节点是这个错误RAC1Wed Aug 8 13:49:19 2007WARNING: inbound connection timed out (ORA-3136)Wed Aug 8 13:49:19 2007WARNING: inbound connection timed out (ORA-3136)Wed Aug 8 13:49:19 2007WARNING: inbound connection timed out (ORA-3136)另外一个CONNECT不允许登陆的节点错误如下:RAC2ARC1: Failed to archive thread 2 sequence 200 (19504)Wed Aug 8 11:43:10 2007ARC2: Failed to archive thread 2 sequence 200 (19504)Wed Aug 8 11:43:10 2007ARC3: Failed to archive thread 2 sequence