易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle uptime的bug

症状:oracle sqlplus没反应
oracle10g的有十几个机器客户端10.2.0.1.0,执行sqlplus这个命令没反映。此时cpu使用为99.9%,观察了一会,不释放。
oracle其他命令都好使。
环境变量、ping tnsname等都没问题。。且这些机器都是至少运行了200多天左右,
但一旦重启OS就好使了。。
或者不重启OS,换成9i的客户端,sqlplus命令也好使。
alert日志没有什么明显的报警信息,客户端的sqlnet.log为空。
用strace跟踪了一下客户端10的sqlplus命令,出现:
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
--- SIGSTOP (Stopped (signal)) @ 0 (0) ---
times(NULL)                             = -2064519321
times(NULL)                             = -2064519321
times(NULL)                             = -2064519321
……
所有客户端配置一样,系统信息:
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
2.6.9-22.ELsmp #1 SMP
客户端硬件要么联想同一型号机器,要么就是HP同以型号机器。
是不是有什么补丁没打,或者和OS什么配置有关?
系统信息类似一下:
sar -u 后%idle为0,
但sar -A 查看%idle为99.70等百分之九十多左右,
然后是%user  %system   %iowait之间互相变化。
solution:
因为oracle有bug,系统开机太长,系统会hang
所以要查看os命令uptime来看系统启动多长时间了,
一般重启会解决问题,通过升级也可以解决
问题基本定位为ORACLE客户端软件的BUG,
涉及的版本:ORACLE 10.2.0.1.0
现象就是UPTIME>50天,即有可能出现运行SQLPLUS后无反应的现象,主要原因是时间溢出错误
解决办法:升级ORACLE客户端到10.2.0.2.0,官网已经公布在这个版本解决了此问题
         (或降级到9I,9I绝对不会出现这个问题;或降级到10.1.0.4版本,这个没有经过全面测试)
接下来就是升级试试看了。
有几种情况,基本是oracle内部定时器计算有误,还有days>24,或者days>240+的情况
以前有Oracle hang after 240+ da


相关文档:

玩转Oracle(2)

sql*plus 命令
//执行脚本
@和start d:/a.txt;
//修改脚本
edit d:/a.txt;
//将内容输入到文本中
sloop d:/a.txt;  //开始记录屏幕内容
sloop off;  //记录结束
//链接登录数据库
connect system/919959 as sysdba/sysoper;  //权限最大dba
connect sys/919959;
connect scott/ti ......

Oracle 移动数据库文件


Oracle
移动数据库文件

Oracle数据库由数据文件,控制文件和联机日志文件
三种文件组成。
由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,我們可能会考虑移动数据库文件。(注:
恢复数据库时非常
有用,属于冷备份)
查询当前数据库中,相关文件路径

select * from v$datafile;
se ......

oracle 数据库备份

全数据库备份建议用oracle自带的 exp命令。
导某张表的话,或者备份某个用户的信息,可以到
Tool-》export table 导表
Tool-》export user object 导用户的数据。
-----------------------------------------------------------------------------------------
在oracle中,执行sql文件,可以写一个批处理文件
sqlplus& ......

Oracle执行外部文件:

Oracle执行外部文件:
c:>sqlplus user/pwd@db
sql>@new.sql
执行多个sql文件:
1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:
         c:>dir/b > d:\1.sql
   会把所有的sql文件名都输出到一个sql文件中。
2.用UltraEdit打开生成的 ......

oracle的存储过程和游标


Oracle中的存储过程和游标:
select myFunc(参数1,参数2..) to dual; --可以执行一些业务逻辑
一:Oracle中的函数与存储过程的区别:
A:函数必须有返回值,而过程没有.
B:函数可以单独执行.而过程必须通过execute执行.
C:函数可以嵌入到SQL语句中执行.而过程不行.
其实我们可以将比较复杂的查询写成函数.然后到存储过程 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号