December 17, 2007
China-Pub的年度技术图书评选活动
作者:eygle
出处:http://blog.eygle.com
今天看到China-Pub在搞一个年度技术图书评选活动
在数据库类的条目下,我的《深入浅出Oracle》和《循序渐进Oracle》都在评选之列。
目前Tom的《Oracle 9i & 10g编程艺术:深入数据库体系结构》遥遥领先的排在第一位;这是Oracle类图书中毫无疑问的首选之作。
大家看过我的书的,有China-Pub帐号的,号召投一下票!
谢谢支持:)
2007-12-17
Posted by eygle at 4:00 PM | Comments (7)
9i与10g初始化参数instance_name的变化
作者:eygle
出处:http://blog.eygle.com
昨天《循序渐进Oracle》的一位读者提出一个问题,这个问题使得我发现了Oracle9i与Oracle10g初始化参数instance_name的一点不同。
首先我们来看Oracle9i,当我们复制一个参数文件:
C:\ORACLE~1\database>copy SPFILEMYORACLE.ORA SPFILEEYGLE.ORA
已复制 1 个文件。
在另外一个窗口初始化一个实例环境:
C:\Documents and Settings\gqgai>oracle eygle
Hit any key to exit server:
此时连接到当前实例,启动到Nomount状态:
C:\ORACLE~1\database>set oracle_sid=eygleC:\ORACLE~1\database>sqlplus "/ as sysdba"
SQL*Plus: Release 9.2.0.6.0 - Production on 星期一 12月 17 10:44:06 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已连接到空闲例程。
SQL> startup nomount;
ORACLE 例程已经启动。Total System Global Area 311500888 bytes
Fixed Size 454744 bytes
Variable Size 176160768 bytes
Database Buffers 134217728 bytes
Redo Buffers 667648 bytes
注意此时的instance_name参数仍然为myoracle,也就是原来的实例名称:
SQL> show parameter instance_nameNAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
instance_name string
myoracle
这是因为作为一个初始化参数,在Oracle9i中,instance_name被写入参数文件:
*.instance_name='myoracle'
而在Oracle10g中,缺省的,instance_name被从参数文件中移除,在实例启动过程中,Oracle从SID中来获得这个参数值。从而可以用于动态注册。
在9i中,我们可以从参数文件中删除这个参数:
SQL> create pfile from spfile;文件已创建。
SQL> shutdown immediate;
ORA-01507: ??????
ORACLE 例程已经关闭。
删除spfile,使用pfile启动实例,此时实例名称从SID中获得:
SQL> startup nomount;
ORACLE 例程已经启动。Total System Global Area 311500888 bytes
Fixed Size 454744 bytes
Variable Size 176160768 bytes
Database Buffers 134217728 bytes
Redo Buffers 667648 bytes
SQL> show parameter instance_nameNAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
instance_name string
eygle
SQL> select instance_name from v$instance;INSTANCE_NAME
--------------------------------
eygle
感谢我的读者指出,使我发现了以前并未注意到的Oracle9i和Oracle10g的一点小不同。
-The End-
Posted by eygle at 3:21 PM | Comments (2)
DBA警世录:职业生涯误操作之误删除篇
作者:eygle
出处:http://blog.eygle.com
ITPUB上的yxyup同学发起了一个主题:请列出你在从事DBA生涯中,最难以忘怀的一次误操作
这一主题引起了大家普遍的兴趣,很多有趣的案例呈现出来,摘录一下误删除有关的操作,看看都有哪些恐怖的操作会出现,共为警醒:
1.在linux平台上,一次不小心操作,把oradata下所有的东西全删除了
这样的误操作,教训是极其惨痛的,所以备份对于DBA来说仍然是最重要的
2.一次误删了个表,最后恢复了,丢了一天数据.加了一晚上班,至今记得.人越累的时候就越容易犯错误,我就是在最后快下班的几分钟犯的错误.
一定要记住墨菲定律,越着急就越容易犯错误,DBA千万不要赶着去做一件事。
3.在一次测试过程中,把一个在本机执行的删除所有非系统用户的脚本,错误的粘到一个开发数据库的sqlplus窗口中
如果你不注意剪贴板,它就会害你!
4.有一次把一个表一不小心给truncate了,上千万条记录一眨眼就没了
DDL操作一定要谨慎阿!
5.rm -rf /opt/ora92/* 在测试库中本来想删除数据库,结果错误的把ORACLE软件删除了.
rm -rf是相当恐怖的,每个DBA都应该学会不要直接使用这个命令。
6.不小心用rm -rf /home目录下的所有文件,/home目录下放的账务系统的app。一看删除的路径的不对,已经来不及了。
又是一个rm -rf的狠操作。
7.删除一些trace文件,然后就直接删除rm orcl*,结果通过vpn到生产的,网络太慢,命令刚刚慢慢的显示出来,看都没看直接按回车,结果执行的命令却是rm orcl *,因为orcl和星号中间有个空格,所以把这个目录下面所有的内容全部删除了。
网络慢的确害惨过很多人,所以网络可能存在问题时,任何操作都要慎重,不行可以使用脚本在后台跑。
实际上,我们看到,很多误操作都极其低级,和技术能力基本无关,只是需要我们细致、严谨,再认真一点。
DBA有些素质是必需养成的。
-The End-
Posted by eygle at 2:25 PM | Comments (1)
