oracle sql使用时注意您的输入!-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977538
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2007-06-15 22:35:26

     近来遇到一个很麻烦的问题. 使用公司软件查看备份出来的数据.
     oracle版本为9204, 目前已经有相应的备份版本, 使用公司的产品把备份出来的数据打开. 由于整个数据库在2.3t左右, 公司的产品工作起来很是麻烦, 我们已经测试了好久, 上星期已经有一位工程人员测试一星期的, 结果是没打开, 产品到一定的时候就不动没响应了.

     我要说的注意sql输入是, 我们打开的主要步骤为:
    sql>startup mount pfile=dbname.ora
    sql>recover database cancel using backup controlfile
    sql>输入回滚日志
    sql>cancel
    sql>alter databse open resetlogs

     由于数据库太大, 产生的日志log文件也很大, 所以做一次"输入回滚日志"回滚的时间很长, 大概在50分钟左右. 假设我们已经知道某个版本回滚到某个日志就可以打开了, 这个时候就可以输入cancel再"alter database open resetlogs"就可以了. 但问题出现的让我们自己也莫名其妙.

     我们是通过一个telnet工具登录到hp unix上操作的, 这个工具有个问题就是, 很长时间没有对该界面做任何操作, 他将关闭该telnet连接. 我们为了防止telnet断开, 就不时的切换到telnet的窗口下敲一些回车. 假设我们只要回滚到log3.dbf文件就可以打开了, 结果我们输入完cancel后oracle既然还会接着回滚log4.bdf,  我们想了很长时间感觉oracle真的不应该这样操作. 但就是找不到为什么.

     后来终于发现原来sql时oracle就更本没有使用我们输入的cancel数据,而是接受了回车.回车表示oracle将自动查看log文件,所以将会继续向下查找.为什么没有接受我们输入的cancel呢?不知道大家使用sql时有没有遇到个这样的情况,当你在等待如:
   select count(*) from table_name;
    如果该表数据很大,在100万左右时,这个时间将会有一个等待的时间,如果你感觉很慢就多输入了几个回车,你将会在该查询完成后看到如:sql>sql>sql>这样的东西..原来是oracle将你输入的数据进行了提前缓存了.怪不得输入cancel也没办法停止,也就是oracle看到的实际是输入了回车!
阅读(1275) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图