2009年3月18日 星期三

著手準備NCLP

凡事都有個因果緣由!
怎麼會想要準備NCLP?
我想,最根本的理由,還是那基於非科班出身.
想藉由證照來證明自己的IT技能,未必不如資管資工出身的人吧!

考RHCE太貴了!衝LPI L2又好像難了些!
NCLP好像介於L2和RHCE當中...
考一次才3000多!
值得一試啊!

http://www.lccnet.com.tw/suse/SUSE_Linux-1.asp

http://www.novell.com/documentation/sles10/esd/ii_sles10_x86.html

2009年3月17日 星期二

解決OEM方塊文字問題

寄件者 oracle_DBA

以前有提到過,安裝ORACLE完成後,啓動了emctl start console。
連上去看畫面,卻看到一堆方塊文字。中文錯亂了!

後來看有經驗的老手安裝,才發現原來是我在安裝過程中,少了一些步驟。
上頭的安裝畫面中,切記要點選[product Language ...],
圖片中有滑鼠的地方!
點進去後,把正體中文加進去!
參見下一張圖。
寄件者 oracle_DBA


只要有加選正體中文,安裝完成後,再啓動OEM使用,就不會見到方塊文字了啦。

2009年3月16日 星期一

VirtualBox在克隆磁碟的問題

bullock@ubuntu:/opt/vbox$ VBoxManage clonehd RHEL4U6_2.vdi RHEL4U6_02.vdi
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling a->virtualBox->OpenHardDisk2(src, srcDisk.asOutParam()) at line 369!
[!] Primary RC = VBOX_E_IPRT_ERROR (0x80BB0005) - Runtime subsystem error
[!] Full error info present: true , basic error info present: true
[!] Result Code = VBOX_E_IPRT_ERROR (0x80BB0005) - Runtime subsystem error
[!] Text = Could not get the storage format of the hard disk '/home/bullock/.VirtualBox/HardDisks/RHEL4U6_2.vdi' (VERR_FILE_NOT_FOUND)
[!] Component = HardDisk2, Interface: IHardDisk2, {ed6e2525-c2fd-42a4-917a-7a9045ac9e15}
[!] Callee = IVirtualBox, {339abca2-f47a-4302-87f5-7bc324e6bbde}

看紅字部份,我判斷是預設的路徑作怪。
使得VBoxManage指令誤判,找不到要操作用的參數磁碟。
果然,進VirtualBox的圖形介面,把預設的路徑改掉之後,就成功了!
成功操作結果如下:
bullock@ubuntu:/opt/vbox$ VBoxManage clonehd RHEL4U6_1.vdi RHEL4U6_01.vdi
VirtualBox Command Line Management Interface Version 2.1.4
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: d715fbe6-951f-4c35-9793-b2358971a52a
bullock@ubuntu:/opt/vbox$

它會產生新的一組 UUID !
這是關鍵,因為UUID不同,克隆出來的磁碟才能在和原始磁碟並存狀態下被使用。

2009年3月15日 星期日

NCLP考古題之二

S1: Server1, S2: Server2
1. User management
a. add new group "engineers" with gid 1100 on both S1,S2
b. add the following users
c. passwd set to linux
2. Config Samba
a. config samba on S1 using the following parameters
. the name of the workgroup is DA
. the directory /home is exported ad a share with the name of "homes".
the dir must not be browseable, all files have to be created with
read and write access of the owner and no access for the group and any
other users.
Only clients from network 192.168.146.0/24 are allowed to access this share.
. the dir /data/engineers has to be exported as a share with the name "data".
This dir has to be browseable, all files have to be created with read and
write access
for their owner, read access for the members of the group engineers
and no access for any other user. Only clients from network
192.168.146.0/24 and192.168.147.0/24 are allowed to access this share.
. make sure samba server is started automatically after boot.
b. make the 3 users from task 1 known to the samba server by adding them
to /etc/samba/smbpassword.
Use the passwd "linux' for each of the 3 samba users.
* to test samba server from the linux client , u can use the command smbclient.

3. S2 as central log server
a. config the syslog daemon to accept message from other machines
b. config the syslog daemon to write nessages concerning mail to
/var/log/allmail
c. Mail messages must not be written anywhere else. Disable immediate file
syncing after writing messages
d. config the syskigd to write a kernel messages to /var/log/kernel.
Kernel message with the priority equal to or higher than warning have also
to be written to console 10.
e. config syslogd to write all other messages than mail and kernel
messages to /var/log/allmessages.

** In case you want to generate kernelmessage manually, do not use "logger"
try modeprobe 3c509

a. Files have to be rotated and compress on daily basis, regardless of
their size.
b. Up to five rotated files have to be kept.
c. The access permissions have to be the same for all files: rw-r----, the
owner and the group have to be "root"
d. Use the special configureatin file provided for roatating logfiles of
the syslog daemon (/etc/logrotate.d/syslog)

4. Monitor other machines using xinetd
a. configure xinetd on S2 to provide info about the system:
. allow access to any services provided by xinetd only from host 192.168.146.10.
. allow logging infomation has to be written using syslog daemon, the
logging facility is "daemon"
. when any of the services are accessed, the remote address is logged.
. in case of the failed attemept, log this event together with the host address.
b. configure the service "systat" with the parameters "aux"
c. configure the service netstat with the following parameters
. show TCP and UDP info.
. show all sockets
. show only numerical addresses
. show pid and the name of the corresponding program.

Hint: to access thease services forom S1 , use eg telnet S2 netstat or
use the ports listed in /etc/services

5. configure secure shell
a. as the user root on server1, create a pair of authentication keys for ssh.
Use DSA as the type of the keys and do not use pass phrase (not
recommanded but for the test)

b. configure the ssh daemon on S2,using the following parameters.
. only protocal 2
. the user "root" may login
. the authentication via public key is allowed, via password is not allowed
c. allow user from S1 to login as the user root on S2 using the
authentication key created.

NCLP考古題之一

有了一張 LPI L1,本來就不足以代表我在LINUX的管理能力有多行!
因為LPI L1,老實說,K書用功一點的人,都能拿不錯的成績.
一定要有L2或是實機測驗的RHCE,還是NCLP!
才比較能向人證明,我的LINUX功力到什麼地步......

搜集了些考古題,再重拾散漫的心情吧!
理財投資的體驗雖然有些挫敗,但也是還在止血學習中!
但職場相關的證照考試,還是真的要整理心情,一張一張去努力考取.

出處:http://blog.xuite.net/happyman/tips/8977439

S1: Server1, S2: Server2
User management
Create a new group called customers on both S1 and S2 with GID of 1013,
make it a default secondary group for new users.
Create user accounts with comment field populated with the company name
and a primary group membership of users.

Username Company
----
jonesco :: The Johnes Company
imagetec :: New Image Tech
johntom :: Johns and Tom

