每当我听到“数据库当掉了”的话时,我都会想起1978年的电影《gray lady down》中的情节,核潜艇海王星号在击中了一艘货船之后沉没了,人们只有48小时营救船员。每当这些时候,我的脑袋里面都会听到与核潜艇有关的声音,就好像是背景音乐一样,一种恐惧感油然而生。好吧,我应该去救人,而不是自己一个人跑开远离炸弹。但是类似的感觉仍然包围着我。
这是截取自mcgraw-hill 出版社子公司oracle press出版社出版的april wells编写的《everyday oracle dba》copyright 2006第五章的部分内容。点击这里阅读全文。
每当我听到“数据库当掉了”的话时,我都会想起1978年的电影《gray lady down》中的情节,核潜艇海王星号在击中了一艘货船之后沉没了,人们只有48小时营救船员。每当这些时候,我的脑袋里面都会听到与核潜艇有关的声音,就好像是背景音乐一样,一种恐惧感油然而生。好吧,我应该去救人,而不是自己一个人跑开远离炸弹。但是类似的感觉仍然包围着我。
然而,当营救的是你的数据库的时候,你很少会有48小时这么奢侈。通常的情况是,一打穿着套装的经理们早上6点就会站在你的格子外面,在想数据库恢复正常继续运行之前还需要多少时间。更令人头疼。所以在这章内容中,我们将会看看有哪些最好的办法可以尽快地让这些讨厌的经理们离开你的格子。
数据库崩溃了
虽然这样的情况也不是经常发生,但是有时候会出现你的数据库崩溃,然后你发现sql弹出一条提示说共享内存不存在,或者是oracle不可达。当然,如果你能在你的用户发现这种情况之前发现它,那你无疑是非常幸运的。当他们先发现的时候,你就会发现你自己正在拼命地回答问题,飞快地打字,把那些你本来知道怎么拼写的单词拼错(例如:sqlplus,或者sysdba)。每次我发现自己在压力之下,例如努力尽快让事态得到控制,或者是一打经理站在我的格子外面用目光在我后脑勺上钻孔的时候,我都会把"select"拼错。
当你面对一个崩溃的数据库的时候,最重要的一件事情就是让它恢复正常继续运行。然后,你需要找到方法,如果可能的话,防止这种情况的再次发生。