應該怎么樣安裝數據庫,從安裝軟件到創建數據庫?對于這個問題,或許有的人不屑一顧,因為他們覺得這沒有絲毫問題;同時有另一部分人,覺得這是個大問題。
創新互聯建站是專業的張灣網站建設公司,張灣接單;提供成都網站制作、成都網站建設、外貿營銷網站建設,網頁設計,網站設計,建網站,PHP網站建設等專業做網站服務;采用PHP框架,可快速的進行張灣網站開發網頁制作和功能擴展;專業做搜索引擎喜愛的網站,專業的做網站團隊,希望更多企業前來合作!
在安裝Oracle上,通常會有幾種類型的人:
完全抓不著頭腦,不知道怎么安裝,這通常是初學者,連Linux/Unix都不太熟悉。
很少安裝Oracle的人,但是知道對照文檔一步一步操作,出了錯也知道上google、baidu和metalink查找解決方案。
Oracle老手,安裝數據庫不需要任何文檔,對每個步驟也很熟悉。
對Oracle的安裝非常熟悉,但是在安裝時仍然按文檔一步一步操作。
對我個人來說,我是最后一種類型的人。我也自認為安裝了不少的數據庫,覆蓋了大部分的平臺和操作系統。但我安裝的時候,仍然會不嫌麻煩的一步一步操作按文檔操作。在安裝數據庫軟件包括建庫,基本上沒有遇到過什么問題。因為我也見過
很多朋友,被安裝這一問題折騰得焦頭爛額,特別是在安裝RAC的時候,這里只是寫一寫我自己的一些做法,僅供參考,畢竟每個人都有自己的習慣和做法。
本文主要描述Linux/Unix下的Oracle安裝,不涉及Windows系統下的安裝。
我的習慣做法:
平時注意收集安裝文檔,包括oracle online document(所謂的官方文檔),metalink上的,還有IBM、HP這些公司與Oracle合作部門提供的文檔。oracle online document中安裝部分沒事看一遍就可以了,但是metalink上很多文檔詳細地記錄了版本的兼容性,安裝時可能出現的問題以及解決辦法等等,比如很實用的文檔:《Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]》、《Linux OS Requirements Reference List for Database Server [ID 851598.1]》、《Status of Certification of Oracle Clusterware with HACMP [ID 404474.1]》。而其他廠商的文檔包括:《CookBook_V3.2_Oracle_9i_RAC_AIX5L》、《COOKBOOK_Oracle CTC RAC10g R2 on HP-UX》、《COOKBOOK-V2.0-10gRAC R2 - ASM - AIX5L - SAN Storage》如此等等,還包括網上一些朋友自己撰寫的安裝文檔。在參考這些文檔時,需要注意的是,一定要明白每一個步驟其目的,有什么作用。
根據以上提到的文檔,進行整理,形成自己的文檔。我在前面說到,我安裝時一步一步按文檔操作,是指的按我自己的文檔,而不是去參考前面提到的若干文檔。在自己的文檔中,甚至提供了詳細的命令,這樣在安裝的時候對某些不熟悉的命令不至于現查資料。
深入理解文檔中提到的各個參數、各個命令的作用。這不光是對安裝,而對于Oracle數據庫的更深入理解也是大有好處的。
安裝Oracle數據庫時,在安裝軟件之前,通常有下面的操作:
檢查操作系統版本、相應組件是否安裝,是否有安裝好文檔中指定的補丁,也包括c編譯器或c語行環境,這些對Linux下的安裝來說猶為重要。
檢查文件系統空間,特別是/tmp臨時文件系統
檢查memory大小,特別是swap的大小。特別是在HP-UX下,swap的管理方式與其他系統有些不一樣(此處不再細述),最
好能夠達到物理內存大小,對于特別大的物理內存,至少也要達到一半。
檢查主機時區,時間設置。這一步通常被很多人忽略。
檢查主機名設置,有的安裝系統相當不負責任,直接將主機取名localhost。
檢查異步IO設置。
檢查網絡設置,包括/etc/hosts文件的設置,特別是對RAC數據庫猶為重要。
檢查內核參數,特別是共享內存、信號量、用戶最多可運行進程數這些參數。
oracle用戶創建后,注意編輯profile文件,設置相應的環境變量,注意不同的平臺,相同意義的環境變量卻有不同的名字,比如linux下的LD_LIBRARY_PATH和AIX下的LIBPATH。經常見到有的系統,oracle的PATH都沒有設置,這樣登錄后操作相當不方便。
對Oracle用戶設置limit,通常是直接編輯/etc/security/limits.conf文件。
給Oracle用戶一些特定的權限,比如HP-UX下修改/etc/privgroup文件,10.2.0.4 for AIX下給用戶CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, CAP_PROPAGATE 這樣的權限等等。
對于RAC,還需要設置rsh或ssh
至于安裝的其他步驟,不是本文所要講的主要內容,在此略過。
還要提及一點,安裝的時候對于目錄的選擇,可以按照OFA的標準做法,也可以按照使用部門的習慣,建議使用OFA。經常有見到一些亂七八糟的目錄,讓人好找,這種做法不太好。
說到安裝,不能不提到打補丁。在安裝完成后,最好是打上較新的補丁包以及metlink上提到的一些建議打的補丁。而等到系統正式使用,發現問題再打補丁,其代價就昂貴得多。
由于安裝Oracle軟件以及升級版本和打補丁,比較耗時,有的朋友就喜歡下面的做法:安裝好軟件,打上補丁,然后tar成一個包,保存在自己的存儲介質上,下次在其他主機上安裝時,直接用這個tar包解開。這種做法可以省一些安裝軟件的時間,但是需要tar包的環境是否一致。我曾遇到過下面的問題:
某套新裝9208的庫,報ORA-600[504]錯誤,通過在metalink上搜索發現其最符合的一個BUG對應的補丁已經打上。其他類似環境下,包括有同樣的補丁,卻沒有這樣的錯誤。我找了一臺操作系統完全一樣的測試主機,安裝與有問題庫的版本完全一樣的版本和補丁,卻也沒有這樣的錯誤;接下來我將出問題的Oracle home 復制到測試主機上,結果問題重現了,看起來問題在Oracle軟件上。我嘗試執行relink操作,居然失敗。發現這份Oracle在relink包括有HA代碼,實際上這是一個單機的環境,也沒有安裝HACMP。最后,使用rac_off選項,再重新relink,新生成的oracle,不再出現這樣的問題。在有問題的生產主機上重新relink后,問題解決。
出現問題的Oracle,就是通過解tar文件來安裝的,在主機上我們也發現了以前安裝時保留的tar文件。因此通過這種方式安裝的,建議進行relink。
下面再談談創建數據庫的一些個人經驗:
盡量使用new database(9i)或者custom database(10g)這樣的選項來創建庫,建庫時只安裝必須的組件,這種做法有3個主要好處:更安全、更穩定、以后升級時所花的時間更少。
創建數據庫時注意選擇正確的字符集。
如果是選用模板創建數據庫,注意模板有可能不與Oracle軟件軟件版本相匹配。同時在建庫完成后需要運行相應的腳本,比如在安裝了PSU的情況下,那么使用模板建庫,得需要運行PSU帶的腳本(具體參考PSU的README)。
在打完補丁之后,在創建數據庫,避免在升級軟件之后還要升級數據庫。
建完庫后,建議設置一下大體上合理的數據庫參數。
希望本文能夠對Oracle數據庫的安裝不太熟悉的朋友一些幫助。
一種方法是重裝數據庫后用IMP來導入原來的數據,但使用這種方法的前提是你有以前數據的備份,并且這種方法還有許多不足的地方,如備份過舊,可能會丟失許多數據、導入數據太長等。
一般情況下我們可以采用重用原來的數據庫的方法來恢復。在講步驟前先說說這種方法的原理。
數 據庫與實例對應,當數據庫服務啟動后,我們可以用SQLPLUS "/AS SYSDBA"方法連接到一個空閑的例程,當執行startup啟動數據庫時,首先會在%ORACLE_HOME%/database下找當前SID對應 的參數文件(PFILE或者SPFILE)和密碼文件,然后啟動例程;接著根據參數文件記錄的信息找到控制文件,讀取控制文件的信息,這就是mount數 據庫了;最終根據控制文件的信息打開數據庫。這個過程相當于對數據庫著了一次冷備份的恢復。
下面的具體步驟:(我們假設原庫的所有相關文件都存在)1、安裝數據庫軟件只需安裝同版本的數據庫軟件即可,不需要創建數據庫。最好安裝在和原來數據庫同樣的%ORACLE_HOME%下,省得還要修改參數文件路徑等。(直接覆蓋原來的oracle即可)再次強調,只安裝軟件,不創建數據庫,否則將數據庫軟件安裝在同樣的目錄下舊的部分數據文件會被覆蓋,這樣數據庫也不能被恢復了。
2、新建一個實例在cmd窗口執行oradim -new -sid xinhai注意,這個SID名稱最好與你以前的SID一樣,否則在啟動的數據需要指明pfile,并且需要重建密碼文件,比較麻煩。(當然,如果你就不想用原來的SID也可以,把參數文件、密碼文件的名稱都改成與新SID對應的名稱)。
3、啟動數據庫做完以上兩步,就可以啟動數據庫了。用net start 檢查oracle服務是否已經啟動,如果oracle服務沒有啟動,則在cmd下運行如下命令:net start oracleservicexinhai然后設定必要的環境變量,在cmd窗口運行set ORACLE_SID=xinhai
接著連接數據庫sqlplus "/as sysdba"startup
如果正常的話,數據庫應該就能起來了
4、啟動監聽lsnrctl start
5、后續工作經過以上幾步后,基本上就可以使用oracle了,但是使用起來有點不方便,如每次在cmd中啟動數據庫都需要先SET ORACLE_SID、在本機連接數據庫也都需要加上@TNSNAME等。我們可以修改注冊表,添加ORACLE_SID的信息,避免這些麻煩。
在注冊表的HKEY_LOCAL_MACHINESOFTWAREORACLE下新建字符串值,名稱為ORACLE_SID,值為xinhai。也可以將以下內容保持成一個后綴名為reg的文件(文件名隨便起),然后雙擊,即可將信息導入到注冊表中。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREORACLE]"ORACLE_SID"="xinhai"
注意,以上步驟都是在%ORACLE_HOME%、%ORACLE_SID%都與原庫一樣的情況下討論的,雖然%ORACLE_HOME%和%ORACLE_SID%可以與原庫不一樣,但為了減少麻煩和出錯的幾率,建議不要改變則兩個值。
6、如果系統啟動時 還不能啟動oracle就增加以下
編輯一個oracle_startup.bat文檔 內容為:
set sid=xinhailsnrctl starte:/oracle_startuplog.logsqlplus /nolog @e:oracle_startupsql.txte:/ oracle_startuplog.log
在e盤下增加文檔oracle_startuplog.log,內容為:
connect / as sysdba;startup nomount;alter database mount;alter database open;quit
然后把oracle_startup.bat放到系統啟動項里面,這樣每次啟動系統時oracle就自動啟動了。
1、先到oracle官方網站下載符合自己電腦的版本,有win32、64/linux相關版本,這里以win32位為例,有兩個文件需要下載,都下載完成后,把第二個文件解壓到第一個文件的同名文件夾下面。
2、下載后解壓完成后,雙擊setup.exe進行安裝。
3、然后就是按照自己的需求設計安裝類型和配置密碼(執行先決條件檢查如果不合格,可以全部忽略),然后點擊完成等待軟件完成安裝。
4、安裝完成后出現口令管理界面,設置相關賬號口令,完成即可。
如果你系統是window的話,那么就按以下方面即可,(我每次都這樣用,放心不會有問題)。\x0d\x0a\x0d\x0a1.停止所有與ORACLE相關的服務。\x0d\x0a2. 使用OUI(Oracle Universal Installer)卸載Oracle軟件。\x0d\x0a “開始”-“程序”-“Oracle-OraDb110g_home1|Oracle installation product|Universal installer.\x0d\x0a3.刪除注冊表內容。\x0d\x0a \x0d\x0a 運行regedit命令,刪除下面內容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注冊表鍵,刪除此鍵。\x0d\x0a \x0d\x0a HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,刪除Services鍵下所有以oracle為首的鍵。\x0d\x0a \x0d\x0a HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application, 刪除此鍵下所有以oracle為首的鍵。\x0d\x0a \x0d\x0a HKEY_CLASSES_ROOT,刪除此鍵下所有以Ora,Oracle,Orcl,EnumOra 為前綴的鍵。\x0d\x0a \x0d\x0a HKEY_CURRENT_USER|Software| Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs, 刪除此鍵下所有以oracle為首的鍵。\x0d\x0a \x0d\x0a HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注冊表鍵,刪除了Microsoft ODBC FOR ORACLE注冊表鍵以外的所有有Oracle字樣的鍵值。\x0d\x0a \x0d\x0a HKEY_我的系統上沒找到相關的項\x0d\x0a LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,刪除以Oracle或OraWeb為前綴的鍵。\x0d\x0a \x0d\x0a4. 刪除環境變量。\x0d\x0a 刪除環境變量CLASSPATH,PATH中含有Oracle字樣的值。\x0d\x0a\x0d\x0a5.最后在文件系統內刪除ORACLE相關的文件及目錄:刪除系統盤符:\Progrm Files\Oracle目錄;刪除ORACLE_BASE目錄。\x0d\x0a 我無法刪除D:\oracle目錄,重新啟動機器之后才刪除。
如果你在實際應用中只用了Oracle刪除,一般的情況下,是否會出現當你在重新安裝的時后,點擊下一步時安裝界面就會突然消失,只好重新安裝系統,造成很多的不必要的麻煩,其實只是你數據庫沒刪干凈,刪干凈就不會出現這種情況了。 實現方法:1、 開始->設置->控制面板->管理工具->服務 停止所有Oracle服務。 2、 開始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer 卸裝所有Oracle產品,但Universal Installer本身不能被刪除 3、 運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\Oracle,按del鍵刪除這個入口。 4、 運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動 這個列表,刪除所有Oracle入口。 5、 運行refedit,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application, 刪除所有Oracle入口。 6、開始->設置->控制面板->系統->高級->環境變量刪除環境變量CLASSPATH和PATH中有關Oracle的設定 7、 從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標 8、刪除\Program Files\Oracle目錄 9、 重新啟動計算機,重起后才能完全Oracle刪除所在目錄 10、 刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入口目錄及所有子目錄,并從C:\WINDOWS下刪除以下 文件Oracle.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。 11、 WIN.INI文件中若有[Oracle]的標記段,刪除該段 12、 如有必要,刪除所有Oracle相關的ODBC的DSN 13、 到事件查看器中,Oracle刪除相關的日志 說明: 如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝, 安裝時,選擇一個新的目錄,則,安裝完畢并重新啟動后,老的目錄及文件就可以刪除掉了。
1·在oracle官網上下載oracle數據庫,以Oracle Database 11g?Release 2版本的oracle數據庫為例,其他版本的安裝也大同小異。注意,下載前得Accept?License Agreement.
2·下載并解壓文件,找到setup.exe,雙擊進行安裝。與一般軟件安裝一樣,一路next,接收許可協議中的條款,注意可以自定義安裝路徑。安裝過程中需要設置管理員用戶sys/system的口令密碼(記住這個密碼),通過管理員用戶可以創建普通用戶,輸入密碼后繼續安裝,這里要注意oracle數據庫的監聽器程序端口是1521。
3·安裝成功后,每當windows啟動的時候,oracle服務器跟監聽器就會自動啟動,不常用數據庫時,可以將oracle服務設置為手動啟動模式。設置方法為右擊計算機進入管理系統,進入服務和應用程序中的服務界面,找到oracle數據庫的四個服務器,其中有兩個正在運行,先停止這兩個服務器,然后在屬性中的啟動類型中設置成手動模式。
4·通過SQL命令鏈接數據庫:在開始菜單中的所有應用中找到oracle database,進入運行SQL命令行,在SQL命令行中輸入conn system,會提示你輸入口令,輸入在安裝過程中設置的口令即可鏈接成功。
4·通過windows自帶的命令行鏈接數據庫:找到運行(win+R),輸入cmd進入cmd命令輸入界面,輸入sqlplus,然后輸入管理員用戶名(system)和口令密碼即可鏈接成功。
5·通過windows自帶的命令行鏈接數據庫:找到運行(win+R),輸入cmd進入cmd命令輸入界面,輸入sqlplus “/as sysdba”即可鏈接成功。