Home dirs should exist in /home for the above users.
Each user is allowd to use passwd auth but must change the default
password of linux (ignore all warnings) after first auth.

forcing user to change password must be accomplished by manipulating the
/etc/shadow file. User accounts must be changed at first login on *both*
S1 and S2.

SSH configuration.

Configure SSH/SCP in S1 access for the previous mentioned user with the
following parameters:
1. only openssh protocal2 is allowed
2. root is not allowed to log in

Apache

Place ur global changes into the main web server config
/etc/apache2/default-server.conf

a. Config on Server1
. change adm email to webmaster@digitairlines.com.tw.
. set webserver name to customers.digitairlines.com and make sure that
this name is resolved to the IP address on both S1 and S2

b. Config Apache on S1 with authenticad dir level access for 3 users
using main Web server config
. use basic as type of auth.
. use "Restricted Area" for the name of auth realm of each dirs
. place a designated passwd file in /etc/apache2 dir, for dir level auth,
as listed below

1. Use htpasswd-jones, htpasswd-image, and htpasswd-johns for user
jonesco,imagetec,johnstom, respectively, as the files containing the
username and passwords.
2. Add the following usernames to the related password file: jonesco,
imagetec, and johnstom. Each of these users should have the password
"linux"
3. Have these users access to the files *any file u need to create) in
their /home/$USER/web dir ***(hint: create a dir under each users home dir
web and creat a symblic link in /srv/www/htdocs with their username that
points to it called (/srv/www/htdocs/jonesco >> /home/jonesco/web).
ensure that apache is aware of links and can follow them.
4. Disable PHP in apache2 module

c. Start a webserver and make sure that it's started automatically after a
reboot of the system.

Configure a remote logging host

Because S1 is exposed to the internet for https and openssh traffic,
config S2 to be a log server using following parameters:
a. config the syslog daemon to accept message from other machines
b. config the syslog daemon to write nessages concerning mail to
/var/log/allmail
c. Mail messages must not be written anywhere else. Disable immediate file
syncing after writing messages
d. config the syskigd to write a kernel messages to /var/log/kernel.
Kernel message with the priority equal to or higher than warning have also
to be written to console 10.
e. config syslogd to write all other messages than mail and kernel
messages to /var/log/allmessages.

** In case you want to generate kernelmessage manually, do not use "logger"
try modeprobe 3c509

a. Files have to be rotated and compress on daily basis, regardless of
their size.
b. Up to five rotated files have to be kept.
c. The access permissions have to be the same for all files: rw-r----, the
owner and the group have to be "root"
d. Use the special configureatin file provided for roatating logfiles of
the syslog daemon (/etc/logrotate.d/syslog)

2009年3月11日 星期三

新手學習Linux必看的11點建議

新手學習Linux必看的11點建議

隨著Linux應用的擴展許多朋友開始接觸Linux,
根據學習Windwos的經驗往往有一些茫然的感覺:
不知從何處開始學起。這裏介紹學習Linux的一些建議。

一、從基礎開始:
常常有些朋友在Linux論壇問一些問題,不過,其中大多數的問題都是很基礎的。
例如:為什麼我使用一個命令的時候,系統告訴我找不到該目錄?我要如何限制使用者的權限?
這些問題其實都不是很難的,只要了解了 Linux的基礎之後,應該就可以很輕易的解決掉這方面的問題。
而有些朋友們常常一接觸Linux 就是希望能自行構架一個網站,根本沒有想到要先了解一下Linux的基礎。
這是相當不切實際的!

二、Linux文字命令模式和圖形界面操控模式 [CLI vs. GUI]
雖然Linux桌面應用發展很快,但是命令在Linux中依然有很強的生命力。
Linux是一個命令行組成的操作系統,精髓在命令行,無論圖形界面發展到什麼水平這個原理是不會變的,
Linux命令有許多強大的功能:從簡單的磁盤操作、文件存取、到進行複雜的多媒體圖象和流媒體文件的制作。

舉一個例子:
Linux的常用命令find,察看man文檔,初學者一定會覺得太複雜而不原意用,但是你一旦學會就愛不釋手.它的功能實在太強了,
在配合exec參數或者通過管道重定向到xargs命令和grep命令,可以完成非常複雜的操作,
如果同樣的操作用圖形界面的工具來完成,恐怕要多花十幾陪的時間.

不同版本的Linux命令數量不一樣,這裏筆者把它們中比較重要的和使用頻率最多的命令,
按照它們在系統中的作用分成幾個部分介紹給大家,通過這些基礎命令的學習我們可以進一步理解Linux系統:

安裝和登錄命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件處理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
系統管理相關命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
網絡操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
系統安全相關命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho

三、選擇一本好的工具書
工具書對於學習者而言是相當重要的。一本錯誤觀念的工具書卻會讓新手整個誤入歧途。
目前國內關於Linux的書籍有很多不過精品的不多,
筆者強烈建議閱讀影印本的「O'Reilly原版Linux圖書http://www.oreilly.com.cn/ 」,
而且出版社還提供了一個非常好的路線圖:http://www.oreilly.com.cn/guide/guide_linux.php 見圖-1。

四、選擇一個適合你的Linux發行版本
目前全球有超過1百多個Linux發行版本,在國內也能找到十幾個常見版本。
如何選擇請根據你的需求和能力,Redhat Linux 和Debian Linux是網絡管理員的理想選擇。
現在一些Linux網站有一些Linux版本的免費下載,只要肯用心在網路上搜尋,LINUX的學習資源很豐富的。

五、最好養成在命令行下工作:
要養成在命令行下工作的習慣,要知道X-window只是運行在命令行模式下的一個應用程序。
在命令行下學習雖然一開始進度較慢,但是熟悉後,您未來的學習之路將是以指數增加的方式增長的。
對網管技術人員來說,命令行的使用在實務上就是必備技能,它總是有效的,同時也是靈活的。
即使是通過一條緩慢的電話撥接線路,它也能操縱幾千公里以外地遠端系統。

六、選擇一個適合你的Linux社群;
隨著Linux應用的擴展,出現了不少Linux社群。
其中有一些非常優秀的社群:www.linuxforum.net(國內最高水平GNU站點)、http://www.chinaunix.net/ (中國最大的Unix技術社區),
但是這幾個論壇往往是Linux高手的舞台,如果在探討高級技巧的論壇張貼非常初級的問題經常會沒有結果。

推薦適於初學者的Linux社區:
Linux伊甸園 http://www.linuxeden.com/ , 中國Linux公社 http://www.linuxfans.org/nuke/index.php 。

七、勤於實踐:
要增加自己Linux 的技能,只有通過實踐來實現了。
所以,趕快找一部電腦,趕快安裝一個 Linux發行版本,然後進入精彩的Linux世界。
相信對於你自己的 Linux能力必然大有斬獲。
此外,人腦不像計算機的硬盤一樣,除非硬盤壞掉了或者是資料被你抹掉了,否則儲存的資料將永遠而且立刻的記憶在硬盤中。
在人類記憶的曲線中,你必須要不斷的重複練習才會將一件事情記得比較熟。
學習 Linux也一樣,如果你無法經常學習並且去實踐運用的話,是很容易學了後面,卻忘了前面的。
你對Linux命令熟悉後你可以開始搭建一個小的Linux網絡,這是最好的實踐方法。
Linux是網絡的代名詞,Linux網絡服務功能非常強大,不論是郵件服務器、Web服務器、DNS服務器等都非常完善。
當然你不需要急著建構所有的服務,可以慢慢來。
需要說明的是這個Linux網絡對於初學者來說,最好要有兩台以上的電腦,其中一台電腦可以是安裝Windows系統。
再強調一點,一定要自己多動手,不要等著別人幫你解決問題。

七、如何得到聯機幫助
和私有操作系統不同,各個Linux的發行版本的技術支持時間都較短,這對於Linux初學者是往往不夠的。
其實當你安裝了一個完整的Linux系統後其中已經包含了一個強大的幫助,只是可能你還沒有發現和使用它們的技巧。
1. 主流Linux發行版都自帶非常詳細的文檔(包括手冊頁和FAQ),從系統安裝到系統安全,
針對不同層次的人的詳盡文檔,仔細閱讀文檔後40%問題都可在此解決。

2. 查閱經典工具書和Howto,
特別是Howto是全球數以萬計的Linux、Unix的經驗總結非常有參考價值通常40%的問題同樣可以解決。

八、在Linux論壇獲取幫助
如果上面的措施沒有解決問題,此時你就需要Linux社群的幫助了。
Linux的使用者一般都是專業人士,他們有著很好的電腦背景且願意協助他人,Linux高手更具有鼓勵新手的文化精神。
如何在Linux社群獲得幫助,需要說明的是你要有周全的思考,准備好你的問題,不要草率的發問,否則只會得到到草率的回答或者根本得不到任何答案。越表現出在尋求幫助前為解決問題付出的努力,你越能得到實質性的幫助。最好先搜尋一下論壇是否有您需要的文章。這樣可以獲得事半功倍的效果。

下面筆者在論壇看到的一個好問題:
「安裝紅旗4.0後,系統紫光輸入法自帶的雙拼方案和我的習慣不一樣,如何自定義雙拼方案解決?謝謝?」
這個問題很簡練,筆者五分鍾後就給出了解決方法:「首先備份原文件到其他目錄,然後刪掉/usr/local/unispim/unispimsp.ksc,
編輯 /usr/local/unispim/unispimsp.ini,最後重啟動計算機,生成新的unispimsp.ksc」

另外得到回複後如果問題解決,向幫助過你的人發個說明,讓他們知道問題是怎樣解決的,
這種補充有助於他人在郵件列表/新聞組/論壇中搜索對你有過幫助的完整解決方案,這可能對他們也很有用。

下面看看一個讓人無法回答的問題:
「救命各位高手,向你們請教一些問題:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服務器,謝謝」
這樣的問題我想即使Linux高手也很難快速准確精練的回答你。

你需要提供精確有效的信息。這並不是要求你簡單的把成噸的出錯代碼或者數據完全轉儲摘錄到你的提問中。
如果你有龐大而複雜的測試條件,盡量把它剪裁得越小越好。
可能你會遇到這種情況,對於一個問題會出現不同內容回答,這時你需要通過實踐來驗證。
另外把這個問題放在其他Linux社區請求幫助也是一種選擇。
如果得不到答案,請不要以為我們覺得無法幫助你。
有時只是看到你問題的人不知道答案罷了。這時換一個社群、論壇。會是不錯的選擇。

另外發問的時候一定要注意到某些禮節。
因為Linux社群是一個松散的組織、也不承擔回複每個帖子的義務。它不是技術支持。

9.用Unix思維學習Linux
Linux是參照Unix思想設計的,理解掌握Linux必須按照Unix思維來進行。
思想性的轉變比暫時性的技術提高更有用,因為他能幫助你加快學習速度。

10.學習專業英文
如果你想深入學習Linux, 看不懂因為文檔實在是太難了。
寫的最好的,最全面的文檔都是英語寫的,最先發布的技術信息也都是用英語寫的。
即便是非英語國家的人發布技術文檔,也都首先翻譯成英語在國際學術雜志和網絡上發表。
安裝一個新的軟件時先看README,再看INSTALL然後看FAQ,最後才動手安裝,這樣遇到問題就知道為什麼。
如果說明文檔不看,結果出了問題再去論壇來找答案反而浪費時間。

11.最後是Linux學習的路線圖:

1. 掌握至少50個以上的常用命令。
2. 熟悉Gnome/KDE等X-windows桌面環境操作 。
3. 掌握.tgz、.rpm等軟件包的常用安裝方法
4. 學習添加外設,安裝設備驅動程序(比如網卡)
5. 熟悉Grub/Lilo引導器及簡單的修複操作 。
6. 熟悉Linux文件系統 和目錄結構。
7. 掌握vi,gcc,gdb等常用編輯器,編譯器,調試器 。
8. 理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。
9. 學習Linux環境下的網路運作。

2009年3月10日 星期二

HP STORAGE SERVER的EVA無法登入

EVA的WEB介面登入時,出現了!
錯誤訊息: insufficient privileges
一直以為是帳號權限的設定出問題......

所以朝使用者和群組設定去著手!
解法如下:
To fix this problem you have to go to
Computer Managerment ---> Local User and Groups ---> Users.
Then right click the local user account (i.e. Administraor) go to
properties ---> "Member of" TAB---> Advance ---> Find Now.
Then select either "HP Storage Users" or "HP Storage Admins."
And you are done!!!

但還是不能解決無法登入的狀況!
搞了半天,以下才是正解!

HP StorageWorks Command View EVA - Login Failure Due to Incorrect Credentials

ISSUE:
Login fails, the error indicates incorrect credentials.
SOLUTION:
During installation, the account type for credentials is chosen, this can be either local or domain level authentication. It can only be one or the other. A log file named C:\Program Files\Hewlett-Packard\Sanworks\Element Manager for StorageWorks HSV\ccbgn-date-#.log (example: ccbgn-080905-1.log ) has entries indicating the host name Command View is using, along with the domain name and the groups being used for authentication. Verify that the hostname in the log file matches the current host name. If not, the host name has been changed, and CV will need to be reinstalled. Verify that the customer has put the user account into the local or domain group, based on what the file indicates is being used.
A sample file is attached:
Mar/25/2008 14:45:32 - Hostname: HSV2INTEL
Mar/25/2008 14:45:32 - Realm: STORAGETEAM

Mar/25/2008 14:45:32 - Domain set to: STORAGETEAM
Mar/25/2008 14:45:32 - Opt: '-u'
Mar/25/2008 14:45:32 - Val: ' HSV2INTEL\HP Storage Users '

Mar/25/2008 14:45:32 - User group: ' HSV2INTEL\HP Storage Users '

Mar/25/2008 14:45:32 - Opt: '-a'

Mar/25/2008 14:45:32 - Val: ' HSV2INTEL\HP Storage Admins'

Mar/25/2008 14:45:32 - Admin group: ' HSV2INTEL\HP Storage Admins'

Mar/25/2008 14:45:32 - Admin group written to file

Mar/25/2008 14:45:32 - User group written to file Mar/25/2008 14:45:32 -
Writing data to file: C:\Program Files\Hewlett-Packard\Sanworks\Element Manager for StorageWorks HSV\ccbgn.cfg

Mar/25/2008 14:45:32 - Encrypted data written to file

Mar/25/2008 14:45:32 - End of group name operation
This file indicates:
  • a host name of HSV2INTEL
  • a domain name of STORAGETEAM
  • the user group in use is a local group (hostname\group name)
  • the admin group being used is a local group (hostname\groupname)
If domain level group was used, the format would be domainname\groupname (example: STORAGETEAM\HP Storage Admins ).
In addition, the user account must have "access this computer from the network" right.
The Command View trace file may provide further information if the preceding steps do not resolve the issue.
Keywords: Insufficient Privileges


總結就是,當初安裝 storage software 時,
電腦名稱是什麼,使用者有什麼,就別手賤去改.
不然,結果就是出現奇怪的錯誤,卻不知該如何解決?

以上!

2009年3月7日 星期六

2009年3月3日 星期二

VirtualBox OSE 不好用!

直接挑明講吧!
Open Source Edition 是有那麼一點難用。
老問題,LINUX的更新和 VirtualBox 的更新,難免有落差。
要是更新了 LINUX kernel ,而VirtualBox-OSE卻没辦法跟上更新。
就會發生無法再使用 VirtualBox-OSE 的現象。

目前是 VirtualBox 2.1 版!
辛苦一點,再換回來用用看吧。

http://www.virtualbox.org/wiki/Linux_Downloads

2009年3月1日 星期日

成就DBA職業生涯-[轉貼]

轉自 http://www.oracle.com.cn/viewthread.php?tid=70746&extra=page%3D1
原來這篇是英文,被翻成中文簡體版貼在某論壇![網址如上]
我見內容參考性,很值得讓像我這種資訊領域中走到一個瓶頸,想摸索出方向.
想為自己的資訊職場規劃,找條出路的人.
希望有對資料庫DBA工作有興趣的人,看看內容,再想一想!
規劃好你自己的電腦資訊學習之路!

介紹

許多年來,我在不同的新聞組上花費了很多時間與那些想知道如何得到數據庫管理員(DBA)的工作或者如何成長為一名DBA的IT人進行交談,現在他們有了工作。這些年來許多人針對如何達到這個目標提出了不同意見。本文即是那些意見的綜合並且能夠在如何才能出色的完成DBA的工作方面給出好的建議。這篇文章同樣對於如何讓一名DBA變得對老板更有價值。假如你已經是一名DBA,那麼也許你會希望跳過文章的前幾段。

我應該成為一名DBA麼?

我曾問過的一個問題是一個人應該從事DBA這樣的職業麼。這個問題並不容易回答,因為它因人而異。有的人有成為一名好DBA所需要的天賦。而其他人並不認為能夠很容易掌握成為DBA的秘訣。DBA職業需要掌握一定的技能。而且還需要其他IT職業所不必需的要求。因此,為了回答這個問題,我通常給將要成為DBA的人描述DBA職業所必需的要求。下面的段落中,我都將以問題結尾。在繼續下一段以前請花一些時間考慮並且回答這些問題。

許多人因為許多原因而立志要成為DBA。其中一個主要原因是薪水。DBA是IT業中薪水最高的職業之一。其他人想成為DBA是因為喜歡贊揚DBA是受到的榮譽,或者因為他看上去很酷!我個人認為,成為DBA是很值得的。它是一個很有意思,令人興奮的職業。那麼,你把DBA作為一個可能的職業選擇的原因是什麼呢?

除非你已經提前准備好了,否則你可能會發現從事DBA職業充滿了挫折和令人頭痛。一個數據庫存在於操作系統和最終用戶應用程序之間。同樣地,DBA必須非常精通他的數據庫所在的操作系統。DBA並不一定需要知道所有有關操作系統的知識,但是他知道得越多越好。數據庫與操作系統聯系非常緊密。理解這種關聯是十分必要的。DBA還需要知道服務器硬件以及它如何影響與幫助數據庫。同時,DBA必須理解應用軟件。DBA可能會被要求幫助開發人員創建可靠,健全的數據庫應用程序。還有,最重要的也是最明顯的,DBA必須十分徹底的理解數據庫引擎,它是如何工作的,所有的引擎是如何組合在一起的,以及如何影響數據庫引擎向最終用戶和應用程序傳送數據的能力。我見過的最好的DBA有非常深刻的理解而且不僅僅在數據庫本身。他們知道一些系統管理與應用開發。好多時候他們在成為DBA之前有其中一個或兩個背景。無論如何,成為一名合格的而不是出色的DBA也需要許多背景知識。你是否已經做好准備開始學習直到你感到已經無法再學下去了?

許多和我交談過的,在開始DBA職業時遇到困難的人,在嘗試著吸收大量DBA所需了解的信息時實際上都會有一些問題。畢竟系統管理員是全職學習操作系統的細節。應用程序開發人員全職學習如何編寫好的程序。DBA不僅要非常了解這兩種不同的工作,而且還需要花費更多的時間去理解數據庫的體系結構,以及理解每一樣東西的每一塊是如何組合在一起的!聽起來是不是很讓人畏縮?有許多人失敗後這樣想,並且把DBA工作看作一項非常困難的事情。也有那些傳播和理解所有這些信息,並且使用這些信息做出好的,聽起來具有技術性的決定的人。正如我以前是一名DBA時喜歡說的,所有這些對我來說看上去像一個大謎團。把這些所有的很好的組合在一起就是挑戰。你是哪一種人?

許多DBA是隨時侯命的。他們會在白天或晚上的所有時間接到呼叫去解決他們的數據庫出現的致命問題。數據庫是商業信息技術基礎組織的必不可少的組成部分。沒有數據,就沒有必要擁有一個計算機系統。數據推動商業。假如amazon.com的網站不能在數據庫中搜索產品並且假如沒有人能夠為他們的產品下訂單,那麼它會變成什麼樣?它就不會在商業中存在很久。當數據庫down掉,即使只是很短的時間,公司也會損失重大。基於這個原因,DBA到達現場後必須盡可能迅速的解決問題。許多公司有自己的DBA團隊以便可以輪流待命。這些DBA 24x7小時的維持數據庫應用程序。假如工作需要的話,你准備好隨時候命了麼?

一些DBA的職責包括為軟件打補丁或者對數據庫做些改變。通常,這些操作不能在公司職員工作的時候做,因為此時數據庫必須運行以便他們能夠工作。這意味著DBA經常不得不在很早或者深夜甚至周末,總之,在正常工作時間以外來完成工作。你准備好在非正常時間工作,或者你在找一個朝九晚五的工作?

對DBA而言,需要掌握的一個重要內容就是通常被稱為「軟技術」的東西。DBA需要在團隊中很好的工作,通常團隊是在變化的,如系統管理員,網絡管理員,應用程序開發人員,項目經理和其他人。DBA要能夠用流利的英語解釋複雜的技術概念,讓團隊中其他人明白。DBA還要能夠在數據庫相關問題上指揮團隊隊員。你的軟技術怎麼樣?

下面不是全部列表,但是包括了DBA的典型職責:
• 把監視數據庫實例當作每日必做工作以保證其可用性。解決不可用的問題。
• 收集系統統計和性能信息以便定向和配置分析。
• 配置和調整數據庫實例以便在應用程序特定要求下達到最佳性能。
• 分析和管理數據庫安全性。控制和監視用戶對數據庫的訪問。必要時審計數據庫的使用。
• 監視備份程序。必要時提供恢複。測試備份與恢複程序。
• 升級RDBMS軟件並且在必要時使用補丁。必要時升級或者遷移數據庫實例。
• 通過數據庫相關動作來支持應用程序開發人員。
• 跟隨數據庫趨向和技術。當可應用時使用新技術。安裝,測試和評估Oracle新的相關產品。
• 執行存儲和物理設計。均衡設計問題以完成性能優化。
• 創建,配置和設計信的數據庫實例。
• 診斷,故障檢測和解決任何數據庫相關問題。必要時聯系Oracle支持人員以便使問題得到較好的解決。
• 確保Oracle網絡軟件(SQL*Net, Net8, Names, OiD)配置和運行的很好。
• 與系統管理員(Unix & NT)一起工作以保證Oracle相關事務得到很好的處理。
• 為有效的,定期的維護數據庫創建任何必要的腳本。

前面各段的問題是為了使你考慮一名DBA該做些什麼,幫助你決定這是不是適合你的職業。我並非意味著假如你的目標是成為DBA這些會阻止你。我只是嘗試著展現一些事實。我看到過一些DBA一旦被實際工作打擊了就一蹶不振。他們花費時間,精力和一些金錢獲得了他們的第一份DBA工作。我個人認為這個職業非常有價值。而且我無法想像現在做任何其他的會怎樣。所以,這一段幫助你決定這是不是你希望從事的。假如它是,那麼盡你所有去得到它!


我怎樣得到第一份DBA工作?
你已經閱讀了前面的段落並且認為成為一名DBA是一個好的職業。祝賀你!我希望你的職業能變成你想像得那麼令人興奮和有意義。那麼,你如何找到第一份DBA工作?這個問題我已經聽別人問了許多許多遍。

在90年代早期,因特網急速發展。它使公司象草一般萌芽。公司蜂擁而至並且開始創建他們在網上的形象。幾乎所有這些有網站的公司都需要一個數據庫作為web應用的後台。不幸的是,當時在該領域卻沒有那麼多DBA。在IT業,DBA變得奇缺。那段時間裏,得到一份DBA工作看上去只要可以拼出「Oracle」或者可能只是在大學裏接觸過一學期的數據庫就行。為了使生活變得更好,DBA的匱乏促使公司付給有潛力的職員很高的薪水。假如你想要成為一名DBA,很容易,非常容易。你需要做的就是證明你了解什麼是數據庫然後工作就會比你預期的更早的出現在你面前。

然後因特網的泡沫破滅了。大量投產因特網的公司破產。許多給公司工作的DBA重新尋找工作。缺少DBA的公司找到一名有DBA經驗的人比以前容易得多。在21世紀初期,由於經濟並不十分穩固,因此生活並不容易(至少在美國如此)。公司都勒緊了他們的褲腰帶。所有這些轉化為更少的工作機會和DBA候選人更少的工作空缺。

得到第一份DBA工作的最艱難的部分是每一個職位都要求有一些工作經驗。如果你從公司的角度出發,你就可以理解為什麼對DBA職位而言經驗是必需的。假如他沒有一點經驗,你會付給這個人很高的工資讓他去操作,維護和運行你IT基礎組織的最大最重要的一部分麼?你的公司會付錢給一名沒有經驗的DBA麼?並且,在等待他成長起來的過程中可能會損失上百萬美元的收入。對大多數公司而言,這些問題的答案肯定是『不』。所以,沒有經驗,獲得你的第一份DBA工作是很困難的。

第一份DBA工作現在成了惡性循環的境遇。假如我沒有任何經驗,我怎樣才能得到DBA的工作呢?我沒有工作的話又怎麼能得到DBA經驗呢?這是要戰勝的最困難的障礙。最困難的部分是獲得第一個DBA工作。這部分的剩下部分將針對實現你第一個DBA工作的目標給你一些建議。

提示#1:接受教育。--盡可能多的學習有關數據庫的知識。這很可能將占用你正常工作以外的部分時間也精力。參加本地大學舉辦的數據庫培訓班。許多培訓公司都會舉辦數據庫管理員的培訓班。假如你的老板不資助你的學習,那麼你可能不得不自己支付這筆費用。許多DBA職業要求至少為計算機科學或相關專業本科以上學曆,因此你必須至少有那樣的文憑。

提示#2:鍛煉成為DBA。--許多數據庫供應商都允許你下載他們數據庫系統的測試版或評估版。下載一份並且在自己的個人電腦上安裝軟件。練習使用數據庫。故意破壞數據庫並且嘗試修複它。嘗試著履行你所能想到的盡可能多的DBA職責。測試和磨練你在自己的測試平台上的技能這樣你就可以證明你的數據庫管理能力。

提示#3:獲得認證。--許多數據庫提供商都提供自己的數據庫產品的認證。許多公司現在都把認證看作是一種標准。需要記住的一件事是僅獲得認證是不夠的。通過DBA認證測試並不意味著你知道如何管理一個數據庫。它只是告訴你以後可能的老板,現在你擁有了一定的技術。它還告訴你的老板你對DBA工作的態度是很認真的。我看到許多人抱怨他們已經得到了認證但是沒有經驗,卻仍然不能得到第一份DBA工作。認證本身並不能使你得到工作,但它是無害的。即使沒有其他的,在你進行認證的時候你也已經學到了許多知識。只是不要依賴認證來給你帶來你要找的工作。你需要的比這還要多。但它會在最後幫助你。

提示#4:利用你現有的技能。--許多DBA具有系統管理員背景。其他的有應用程序開發背景。假如可能,查看你能否利用現有的技能來得到工作。現在的目標就是為你和你的老板創造一個雙贏的局面。例如,讓我們假設你已經是一名系統管理員而想進入DBA領域。也許你會找到一份工作,這份工作一部分時間裏可以用到你的系統管理技能,並且在剩下的時間裏可以使你涉及到數據庫管理領域。假如你已經是一名某個產品平台上的DBA但你希望轉到其他產品平台,那麼看看你能否找到一份同時接觸兩個產品平台的工作。這樣,公司和你都得到了想要的。在你定向到了DBA工作後,你可以試著得到一個能讓你全職作它的職位,也許還可以在同一個公司中。

提示#5:利用現在的機會。--有時候,一個人進入DBA領域僅僅需要的是正確的地方和正確的時機。假如你現在的老板有一個機會讓你進行任何數據庫的項目,抓住這個機會!任何數據庫經驗就比沒有數據庫經驗要好。讓你的管理者知道你十分積極的在尋找任何可能的數據庫機會。他們就有可能在下次機會到來的時候想到你。進行這些數據庫項目以及看到你要成為一個DBA的渴望以後,他們可能會決定培訓你,提拔你。許多許多人都是以這種方式獲得他的第一個DBA工作,在進行了一些數據庫相關的項目後不知不覺的成為一名較低級的DBA。通常當一名DBA離開公司後,公司將在內部尋找一個候選人,假如他們認為這名候選人是可訓練的話。

提示#6:尋找較低級的DBA職位。--假如你只是為了一個較低級的DBA工作,看到DBA職位的需求描述說他們正在尋找高級DBA或者其他的。所以,讓我們嚴謹一些。你並沒有一個高級方面的經驗。我已經討論過了對於這樣的職位為什麼公司不會考慮你。但是他們會在低級的職位上考慮你。低級的DBA在高級DBA的指導下完成工作。他們摸索竅門。一般來說,高級DBA對數據庫承擔責任,同時也獲得所有的榮譽。但是不要焦急。隨著你的事業發展,你將會有越來越多的責任和得到越來越多的信任。因為你沒有任何經驗,你應該從這裏開始啟航。

我也聽到過一些公司尋找一名高級DBA,但是到最後,他們實際想要雇一名低級的DBA。你或許希望申請這樣的職位雖然你也許沒有資格。他們可能還是會決定雇傭你。但是提前說明你仍然在摸索階段並且已經是較低級的DBA水平。不要試圖欺騙他們讓他們認為你是高級DBA的水平。這只會降低你得到這項工作的機會。

這些提示將幫助你得到第一份DBA的工作。祝你在尋找工作時有好運氣。當你已經找到了第一份DBA工作後,繼續下面的部分來學習如何往下走下去。


我剛得到我的第一份工作!現在該怎樣?

祝賀你!你現在是DBA俱樂部的正式成員了!對於這份夢寐以求的令人激動的職業,你准備好了麼?你的工作才剛開始並且你在學習上已經落在後面。你將會發現要成為一名高效的數據庫管理員有大量的知識你必須掌握。你的第一年或前兩年將花費比以前更多的時間來學習。假如你發現學習知識的數量使你大腦超負荷,那麼休息一下,歇口氣,然後再回到學習中去。為了幫助你繼續走下去,你可以按照下面的方法進行:

步驟#1: 關系型數據庫理論 –這部分我假設你將管理的數據庫是一個「關系型」數據庫。其他數據庫模型也存在,但是關系型模式是近二十年工業上占統治地位的一種數據庫模式。假如你的數據庫系統是其他的模式,那麼學習它的理論。相關數據庫理論是十分重要的。它是其他一切的基礎。我也看到許多跳到數據庫管理職位的人從不想去學習純粹的關系型數據庫理論。不可避免的,在他們的事業中對理論基礎的匱乏作為缺點暴露了出來。假如你對關系型數據庫理論理解得很好,那麼你將非常容易的在任何平台的關系型數據庫管理系統(RDBMS)中轉變。我使用Oracle數據庫,或者IBM的DB2,或者微軟的SQL Server是無關緊要的。他們都是關系型數據庫系統。他們在最底層都在做著相同的事情。區別在於他們怎樣去做相同的事情。純粹的關系型數據庫理論對於較低級的DBA來說並非必需的。但是假如你想要超越低級DBA的水平它就是十分重要的。許多大學的教科書都很好的包含了關系型數據庫的理論。其中一本被廣泛使用的教科書就是由Elmasri and Navathe編寫的數據庫系統基礎,Bejamin/Cummings Press。

步驟#2: 徹底的學習查詢語言 –數據庫都有語言讓你能夠從數據庫中得到數據,把數據放到數據庫中,以及修改數據庫中的數據。對於關系型數據庫而言,這種語言就是結構化查詢語言(SQL)。這門語言是你與數據庫接觸的工具。不能讓這個工具成為以後學習的障礙,這一點很重要。在你的測試數據庫中練習不同的SQL語句直到他們變成了你的習慣。這方面的一本非常好的書叫做Oracle 9i完全參考(Oracle 9i The Complete Reference)由Loney 和Koch編寫,Oracle Press。每一名Oracle DBA都應該在他事業的早期閱讀這本書。Oracle 9i參考手冊(Oracle 9i SQL Reference manual)是另一個很重要的知識來源。在他們的技術網站TechNet上(http://technet.oracle.com)你可以訪問所有的Oracle在線文檔。你必須注冊一個賬號,但是它是免費的。每個都應該在TechNet上有一個賬號。

步驟#3: 開始學習基本的數據庫管理工作 –這難道不是你最開始在這裏的原因?為什麼它在列表的第三位?我們嘗試著建造一個知識的金字塔,我強烈的感覺到一個人需要知道關系型數據庫理論和SQL,並且在你學習如何進行基本的數據庫管理工作時把他們當作工具來使用。這些工作包括啟動和關閉數據庫,備份和恢複數據庫,以及創建/刪除/修改數據庫對象。對於Oracle數據庫管理而言,在市面上有大量的書籍可以給你所期望的一個很好的體會。這本書是Oracle 9i DBA手冊(Oracle 9i DBA Handbook by Loney on Oracle Press)。我知道的大多數DBA都在他們事業的早期不只一遍的閱讀過這本書。這裏,你應該同時閱讀和理解Oracle 9i 概念指導,Oracle 9i管理員指導,以及Oracle 9i備份與恢複指導(Oracle 9i Concepts Guide, the Oracle 9i Administrator』s Guide, and the Oracle 9i Backup and Recovery Guide)都來自Oracle文檔。

步驟#4: 閱讀,閱讀,再閱讀 –由於你才剛開始你的DBA職業生涯,因此你正在開始為你的技能奠定基礎。這需要一段很長的時間去形成,吸收和領會所有你將學到的知識。毫無疑問的,比你資深的DBA由許多工作要做,因此他們可能不會總是騰出大量時間輔導你的學習。你不得不靠自己學習很多東西。這就是閱讀的目的。市面上有許多書籍可以解答許多數據庫相關的話題。Oracle Press是Oracle公司的官方出版社,有大量的Oracle相關書籍。同時也有其他的出版社,如Wrox Press 和 O』Reilly Press。你也可以找到Oracle文檔來閱讀。並且還有許多網站和新聞組。盡可能多的讀書使你能夠繼續下去。還有,不只一遍的閱讀它們可以使你吸收你第一次閱讀時錯過的內容。

步驟#5: 創建測試案例 –我經常看到初學者問一些很基礎的問題,其實假如他們花一些時間來考慮,這些問題都是很容易解答的。毫無疑問的,在你開始學習Oracle的時候你會有許多的問題。看看這些問題你能不能自己回答出來。例如,我又一次被問到能不能向有唯一性約束的列中插入空值。最開始,這看上去也許不是很容易回答的問題。但它卻是非常容易去試驗的!只需要創建一個簡單的表。在其中的一列,假如唯一性約束。嘗試著在該列插入一個空值。有效麼?你應該能夠非常容易的回答出這個問題了。那麼,為什麼要創建這些案例呢?一個原因是這樣做可以提高你解決問題的能力。創建這些案例需要的技能就是解決問題用到的技能。解決問題的技能將會對你的DBA事業有很大的幫助。另一個原因是隨著你的事業的發展,你將經常需要創建更複雜的測試案例以便保證數據庫和應用程序的成功。在將來,甚至簡單的測試案例也可以組成更複雜的數據庫和應用程序分解。

步驟#6: 找一個良師 –一個良師能夠為你的DBA生涯(或者其它類似的職業)引領方向。他們能夠給你指示,回答問題以及在你的DBA的成長過程中幫助你節約一些時間。但願這篇文章能夠在你事業發展的一段時間內起到良師益友的作用。假如你與一名資深的DBA共同工作,那麼那個人應該有責任為你的事業進行有益的指導。你也可以同時選擇其他的人指導你。

步驟#7: 參加本地用戶群 –許多跨國家的城市有本地用戶群,他們定期聚會討論數據庫相關的話題。假如可能,參加其中一個本地用戶群。這將給你一個與他人相互交流的很好的方法。



我如何能夠從一名DBA初學者變為一個具有中級水平的DBA?

你已經成為DBA一段時間了,你現在希望你的技術水平提高一階麼?下一步該怎麼做?首先,往回看前面的部分,確認你已經完成了所有的步驟。徹底理解SQL語言是十分重要的。理解關系型數據庫理論和掌握基本的數據庫管理任務也是非常重要的。到如今,你應該閱讀文檔和其他書籍到已經鬱悶了。假如沒有,那麼你還沒准備好繼續深造,增長你的DBA的技術水平。假如你已經准備好繼續了,我已為你的繼續深造准備了一些方法。

步驟#1: 學習操作系統和你的服務器硬件 – 正如我前面所說,數據庫存在於操作系統和服務器硬件之上。理解這些組成部分如何工作是很必要的。你應該知道如何與特殊的操作系統相合。你如何刪除或者編輯文件?假如你的操作系統是Unix,你應該掌握命令行以及Unix命令如何輔助你工作。對於運行在Windows或其他操作系統上而言也是一樣的。你同時需要對服務器的硬件有一定的了解。物理內存和虛擬內存有什麼區別?RAID是什麼以及不同的級別是如何產生影響的?為什麼數據庫喜歡更多的物理硬盤而非一個大硬盤卷?你需要知道這些事情以便你能夠容易的與系統管理員進行如何配置好你的服務器以便使它能夠充分的支持數據庫方面的交談。

步驟#2: 學習應用程序設計因為它與數據庫相關 – 如前面所述,數據庫存在於操作系統與數據庫應用程序之間。你真的需要這兩者。SQL語言是如何幫助創建好的應用程序的?綁定變量是什麼並且為什麼他們很重要?Tom Kyte 寫了一本非常好的書,在Oracle應用程序設計上給出了很好的建議。他的Expert One-on-one Oracle書可在 Wrox Press找到。我強烈推薦閱讀此書。他詳細的敘述了那些能夠生成和破壞Oracle應用程序的東西。你需要知道這些,因為你的應用程序開發人員希望從你這裏得到指導和數據庫知識。學習任何與應用程序設計有關的知識。也許參加一個關於軟件工程,操作系統或數據結構的課程班會有好處。

步驟#4: 取得認證 – 也許你的工作並不需要,但是取得認證一定對你有益。作為DBA的每一天裏,你學到了許多新的和令人激動的事情。也許在你職業生涯的這段時間裏,有幾天你沒學到任何新的東西。但你仍然有很多要學習。成為一名OCP(Oracle Certified Professional) DBA要求你必須已經學到了數據庫管理所有方面的基礎。我發現在OCP考試的學習過程中,我學到了在我工作中從未接觸過的東西。一次我學到了我從未碰到過的一個特殊課題,在後來的日子裏我就能夠使用那個知識解決問題。假如我從為在OCP考試中學倒它,那麼我永遠也不會用那種特殊的方法去解決問題。這已經一次次的發生在我的面前。有的人可能會說認證實際上真的不值得。我要說它只會對你有益無害。所以,去取得認證吧!

步驟#5: 獲得一個資源庫 – 在前面的部分中,我指出每個DBA都應該在Technet上有個賬號。這是你其中一個主要資源。但是同時還有許多其他資源。很多人共享他們的Oracle知識。假如你還沒有開始,你應該用網絡瀏覽器去搜索並收集很多Oracle資源。願意的話,你可以從訪問我的網站(http://www.peasland.net)開始。下面是一些Oracle DBA必須了解得網站列表:
 Ask Tom – http://asktom.oracle.com
 Jonathan Lewis web site - http://www.jlcomp.demon.co.uk/
 Ixora (Steve Adams) – http://www.ixora.com.au
 Orapub – http://www.orapub.com
 Metalink (Oracle支持網站) – http://metalink.oracle.com

還有許多其它的好網站。

步驟#6: 開始在不同的新聞組和論壇上交流 – 也許你已經發現了他們,但假如現在你還沒有那麼是時候去開始了。有許多的新聞組和論壇可以回答你的任何Oracle問題。在Oracle群落裏還有許多高手願意和你共享他們的知識。你所要做的就是提問。下面是一個列表包含了可以開始交流的最好的因特網團體:

 Usenet newsgroups – comp.databases.oracle.server 和 comp.databases.oracle.misc 是兩個可以交流的非常著名的世界性的新聞組。他們擁有大量的針對Oracle問題的交流卷宗。觀看這些組的最好的方法式使用新聞廣播員。但是假如你想通過基於web的方式訪問,也可以通過Google搜索引擎搜索它。 (http://groups.google.com/groups? ... mp.databases.oracle)
 Quest Pipelines – 當他們在最開始還屬於軟件提供商RevealNet的時候,被稱為the RevealNet Pipelines。現在,Quest購買了RevealNet 並且擁有Pipelines 。因為Pipelines是中等的,所以這些是我最喜歡的。你可以在這裏找到Pipelines (http://www.quest-pipelines.com/index.asp)。

觀察別人是如何經曆考驗和磨難的是一件好事。假如你有問題,可以自由的在群裏提出來。假如你要提出問題,通常應該包括一些信息,比如你的Oracle版本和Oracle運行的平台。這些將會得到有很大的差別的答案。假如你忘記了,會有人提醒你!甚至你不用提問也可以從其他人的答案中學到許多知識。我已經記不得多少次我之所以能夠解決問題完全是因為我記得其他人在新聞組裏問過相同的問題。


我如何從一名具有中級水平的DBA轉變為一名高級DBA?

好,作為DBA你已經堅持不懈的努力了很長時間。你感到自己已經准備好往前再走一步。成為一名高級DBA需要什麼?下面的部分將幫助你走下去。

步驟#1: 閱讀所有的文檔 – Oracle文檔通常並不是很容易閱讀的。無數次,你翻閱文檔只是為了要弄清整件事情。假如文檔是最好的東西,那麼那些站在你的書架裏的Oracle書籍就不會有市場。但是文檔確實包含了一些無法在任何其他地方找到的信息。例如,你無法找到每一個專門的INIT.ORA參數或V$視圖的詳細說明。書本上也許會涉及一部分,但是Oracle文檔卻包含它們所有。我遇到過一個非常厲害的高級DBA,他沒有從頭至尾的閱讀過Oracle文檔。這不是偶然的。Oracle文檔是必須閱讀的。也許到現在為止你已經讀過Oracle概念指導十二遍了。但是當Oracle 10i發布了,你還要再次閱讀。任何有關10i的新概念將在文檔裏記錄。假如你真的想更上一層,那麼,去閱讀那些文檔。不要逃避它。

步驟#2: 成為一名專家 – Oracle數據庫是一個非常複雜的東西。為了更上一層,你必須精通產品的許多組成部分。以備份與恢複開始。成為一名備份與恢複的專家。故意的破壞數據庫然後察看如何恢複它。嘗試以任何可能的方式破壞數據庫然後查看還有沒有可能恢複。你將徹底的理解備份與恢複的概念。在你成為了備份與恢複的專家以後,再去成為其他領域的專家。你會有無窮無盡的題目要去掌握。在你整個職業生涯中都保持如此。但是請記住,無論你有多麼專業,在某些領域,某些人會在某些方面知道的比你多。不要帶個人情緒。只是盡可能多的從那個人那裏學到知識。

Route #3: 積極參加新聞組,論壇和用戶組 – 在前面,我提過為什麼不同的新聞組和論壇是學習新知識的很好的地方。現在輪到你進行下一步並且去回答任何你能夠回答的問題。你將會驚訝於在這過程中你能學到那麼多!

Route #4: 寫白皮書並且展示它們 – 這與前面提到的方法類似。首先,共享你擁有的知識是很重要的。假如你的職業生涯已經走到這一步,那麼從某種意義上講,是離不開他人的貢獻的。所以,現在是你為他人奉獻的時候了。第二,當你企圖共享你的信息的時候會有令人驚異的事情發生。在你要用清楚的,簡練的語言表述問題以便其他人能夠使用時,那些信息在你的頭腦裏經過了一個令人瞠目的過程。這個過程使你鞏固了知識,這是無法通過其它方法進行的。所以在白皮書中共享那些信息,討論會,以及新聞組和論壇都是你學習和使你的能力更上一層的非常好的方法。順著這條路,你應該作兩件事。第一,認識到你將會犯錯誤。其他人將會很高興的指出那些錯誤,有時在某種意義上那並不是很好。不要企圖掩藏你的錯誤。承認它們並從它們那裏學習。第二,學會說你不知道答案而不是企圖以欺騙的方式通過。人們早晚會知道你在企圖蒙蔽他們。簡單的告訴他們現在你對答案並不肯定,但你會在查到答案後回來告訴他們。假如你時刻謹記這兩件事,你就不會違背你的誠實而且你將成長為一名職業的IT人。

步驟#5: 成為解決Oracle問題的專家– 高級DBA通常都是被看作是解決複雜的Oracle問題的人。你將會用到你所有的技術來解決許多問題,這些技術都是你的職業生涯中積累下來的。我前面提到的任何事都將會在解決問題的過程中用到;文檔,書籍,新聞組,測試案例,和其它DBA都將輔助你解決問題。

步驟#6: 成為性能調優的專家– 高級DBA通常都是被看作是調整數據庫和應用程序性能的人。假如你是高級DBA但是你卻不能分析性能瓶頸,那麼你的公司將會到別處尋找這些服務。

步驟#7: 成為承載能力計劃的專家– 高級DBA通常都是被看作是根據數據增長量和交易增長來計劃數據庫承載能力的人。高級DBA需要在影響應用程序性能以前發現系統瓶頸。例如,DBA應該知道在數據庫將可用的磁盤空間用完以前預置更多的磁盤空間。不密切關注承載能力計劃將會導致生產數據庫宕機。

步驟#8: 密切關注新的技術– 高級DBA應該對IT界的關數據庫技術的未來有好的建議。有什麼可用的技術可以幫助數據庫?例如,學習存儲領域網的優缺點以及如何把它們應用到數據庫系統。有什麼技術在不遠的將來可以用,哪些能夠幫助我們?例如,寫這篇文章的時候,linux操作系統正在變得越來越流行。Lunix會給你的數據庫操作系統平台帶來些什麼?它能為你的公司工作麼?


結論

從獲得第一份工作,到從一名初級的DBA成長成一名高級DBA,我希望這篇文章在如何度過你的職業生涯的各個階段方面給了你一些建議。無論你現在處在你的DBA職業生涯的哪一階段都可以用到這篇文章。

搜尋此網誌

本站大事記

這個部落格(網站)內容以分享LINUX和延伸出的技術文章為主!
特別是為了工作和進修需要,搜集了不少網站連結。
希望對來這裡觀文的朋友們,有提供一些有用的資訊或文章。
但這裡的文章中,也包含個人的心情扎記和隨興言談……
若是當中沒有對上你的口味,請多包涵!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!

原「琳娜絲與希斯寇的邂逅」,改名為「愛上琳娜絲」!
--原序文--
就是當LINUX遇上CISCO啦!他們的結合還能作什麼事…不就是讓這個世界的網路,串…串起來啊…不然你們那能上這網站看部落格!