2008 年 08 月 01日, 星期五
查看一个DLL正在被哪个进程调用
Tasklist /m oci.dll
2008 年 07 月 29日, 星期二
2008 年 07 月 18日, 星期五
XP上操作系统块的查看命令
C:>fsutil fsinfo ntfsinfo c:
NTFS Volume Serial Number : 0xa60ce33d0ce30761
Version : 3.1
Number Sectors : 0x0000000002711675
Total Clusters : 0x00000000004e22ce
Free Clusters : 0x00000000000fd2e4
Total Reserved : 0x00000000000001d0
Bytes Per Sector : 512
Bytes Per Cluster : 4096
Bytes Per FileRecord Segment : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length : 0x000000000c83c400
Mft Start Lcn : 0x00000000000c0000
Mft2 Start Lcn : 0x0000000000000010
Mft Zone Start : 0x000000000007d780
Mft Zone End : 0x00000000000907e0
2008 年 04 月 17日, 星期四
命令行删除服务
sc delete <service name>...
2007 年 09 月 29日, 星期六
一点点最佳实践
系统开发过程中,最好为每个SQL语句通过hint的方式加入一些有规律的注释,将来在系统调试的过程中,比较容易辨认。2007 年 09 月 01日, 星期六
2006 年 12 月 22日, 星期五
License Keys for VNC Server 4 (Windows Platform)
4LHR4-3HRY2-BC4D2-R4R4R-2NHKA (10 computers license)
HCB2B-62NYR-HQ434-2H723-4NH5A (2 computers license)
2006 年 12 月 14日, 星期四
Deletion of Large Amount of Data
刚看了一下用户的一个问题,有50,000,000条记录需要清理,他分了5条语句去处理,之间没有commit,跑到第5条的时候,系统停顿。重启Oracle,待系统恢复后,把删除语句分更小一些,每个删除间提交一次,顺利完成清理。
8i中数据文件自动扩展问题
文件扩展到4G后,数据库挂起,除了把数据库恢复到数据文件大小没有扩展到4G前,没有很好的解决办法。2006 年 12 月 08日, 星期五
Abount Scheduler and Resource Plan
Scheduler windows can specifiy a resource plan to activate once windows are open.
Scheduler job class can specify a service name for running jobs which in turn may possibly re-assign the job session into a resource consumer group.
About Distributed Transactions
3 stages: Prepare Stage, Commit Stage, Forget Stage
Global Coordinator: In the server where transaction begins
Commit Point Site: Server with maxinum commit_point_stenth, no need to enter prepare stage
Non-Commit Point Site: need to be in a prepare stage
Transaction is treated as committed once commit point site commits
2 important dictionary views: DBA_2PC_PENDING for pending distributed transactions. DBA_2PC_NEIGHBORS to investiate session tree.
To provide read consistency among servers, issue one dummy select statement on remote servers first before actually issue your query. Dummy query could be like: select * from dual@remote
2006 年 11 月 01日, 星期三
ORA-20000: ORU-10028错误
10g第二版开始,255字符每行的限制已经取消,新限制是32K.2006 年 10 月 23日, 星期一
ORA-01461错误
最后证明只是JDBC驱动的版本问题。比较无聊。2006 年 08 月 31日, 星期四
DBMS_STATS和ANALYZE语句之比较
1 - 两者都可以用来生成统计,但是,在10g上,ANALYZE语句生成的统计不会被OPTIMIZER使用,应该使用DBMS_STATS
2 - ANALYZE可以用来VALIDATE STRUCTURE或者LIST CHAINED ROWS,这是DBMS_STATS不能做到的
2006 年 08 月 29日, 星期二
Oracle ASM 安装
今天不太忙,下载了一个RHEL 4和Oracle 10g R2,装一个试试,步骤如下:
第一步:按照OTN上的指引安装和配置RHEL 4和Oracle 10ghttp://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html
第二步:按照以下的指引,在RHEL 4上建立块设备磁盘组(不使用ASM Lib和Raw Device方式,直接使用Block Device)http://www.puschitz.com/TuningLinuxForOracle.shtml#UsingBlockDevicesForOracle10gRelease2InRHEL4
第三步:用DBCA配置ASM实例,建立磁盘组DGDATA(两个磁盘,普通冗余), DGLOG(1个磁盘,外部冗余), DGFLASH(一个磁盘,外部冗余)
第四步:用DBCA配置数据库实例,使用ASM,DB_CREATE_FILE_DEST指定为+DGDATA,DB_ONLINE_REDO_DEST_1指定为+DGLOG,DB_FLASH_RECOVERY_AREA指定为+DGFLASH,数据库创建比较顺利
心得:OMF是ASM的基础,了解了OMF后,ASM的使用就容易理解
2006 年 08 月 25日, 星期五
OMF模式下Control File重建遇到问题
最近在练习OMF,学习重建control file的时候,用alter database backup controlfile to trace生成的SQL,尝试重建,得到错误信息如下:
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-09314: sltln: error translating logical name
OSD-04026: Invalid parameter passed.
有人回帖说去掉reuse就可以,好像昨天试过,今天回去再确认确认。
2006 年 08 月 18日, 星期五
进行Oracle本地连接的时候,竟然出现 ORA-12154错误
一个很有意思的问题,在一个之前装过ORACLE的机器上删除数据库,卸装,重新安装,然后建库,然后发现只能通过listener做网络连接,即conn /@mydb as sysdba,使用本地连接即conn / as sysdba的时候,出现ORA-12154错误,查看注册表,ORACLE_SID设置没有问题,找了一通,结果发现有个环境变量名为"LOCAL"的,值为旧的本地实例名,删除后就没有错了。
2006 年 08 月 17日, 星期四
Oracle的SGA调整后,发生TNS-12500/TNS-12560错误
昨天晚上作系统维护的时候手痒,把数据库的SGA_MAX_SIZE和SGA_TARGET从1500M调整到1800M,今天用户登陆操作一段时间后,发现无法进行新的连接:
用户端看到的错误信息:TNS-12500: TNS:listener failed to start a dedicated server process
不使用Listener,在服务器进行本地连接,看到的错误信息是:TNS-12560: TNS:protocol adapter error
究其原因,是因为建立新连接需要消耗额外的内存,由于SGA增大后,操作系统留下来得内存资源小了,可以建立的Server Process也就少了。恢复回昨天的SPFILE,系统运行正常。
Index对增删改查的性能影响
根据Oracle Performance Tuning Guide中描述,建一个索引,对增删改查性能的影响为增加多3倍时间。假设一个DML操作需要n秒,则如果相应的表上有3个索引,则需要的时间为没有索引时的10倍。2006 年 06 月 21日, 星期三
Cognos Impromptu脚本运行问题
设计了几个报表,需要自动导出成EXCEL格式用于数据交换,所以做了个VBA宏程序,结果,发现某几个文件导出后无法用EXCEL打开。但是手工重复导出动作,则导出的文件没有问题。
测试了一天,没有发现什么原因,只能把脚本拆成几个,每个脚本只导出一个报表,然后用一个大脚本调用几个小脚本,发现导出正常,相信是系统问题。
2006 年 05 月 03日, 星期三
Fedora Core中配置DHCP服务器和客户端
对基于Fedora Core的DHCP服务器和客户端配置的一些步骤整理,由于使用VMware的Linux虚拟机,客户机DHCP需要点手工处理。
查看全文2006 年 04 月 19日, 星期三
在Impromptu中使用Oracle存储过程
1 - 使用存储过程模板。
2 - 填写大写存储过程名
3 - 使用prompt作为参数,IN/OUT参数中的cursor参数可以忽略
4 - 第一个返回的cursor为报表结果集
2006 年 04 月 16日, 星期日
关于Oracle的快速恢复区
近日Oracle无故自行shutdown,怀疑是由于我们在手工清理快速恢复区内的文件有关,之前手工清理flashback log的时候出错,这几天手工清理已经备份到磁带的backup set和archive log,然后在alert.log里头发现很多警告,说是无法删除archive log。然后昨天数据库自行又shutdown。估计Oracle现在是自行清理快速恢复区里的文件的。 (2006/04/16)
-- 自己的评论:当时没有学精,不是这个问题 (2006/08/25)
2006 年 04 月 10日, 星期一
The Philosophy of System Administration
1 - Automate everything
2 - Document everything
3 - Communicate as much as possible
4 - Know your resource
5 - Know your users
6 - Know your business
7 - Security cannot be an afterthought
8 - Plan ahead
9 - Expect the unexpected
2006 年 03 月 27日, 星期一
恢复的重要信息
DBID=13980176342006 年 03 月 24日, 星期五
SQL调优的要点
先了解优化器和执行计划的原理。然后学习:
1 - Hints
2 - Plan Stability
3 - Explain & TKPROF
监控Index的使用情况
-- 开始/停止监控使用情况
ALTER INDEX MONITORING/NOMONITORING USAGE
-- 检查对象使用情况
SELECT * FROM V$OBJECT_USAGE
2006 年 03 月 15日, 星期三
Flabshback文件手工删除,数据库关闭
今天手工删除flashback文件,结果,数据库shutdown,Alertlog里头显示flashback文件访问错误,原来,flashback文件不应该手工清理的。最后,只能:
startup mount;
alter database flashback off;
shutdown immediate;
startup mount;
alter database flashback on;
alter database open;
2006 年 02 月 18日, 星期六
2006年2月新数据库创建日志
新数据库建立并进行了数据迁移: 查看全文2005 年 12 月 30日, 星期五
数据转移中的一些经验
最近作了一个数据迁移后,发现有一个SQL性能变差很多,EXPLAIN后发现这个使用了ORDER BY的SQL语句在两边数据库使用的索引不一样。对表进行ANALYZE,性能恢复正常,总结:
1 - SQL语句中的ORDER BY使用合适的索引可以省去排序动作
2 - 迁移过来的数据一般需要经过ANALYZE,相关的COST统计才会正确
-- 自己的评论:10g现在有自动的统计量收集作业,同时,收集统计量,现在应该使用dbms_stats (2006-08-25)
2005 年 11 月 25日, 星期五
DBMS_JOB作业没有被调度
用dbms_job.submit创建了一个定时作业后没有被调度,通过dbms_job.run执行却正确执行,查看初始化参数后发现JOB_QUEUE_PROCESSES的值为0,重新设置为一个大于0的值后,作业被正确调度。
2005 年 11 月 16日, 星期三
Oralce数据库本机安装时动态注册失败引起的连接失败
Oracle 10g安装时,使用的是服务名动态注册,当在未连接网线安装时,监听器的设置为监听localhost的1521端口,建议将localhost改为本机计算机名称,否则在连接了网线的情况下,Oracle数据库启动时,它会寻找监听本机计算机名称的监听器进行动态注册,这时候监听localhost的1521端口的监听器不会被识别,动态注册会失败。2005 年 09 月 29日, 星期四
Oracle中两个看似高级,实际很无聊的技术:RAC和ASM
Oracle中两个看似高级,实际很无聊的技术:RAC和ASM
-- 自己的评论:现在开始感觉不是很无聊了,当时学了半桶水。(2006-08-30)
查看全文越南故障结论
经过供应商的检查,阵列中一个硬盘已经损坏,更换后系统重装,需要恢复备份的数据库和VERITAS备份设置,国庆假期前完成。2005 年 08 月 17日, 星期三
越南系统备份作业重设
昨天越南的IT同事报告说Veritas备份有问题,经查看,推测是在他休假期间没有放置磁带,前期的作业一直在scheduled状态,而他在取消job的时候,错误的删除了job。
查看全文2005 年 08 月 16日, 星期二
2005年下半年自习计划
1 - 继续按计划进行Oracle在线文档的学习
2 - 完成10g官方培训的申请(今年部门已经有了相关预算)
3 - 继续HTML DB的开发实践
2006-08-25:都已经完成
2005 年 08 月 15日, 星期一
2005 年 08 月 12日, 星期五
Linux上的Oracle 9i安装
一篇不错的指引,在Fedora Core 1上尝试过,可以成功安装Oracle 9i,需要注意的是,当需要安装缺少的RPM包时,可以到Fedora Core 1的安装光盘的Fedora目录下去找。
查看全文