java思維

          正在學(xué)習(xí)中:(

          Oracle安裝的一些問題收集

          在安裝過程中出現(xiàn)的一些問題的解決辦法。值得收藏與學(xué)習(xí)。比如在安裝的時(shí)候如果有中文的路徑則會出現(xiàn)類似這樣的提示:加載數(shù)據(jù)庫時(shí)出錯:areasQueries


          Oracle的系統(tǒng)要求
          企業(yè)版:CPU 最低PENTIUM 200M 推薦 PENTIUMIII 1G以上
              內(nèi)存 最低128M 推薦 512M
              硬盤空間 系統(tǒng)盤140M 安裝盤4.5G(FAT32)或2.75G(NTFS)
          標(biāo)準(zhǔn)版:CPU 最低PENTIUM 200M 推薦 PENTIUMIII 866以上
              內(nèi)存 最低128M 推薦 256M
              硬盤空間 系統(tǒng)盤140M 安裝盤4.5G(FAT32)或2.5G(NTFS)
          個人版:CPU 最低PENTIUM 200M 推薦 PENTIUM 266以上
              內(nèi)存 最低128M 推薦 256M
              硬盤空間 系統(tǒng)盤140M 安裝盤4.0G(FAT32)或2.5G(NTFS)
          在P4機(jī)器上安裝Oracle 8i
          P4的計(jì)算機(jī)最好安裝ORACLE 9I,如果不方便的話可以按照以下的方法安裝ORACLE 8I (其實(shí)也不是所有的P4CPU都不可以安裝ORACLE8I, 我的一臺P4 1。7 安裝ORACLE 8.1.6就一點(diǎn)問題沒有)
          一、系統(tǒng)環(huán)境及準(zhǔn)備工作
          硬件:
          Intel P4的處理器
          256M的內(nèi)存
          硬盤有三個分區(qū)C、D、E,光驅(qū)為F
          軟件:
          操作系統(tǒng)WINDOWS 2000 SERVER、WINDOWS 98
          數(shù)據(jù)庫ORACLE 8.0.6 for NT或ORACLE 8.1.x for NT
          準(zhǔn)備工作:
          確保機(jī)器上沒有裝過Oracle產(chǎn)品。如有的話請先卸載,再將注冊表中所有Oracle的相關(guān)項(xiàng)刪除。
          在WINDOWS 2000 SERVER上安裝Oracle Enterprise Edition
          在WINDOWS 98上安裝Oracle Client
          二、故障現(xiàn)象
          1、在WINDOWS 2000 SERVER上安裝Oracle8.0.6時(shí)
          當(dāng)選擇定制安裝,并創(chuàng)建數(shù)據(jù)庫時(shí),主要應(yīng)用程序都已安裝完成,在提示“是否創(chuàng)建數(shù)據(jù)庫”,選擇是后就再也沒有反應(yīng)。重啟機(jī)器后,點(diǎn)擊應(yīng)用程序后沒有反應(yīng)而簡單終斷。 點(diǎn)擊應(yīng)用程序,鼠標(biāo)呈現(xiàn)沙漏狀,然后消失,再沒有任何現(xiàn)象發(fā)生。
          2、在WINDOWS 98上安裝Oracle8.0.6的Client后安裝成功,點(diǎn)擊應(yīng)用程序,提示該程序執(zhí)行了非法操作,即將關(guān)閉。
          3、在WINDOWS 2000 SERVER上安裝Oracle8i時(shí)點(diǎn)擊安裝應(yīng)用程序Setup.exe,程序掛起、或消失、或終止而沒有任何反應(yīng)。
          三、原因分析
          使用Windows NT、 Windows 2000或NetWare操作系統(tǒng)和Intel P4處理器的計(jì)算機(jī),安裝Oracle8或者Oracle8i時(shí),將會碰到以上問題。主要原因是Oralce8 /8i的OUI(Oracle Universal Installer) 1.7.1.9.0或以前版本使用了Sun JRE 和 Symantec JIT(Just in Time Library),而JRE 和 JIT與Intel P4處理器不兼容。
          四、解決辦法
          1、 Oracle 8.0.6的解決辦法
          (1)將安裝盤整個拷貝到硬盤。譬如E:\Oracle806。
          (2)找到目錄E:\Oracle806\win32\JRE11下的symcjit.dll文件,將symcjit.dll改名為為symcjit.old。
          (3)找到目錄E:\Oracle806\win32\JRE11下的Jre11.map文件,用文本編輯工具打開Jre11.map文件,找到以bin開頭的段,在其中可看到" " "symcjit.dll" "%JRE11%\bin\" 398336 false false false 00 00 00 "" "",將此行刪除,然后保存。注意此文件的屬性是只讀的。
          (4)從目錄E:\Oracle806中執(zhí)行安裝文件Setup.exe。
          如果故障的現(xiàn)象是,Oracle8.0.6已經(jīng)安裝完成,但是點(diǎn)擊建Oracle應(yīng)用程序沒有任何反應(yīng)(一般是在WINDOWS 2000 SERVER操作系統(tǒng)中)或點(diǎn)擊應(yīng)用程序如Net8,提示該程序執(zhí)行了非法操作,即將關(guān)閉(一般是在WINDOWS 98操作系統(tǒng)中)。。在這種情況下,可不卸載Oracle,而直接將系統(tǒng)安裝目錄相應(yīng)位置下的symcjit.dll文件改名為symcjit.old即可。
          2、Oracle 8.1.x解決辦法
          (1)創(chuàng)建一臨時(shí)目錄,并將Oracle8i的安裝源程序拷貝到此目錄。找到目錄stage\Components\Oracle.swd.jre\1.1.7.30\1\DataFiles\Expanded\jre\win32\bin下的symcjit.dll 的文件,并改名為 symcjit.old。注意OEM目錄下還有一個symcjit.dll文件要改名。
          (2)搜索到oraparam.ini文件,打開它,改變行RE_MEMORY_OPTIONS=-mx48m的參數(shù)為JRE_MEMORY_OPTIONS=-nojit -ms16m -mx32m
          (3)其它的參數(shù)保持不變。
          (4)執(zhí)行本地硬盤install\win32\setup.exe目錄下的Setup.exe文件。此時(shí)調(diào)用的是修改過的參數(shù)文件oraparam.ini。
          (5)安裝時(shí)選擇自定義模式,并且不創(chuàng)建數(shù)據(jù)庫。
          (6)安裝程序調(diào)用網(wǎng)絡(luò)配置助手Net8 Configuration Assistant (NetCA)時(shí)你需要強(qiáng)制終止它,然后退出安裝界面。
          (7)Oracle8i安裝完成后,安裝目錄中的下列每一個文件都有需要作相應(yīng)修改。
          assistants\dbca\dbassist.cl
          assistants\dbma\dbmig.cl
          assistants\ifa\ifa.cl
          bin\elogin.cl
          bin\owm.cl
          ldap\oidamdin\oidadmin.cl
          network\tools\netasst.cl
          network\tools\netca.cl
          owm\install\instelogin.cl
          owm\install\instowm.cl
          用編輯工具依次打開上述文件,增加參數(shù) – nojit,以dbassist.cl文件為例示意如下:
          Command=("C:\Program Files\Oracle\jre\1.1.7\BIN\JREW" -nojit -classpath ....)
          用相同的方法修改所列出的每一個.cl 文件內(nèi)容。
          (8)安裝成功的完成了,你可以在安裝完成后運(yùn)行DBCA和NetCA。
          在P4機(jī)器上安裝Oracle 8i簡略版
          1、將ORACLE軟件拷貝到硬盤。
          2、將 硬盤目錄文件\stage\Components\Oracle.swd.jre\1.1.7.30/1 \DataFiles\Expanded\jre\win32\bin\symcjit.dll 的文件改名為symcjit.old
          3.從\install\win32 目錄下運(yùn)行SETUP.exe文件進(jìn)行安裝
          Oracle 9i 在2000高級服務(wù)器版上的安裝
          解決方法:
          1. 如果機(jī)器上從來沒有安裝過Oracle817或其他版本的Oracle,則可以把待安裝所有文件解壓到一個臨時(shí)目錄,例如解壓在E盤的temp\install\disk1目錄中,然后用搜索文件工具,找到所有的symcjit.dll文件,將其名字更改為symcjit.old,那么就可以直接運(yùn)行disk1目錄下的setup.exe文件,開始安裝。
          2. 如果機(jī)器上曾經(jīng)安裝過Oracle817,則需要完全卸載Oracle,然后安裝,步驟如下:
          ⑴開始->設(shè)置->控制面板->管理工具->服務(wù)
          停止所有Oracle服務(wù)。
          ⑵開始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer
          卸裝所有Oracle產(chǎn)品
          ⑶運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。
          ⑷運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口。
          ⑸運(yùn)行regedit,搜索所有與Oracle相關(guān)的項(xiàng),并將其刪除。
          ⑹從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關(guān)Oracle的組和圖標(biāo)
          ⑺重新啟動計(jì)算機(jī),重起后才能完全刪除Oracle所在目錄
          ⑻刪除與Oracle有關(guān)的文件,選擇Oracle所在的缺省目錄C:\Oracle及C:\Program Files\Oracle,刪除這個入口目錄及所有子目錄。
          ⑼把Oracle所有待安裝的文件解壓到一個臨時(shí)目錄,例如解壓在E盤的temp\install\disk1目錄中。
          ⑽打開文件disk1\install\oraparam.ini,做如下改動:
          ● SOURCE項(xiàng)改為SOURCE=e:/temp/install/disk1/stage/products.jar
          ●JRE_LOCATION項(xiàng)改為JRE_LOCATION=e:/temp/install/disk1/stage/Components/Oracle.swd.jre/1.1.7.30/1/DataFiles/Expanded/jre
          ●OUI_LOCATION項(xiàng)改為 OUI_LOCATION=e:/temp/install/disk1/stage/Components/Oracle.swd.oui/1.7.1.9.0/1/DataFiles/Expanded
          ● JRE_MEMORY_OPTIONS 項(xiàng)改為JRE_MEMORY_OPTIONS=-nojit -ms16m -mx32m
          3. 運(yùn)行disk1\install\win32\setup.exe,安裝開始,根據(jù)提示做選擇,安裝下去,假設(shè)我安裝在D:\orant\ora81目錄下。
          4. 安裝完畢后一些服務(wù)會報(bào)出錯,不能啟動,這些服務(wù)為:
          Net8 Configuration Assistant
          Database Configuration Assistant
          HTTP服務(wù)雖然啟動,但是會報(bào)出一連串java.exe出錯,可以點(diǎn)擊開始->Oracle (數(shù)據(jù)庫名) ->Oracle HTTP server->Stop HTTP Server來停止HTTP Server服務(wù)。安裝完成了,可是全有問題。
          5. 安裝完成后還需要做下面的工作,在安裝路徑下所有的“*.cl”后綴的文件中增添“-nojit”項(xiàng),共十個文件,如下:
          assistants\dbca\dbassist.cl;
          assistants\dbma\dbmig.cl;
          assistants\ifa\ifa.cl;
          bin\elogin.cl;
          bin\owm.cl;
          ldap\oidamdin\oidadmin.cl;
          network\tools\netasst.cl;
          network\tools\netca.cl;
          owm\install\instelogin.cl;
          owm\install\instowm.cl;
          Example:
          Command=("C:\Program Files\Oracle\jre\1.1.7\bin\jrew"
          -classpath
          "C:\Program Files\Oracle\jre\1.1.7\lib\rt.jar;
          C:\Program Files\Oracle\jre\1.1.7\lib\i18n.jar;
          D:\Oracle\ora81\jlib\ewt-3_3_6.jar;
          D:\Oracle\ora81\jlib\ewtcompat-opt-3_3_6.zip;
          D:\Oracle\ora81\jlib\share-1_0_8.jar;
          D:\Oracle\ora81\jlib\swingall-1_1_1.jar;
          D:\Oracle\ora81\jlib\help-3_1_8.jar;
          D:\Oracle\ora81\jlib\ice-4_06_6.jar;
          D:\Oracle\ora81\network\jlib\sysmanmaf.jar;
          D:\Oracle\ora81\owm\jlib\owm-2_1.jar;
          D:\Oracle\ora81\owm\jlib\help\elogin\help"
          Oracle.security.admin.lio.lioa.LioaApp Oracle.security.admin.lio.lioa.LioaApp -nojit)
          6. 到這里4中的三項(xiàng)服務(wù)仍不能啟動,因?yàn)楣ぷ鬟€沒做完。
          到j(luò)ava.sun.com網(wǎng)站下載jre軟件,要1.2.2以上的版本,然后安裝在你的機(jī)器上,安裝完成后用其中的bin目錄和lib目錄覆蓋d:\orant\ora81\apache\jdk\jre下的bin目錄和lib目錄。到這里以上三個服務(wù)就可以順利啟動了。
          Win2000上安裝Oracle 9i
          問題:
          在win2000server中安裝Oracle9.2時(shí),加載文件是出錯,安裝Oracle8就不會出錯
          解答:
          需要打Sp1以上的補(bǔ)丁才行
          同一臺PC機(jī)上安裝8I和9I
          問題:
          安裝時(shí)C:\PROGRAMME\ORACLE安裝程序回覆蓋先安裝的版本文件。不知道怎樣才能避免一切可能出現(xiàn)的沖突問題
          解答:先裝8 后9,分主目錄裝。還有,如果在某個已經(jīng)存在的Oracle_home中安裝,當(dāng)你修復(fù)或更新Oracle,或者添加其他產(chǎn)品選項(xiàng)時(shí),你應(yīng)該確定停止從特定主目錄中運(yùn)行的任何Oracle服務(wù)。
          Oracle 9i的安裝過程
          環(huán)境:New CY1G, 256+128M, win2000 SP3,Oracle 9.2.0.1.0
          1.啟動OUI(Oracle universal installer),選擇下一步。
          2.選擇安裝的產(chǎn)品,即Oracle Database。點(diǎn)擊下一步。
            
          3.選中“標(biāo)準(zhǔn)版”,需要2.8G的空間,(這些安裝類型的主要差別是產(chǎn)品被授予許可的方式不同,企業(yè)版僅僅包括每個可能的選項(xiàng),而標(biāo)準(zhǔn)版要求有想使用的每個選項(xiàng)的單獨(dú)授予許可。個人版意味著滿足測試目的的單機(jī)安裝)點(diǎn)擊下一步。在“數(shù)據(jù)庫配置選項(xiàng)”中,選中只安裝Oracle軟件(Software Only),不安裝數(shù)據(jù)庫,待安裝完Oracle軟件后,用DBCA創(chuàng)建數(shù)據(jù)庫。
          4.安裝完Oracle軟件(不含Oracle數(shù)據(jù)庫)后,啟動DBCA (DataBase Configuration Assistant),將一步步指導(dǎo)你創(chuàng)建數(shù)據(jù)庫(New Database)。
            
          5.創(chuàng)建完數(shù)據(jù)庫后,啟動NCA(Net Configuration Assistant),為數(shù)據(jù)庫配置監(jiān)聽器。
          Oracle Net Configration Assistan:
          監(jiān)聽程序配置:直接下一步,監(jiān)聽程序名為默認(rèn)的Listener,網(wǎng)絡(luò)協(xié)議為TCP,使用默認(rèn)端口1521。命名方法配置:選中本地命名。
          本地Net服務(wù)名配置:即修改本地tnsnames.ora文件,添加,選擇下一步,輸入數(shù)據(jù)庫全局名,在網(wǎng)絡(luò)協(xié)議里選擇TCP,輸入主機(jī)名,使用標(biāo)準(zhǔn)端口。使用sys用戶測試。
            
          6.現(xiàn)在可以獨(dú)立登陸OEM(Sys/password as sysdba)
          7.建立資料檔案庫,啟動EMCA(Enterprise Manager Configuration Assiatan),為數(shù)據(jù)庫創(chuàng)建資料檔案庫。
            
          8.創(chuàng)建資料檔案庫完成后,可以啟動Console登陸到Oracle managerment server,默認(rèn)用戶名為sysman/oem_temp。
            
          Oracle在雙機(jī)備份服務(wù)器中的安裝步驟
          1、在其中一臺電腦上安裝完整的Oracle 數(shù)據(jù)庫(通過自定義安裝,不要創(chuàng)建數(shù)據(jù)庫實(shí)例)
          2、通過Oracle配置助手創(chuàng)建數(shù)據(jù)庫,將所有數(shù)據(jù)庫文件包括控制文件、表空間文件,日志文件等路徑指定到磁盤柜上。
          3、在另一臺電腦上安裝Oracle數(shù)據(jù)庫,指定數(shù)據(jù)文件到磁盤柜上,覆蓋以前建立的數(shù)據(jù)文件。
          4、要保持文件Oracle\ora81\database\PWDmyora.ora兩臺機(jī)子文件一樣,比如你在A機(jī)上導(dǎo)入dmp文件,需要把PWDmyora.ora拷入到B機(jī)上。
          5、將兩臺機(jī)子的Oracle服務(wù)改成手動模式,通過dataware軟件實(shí)現(xiàn)切換。
          刪除Oracle之一
          軟件環(huán)境:  1、Windows 2000+ORACLE 8.1.7
                       2、ORACLE安裝路徑為:C:\ORACLE
          實(shí)現(xiàn)方法:
          1、 開始->設(shè)置->控制面板->管理工具->服務(wù),停止所有Oracle服務(wù)。
          2、 開始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer,卸裝所有Oracle產(chǎn)品,但Universal Installer本身不能被刪除
          5、 運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。
          6、 運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口。
          7、 運(yùn)行regedit, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有Oracle入口。
          8、 開始->設(shè)置->控制面板->系統(tǒng)->高級->環(huán)境變量 刪除環(huán)境變量CLASSPATH和PATH中有關(guān)Oracle的設(shè)定
          9、 從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關(guān)Oracle的組和圖標(biāo)
          10、刪除\Program Files\Oracle目錄
          11、重新啟動計(jì)算機(jī),重起后才能完全刪除Oracle所在目錄
          12、刪除與Oracle有關(guān)的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入口目錄及所有子目錄,并從Windows 2000目錄(一般為C:\WINNT)下刪除以下文件ORACLE.ini、oradim73.ini、oradim80.ini、oraodbc.ini等等。
          13、WIN.INI文件中若有[ORACLE]的標(biāo)記段,刪除該段
          14、如有必要,刪除所有Oracle相關(guān)的ODBC的DSN
          15、到事件查看器中,刪除Oracle相關(guān)的日志
          說明:
          如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝,
          安裝時(shí),選擇一個新的目錄,則,安裝完畢并重新啟動后,老的目錄及文件就可以刪除掉了。
          刪除Oracle之二
          如果需要卸載Oracle,請運(yùn)行安裝光盤上的安裝文件Setup.exe,在“歡迎”窗口中,選擇“卸裝產(chǎn)品”按鈕,進(jìn)入“Invertory 目錄”窗口: 在該窗口中選擇需要刪除的產(chǎn)品(在產(chǎn)品名稱前面的方框內(nèi)打上在標(biāo)記√),然后單擊“刪除”按鈕即可;或者直接在開始菜單中找到Oracle for NT程序組下的Oracle installer,同樣可以卸載Oracle。
          卸載Oracle產(chǎn)品后,在系統(tǒng)的注冊表內(nèi)仍然有相關(guān)信息,您可以參考以下方法進(jìn)行手工刪除。
          注意:對注冊表的操作可能對系統(tǒng)產(chǎn)生嚴(yán)重影響,請?jiān)诓僮髑斑M(jìn)行備份,以便在系統(tǒng)異常時(shí)恢復(fù)到原來的注冊表。該操作請參考Windows系統(tǒng)的相關(guān)說明。
          運(yùn)行RegEdit,在“HKEY_CURRENT_USER\Software”、“HKEY_LOCAL_MACHINE\Software”、“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services”主鍵中刪除所有的Oracle入口(如果找到的話),然后重新啟動計(jì)算機(jī),如一切正常,則修改完成,如啟動有錯誤,可能您對注冊表的修改出錯,運(yùn)行RegEdit,將備份的注冊表項(xiàng)目導(dǎo)入;如果誤刪了注冊表中的“Microsoft ODBC for Oracle”,可用以下方法恢復(fù):
          將“HKEY_LOCAL_MACHINE\software\Microsoft\DataAccess”中的Version的值由‘2.1.1a’改為‘1.1.1a’然后重新安裝財(cái)務(wù)軟件,安裝程序會自動安裝 MADC,并恢復(fù)“Microsoft ODBC for Oracle”。 (對Windows95/98,請立即進(jìn)入Dos方式,將備份的system.dat文件(如system.bak)復(fù)制回system.dat);
          (對Windows NT,如啟動失敗,請重新啟動計(jì)算機(jī),在提示下,按空格鍵啟動“硬件配置文件/已知的最新正確配置”菜單,該菜單將注冊表還原到穩(wěn)定狀態(tài)。按照屏幕上的指示操作,可以將注冊表還原為上次成功啟動時(shí)的狀態(tài)。)
          在XP上安裝Oracle9i老是報(bào)錯提示加載數(shù)據(jù)庫時(shí)出錯:areasQueris
          解答:去除安裝路徑中的中文
          無法啟動監(jiān)聽器——Ora-12560錯誤
          1、控制面板-->管理工具-->服務(wù)下面的查看OracleOraHome92TNSListener服務(wù)有沒有啟動,如果沒有啟動則啟動。
          2、把tnsnames.ora和listener.ora里面的HOST(等于機(jī)器名或者等于IP地址例如:HOST = springal)值一定要保持一致。
          3、多配置幾次監(jiān)聽器然后啟動嘗試。
          4、DOS下lsnrctl命令進(jìn)入監(jiān)聽器信息窗口,使用help查看命令幫助,然后使用相關(guān)命令查看監(jiān)聽器情況,并多次stop和start。
          5、查看注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener項(xiàng)并設(shè)置ImagePath>D:\Oracle\Ora92\BIN\TNSLSNR(你的安裝目錄)
          6、查看你配置的監(jiān)聽器端口有沒有被其他服務(wù)站用(默認(rèn)的是1521端口),DOS下可以使用netstat –a查看。
          7、查看你的防火墻或者防病毒軟件是否屏蔽掉了1521端口。
          8、據(jù)說還與你的系統(tǒng)有關(guān)系,重新安裝一下windows 2000 SP3,這個問題通常與sp3有關(guān)系。
          Oracle啟動時(shí),監(jiān)聽器不啟動或打開出錯
          軟件環(huán)境:
          1、Windows NT4.0+ORACLE 8.0.4
          2、ORACLE安裝路徑為:C:\ORANT
          錯誤現(xiàn)象:
          1、ORACLE啟動時(shí),監(jiān)聽器不啟動或打開出錯
          2、服務(wù)器端:用username/password登錄正常,但用username/password@alias登錄不成功
          3、客戶端:用username/password@alias登錄不成功
          解決方法:
          1、如果是因?yàn)樾薷牧薔T的機(jī)器名,則把listener.ora文件中的host參數(shù)全部改為新的NT機(jī)器名,
          重新啟動OracleTNSListenr80服務(wù)即可。
            例如:
            LISTENER =
            (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = 1521))
            (ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = 1526))
            )
          2、使用監(jiān)聽器實(shí)用程序:LSNRCTL80.exe
          3、檢查監(jiān)聽器參數(shù)文件:c:\orant\NET80\admin\listener.ora
          4、檢查監(jiān)聽器日志文件:c:\orant\NET80\log\listener.log
          5、Tnsnames.ora文件配置錯誤,重新配置。
          6、檢查client 端 Tnsnames.ora
          在單機(jī)上安裝805,OracleTNSListener80不能啟動
          問題:
          我在win2000下安裝了ORACLE805,有網(wǎng)卡,但是沒有沒有連網(wǎng)。
          解答:
          1.805必須聯(lián)網(wǎng),設(shè)置Microsoft loopback或使用816。直接把Listener的偵聽地址設(shè)到127.0.0.1上試試看。
          2.把(PROTOCOL=ipc 和snmp)的配置刪除,我是在win98下裝的804,
          listener.ora配置如下:
              LISTENER =
             (ADDRESS_LIST =
                   (ADDRESS =
                     (PROTOCOL = TCP)
                     (Host = 192.168.1.4)
                     (Port = 1521)
                   )
                   (ADDRESS =
                     (PROTOCOL = TCP)
                     (Host = 127.0.0.1)
                     (Port = 1521)
                   )
          #被注釋 (ADDRESS =
          # (PROTOCOL = SPX)
          # (Service = y_lsnr)
          # )
             )
          STARTUP_WAIT_TIME_LISTENER = 0
          CONNECT_TIMEOUT_LISTENER = 10
          TRACE_LEVEL_LISTENER = ADMIN
          SID_LIST_LISTENER =
             (SID_LIST =
               (SID_DESC =
                 (GLOBAL_DBNAME = y)
                 (SID_NAME = ORCL)
               )
               (SID_DESC =
                 (SID_NAME = extproc)
                 (PROGRAM=extproc)
               )
             )
          運(yùn)行正常。
          ORA-12516 TNS:監(jiān)聽程序無法找到匹配的信息棧的可用句柄錯誤
          先打開 TNSNAMES.ORA 這個文件, (位于 //OraHome1/network/admin/tnsnames.ora) ,確定(INSTANCE_NAME=) 和 INITsid.ORA 文件中的 實(shí)例名(執(zhí)行項(xiàng)次) 匹配
          ORA-12154 TNS不能解析服務(wù)名
          使用Oracle的網(wǎng)絡(luò)配置助手“net configration assistant”刪除所有的網(wǎng)絡(luò)的配置(主要是監(jiān)聽程序的配置和本地網(wǎng)絡(luò)服務(wù)名的配置),然后重新配置。可以使用如下命令察看是否你的數(shù)據(jù)庫服務(wù)器已經(jīng)啟動(在 *** 作系統(tǒng)中的“服務(wù)”中顯示為啟動,但你的數(shù)據(jù)庫并不一定啟動了。在MS-Dos提示符下輸入:
          C:\svrmgrl
          SVRMGR:>connect to internal
          密碼:<輸入你的密碼,如果不知道,輸入ORACLE試試>
          如果連接成功,執(zhí)行help可以察看命令。
          SVRMGR>startup
          如果提示你的數(shù)據(jù)庫已經(jīng)啟動,則執(zhí)行“stop”停止數(shù)據(jù)庫,然后再執(zhí)行“startup”啟動。
          無法啟動實(shí)例服務(wù)
          控制面板-->管理工具-->服務(wù)下面的查看OracleServiceTest服務(wù)有沒有啟動,如果沒有啟動則啟動。如果啟動時(shí)候報(bào)找不到路徑,則查看注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceTest項(xiàng)并設(shè)置 ImagePath>D:\Oracle\Ora92\BIN\Oracle.exe test(你的安裝目錄,參數(shù)為你的服務(wù)名)以上兩則都可能是由于運(yùn)行了注冊表軟件造成,比如優(yōu)化大師之類,我個人的解決辦法是在掃描注冊表的時(shí)候略過HKEY_LOCAL_MACHINE。
          在Windows平臺上,安裝Oracle后產(chǎn)生如下服務(wù)
          OracleMTSRecoveryService
          OracleOraHome92Agent
          OracleOraHome92HTTPServer
          OracleOraHome92TNSListener
          OracleServiceTest——以上為缺省配置為自動啟動的
          OracleOraHome92ClientCache
          OracleOraHome92PagingServer
          OracleOraHome92SNMPPeerEncapsulator
          OracleOraHome92SNMPPeerMasterAgent
          設(shè)置自動啟動數(shù)據(jù)庫
          可通過修改注冊表來實(shí)現(xiàn):
                hkey_local_machine->software->microsoft->windows->currentversion->run->添加一個鍵值Oraclestart->其值為:c:\Oracle\ora81\bin\oradim.exe -startup -sid 數(shù)據(jù)庫別名 -usepwd Oracle -starttype inst
          在啟動ORACLE服務(wù)時(shí)無法啟動‘OracleOracleAgent’
          問題:提示錯誤如下:“在本地計(jì)算機(jī)無法啟動OracleOracleAgent服務(wù)。錯誤:3221356559”
          原因:
          The Intelligent Agent stores all jobs and event requests in a series of queue files in the network/agent directory. Upon startup, the Agent compares the actual hostname of the server to the hostname stored in the queue files. If the hostname of the server changes, the Agent will not recognize the queue files and will consider them corrupt. Then, the Agent will not start.
          解答:
          1. Remove the services.ora and all "q" files (*.q) from the $Oracle_Home\network\agent directory
          2. Re-start the Intelligent Agent.
          技巧:
          This fix should be done with the understanding that any jobs or events registered against that Agent will be lost. Any active jobs or registered events against this agent should be removed from OEM console before deleting the agent’s *.q files.
          ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist錯誤
          問題:
          剛剛裝上Oracle8.1.7以后(安裝過程非常正常),運(yùn)行以下操作,一切正常。
          C:\>sqlplus system/manager
          SQL*Plus: Release 8.1.7.0.0 - Production on 星期四 11月 13 20:01:20 2003
          (c) Copyright 2000 Oracle Corporation. All rights reserved.
          連接到:
          Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
          With the Partitioning option
          JServer Release 8.1.7.0.0 - Production
          SQL>
          但是只要重啟電腦,再運(yùn)行同樣操作,就會出現(xiàn)如下的問題:
          C:\>sqlplus system/manager
          SQL*Plus: Release 8.1.7.0.0 - Production on 星期四 11月 13 19:28:25 2003
          (c) Copyright 2000 Oracle Corporation. All rights reserved.
          ERROR:
          ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          此時(shí)查看Oracle進(jìn)程,所占用內(nèi)存不到10m。
          但是只要執(zhí)行完Database Configuration Assistant--〉更改數(shù)據(jù)庫設(shè)置后,
          再次執(zhí)行如上操作,就能正常運(yùn)行:
          此時(shí)Oracle進(jìn)程占用內(nèi)存接近100m,應(yīng)該比較正常。
          但是只要重新啟動,就會依然出現(xiàn)
          ERROR:
          ORA-01034: ORACLE not available
          ORA-27101: shared memory realm does not exist
          這種錯誤,只能用Database Configuration Assistant更改數(shù)據(jù)庫設(shè)置后才能使用,重啟后問題依舊。讓我百思不得其解。
          解答:
          數(shù)據(jù)庫實(shí)例沒隨計(jì)算機(jī)啟動。
          1.數(shù)據(jù)庫啟動參數(shù)中是否有非PUBLIC回滾段! 要是有的話就先屏蔽掉,等創(chuàng)建完回滾段后重新打開,應(yīng)該就沒有問題了。當(dāng)時(shí)在ORACLE 7下成功。當(dāng)時(shí)我用原有的數(shù)據(jù)庫配置參數(shù)(*.ORA)文件創(chuàng)建以后就出現(xiàn)了上面的問題。
          2.建議此時(shí)手動啟動服務(wù),觀察如果出現(xiàn)缺少路徑的提示,可以參照上文設(shè)定相關(guān)路徑。
          ORA-12500: TNS: 監(jiān)聽程序無法啟動專用服務(wù)器進(jìn)程
          1.lsnrctl status
          2.lsnrctl start
          3.sqlplus /nolog
          4.connect / as sysdba
          5.startup nomount
          6.alter database open
          逐步分解查找問題。
          有可能是listener.ora文件被破壞了,遇到過類似的問題,重新配置listener.ora就可以了。
          ORA-04031:unable to allocate … byters of shared memory("shared pool","unknown object","sga heap","db_block_buffers")
          問題:
          DELL服務(wù)器裝不上ORACLE8.1.5的問題,出現(xiàn)下面的錯誤提示是在建立數(shù)據(jù)庫之前,系統(tǒng)先要檢查內(nèi)存時(shí)出現(xiàn)的,
          ORA-04031:unable to allocate 85141440 byters of shared memory("shared pool","unknown object","sga heap","db_block_buffers"),是不是內(nèi)存不夠?但實(shí)際物理內(nèi)存是2G?什么原因呢?
          解答:
          在安裝時(shí),把SGA區(qū)、JAVA池等東西的內(nèi)存配小一些
          ORA-01092 : Oracle instance terminated disconnection forced錯誤
          Problem:
          Your Oracle Server database on OpenVMS crashes. The following errors are reported: Background process DBWR unexpectedly terminated with error 1092
          ORA-1092 Oracle instance terminated
          ORA-313 open failed for members of log group 'n' of thread 'n'
          ORA-600 [3228] reported from a PL/SQL script.
          Explanation:
          The most significant error reported here is the ORA-313 error. This error indicates a failure to open a file which indicates a problem with OpenVMS resources. When either CHANNELCNT and/or FILLM are too small, these errors can result.
          Solution:
            Increase the SYSGEN parameter CHANNELCNT. This should be done by an OpenVMS system manager and requires a reboot of your OpenVMS node. For more information on SYSGEN, please review the OpenVMS documentation.
            If the CHANNELCNT parameter is already large enough to allow the expected number of files to be opened, check the FILLM quota. Review two areas when you check FILLM:
          1) The Oracle background processes (PMON, DBWR, LGWR etc.)
          2) The SERVER side (or SHADOW) process created when you use SVRMGRL to start the database. To get an idea of the quota available, use the command: $ SHOW PROCESS /QUOTA /ID=<pid> Where <pid> is the OpenVMS pid of the process to be reviewed. This command displays the remaining 'Open file quota' (FILLM) for the process, as well as other available quotas.
          Example:
          You have 226 data files, eight REDO log files and three control files for a total of 237 files. The SYSGEN setting for CHANNELCNT is at the default of 256. During normal operation, Oracle periodically needs to open additional files. These include the INIT parameter files, the ALERT log, various DCL scripts, trace files, etc. Under these conditions, a CHANNELCNT value of 256 is too small to accommodate the number of files that Oracle/OpenVMS needs open at the same time.
          For most systems the default quotas should be adequate.
          If not, please describe the infor u've encountered
          ORA-00059錯誤及字符集修改
          問題:在DBA studio中下的例程‘數(shù)據(jù)庫’自動變?yōu)橐褑樱瑹o法裝載也無法打開,提示‘ORA-00059??LOG--FILES????’在這種情況下如果不卸載重裝解決,能有其它的辦法嗎?
          一般來說ORA-00059多出現(xiàn)maximum number of DB_FILES exceeded的錯誤,由于你機(jī)器上的字符集設(shè)置有些問題,所以 錯誤提示 變成了??,(字符集設(shè)置不對照成的) 雖然看的出于問題可能和Log file有關(guān),但不確定.請修改Oracle的字符集
          [字符集修改方法]
          SQL> desc props$
          列名 可空值否 類型
          ------------------------------- -------- ----
          NAME NOT NULL VARCHAR2(30)
          VALUE$ VARCHAR2(2000)
          COMMENT$ VARCHAR2(2000)
          SQL> col value$ format a40
          SQL> select name,value$ from props$;
          NAME VALUE$
          ------------------------------ -------------------------
          DICT.BASE 2
          NLS_LANGUAGE AMERICAN
          NLS_TERRITORY AMERICA
          NLS_CURRENCY$
          NLS_ISO_CURRENCY AMERICA
          NLS_NUMERIC_CHARACTERS.,
          NLS_DATE_FORMAT DD-MON-YY
          NLS_DATE_LANGUAGE AMERICAN
          NLS_CHARACTERSET ZHS16GBK
          NLS_SORT BINARY
          NLS_CALENDAR GREGORIAN
          NLS_RDBMS_VERSION 7.3.4.0.0
          GLOBAL_DB_NAME ORACLE.WORLD
          EXPORT_VIEWS_VERSION 3
          查詢到14記錄.
          NLS_CHARACTERSET這個參數(shù)應(yīng)該是ZHS16GBK,如不是,改為它。
          ORA-12203:TNS:unable to connect destination錯誤
          問題:
          在Windows2000下安裝8.0.5,選擇none,沒有建立實(shí)例,為什么在執(zhí)行svrmgr30 時(shí)報(bào)告Ora-12203:tns:unable to connect destination!
          解答:
          因?yàn)闆]有創(chuàng)建實(shí)例,也就沒有環(huán)境變量。可參考“手工創(chuàng)建數(shù)據(jù)庫的全部腳本和說明”。
          注意其中:
              set ORACLE_SID=test
              D:\Oracle\Ora81\bin\oradim -new -sid test -startmode manual -pfile "D:\Oracle\admin\test\pfile\inittest.ora"
          Ora-12571:TNS:包寫入程序失敗
            
          把虛擬內(nèi)存設(shè)的大一些
          Ora-12705錯誤
          Cause: There are two possible causes: Either an attempt was made to issue an ALTER SESSION statement with an invalid NLS parameter or value; or the NLS_LANG environment variable contains an invalid language, territory, or character set.
          Action: Check the syntax of the ALTER SESSION command and the NLS parameter, correct the syntax and retry the statement, or specify correct values in the NLS_LANG environment variable. For more information about the syntax of the ALTER SESSION command, see Oracle8i SQL Reference.
          ORA-03113:通信通道的文件結(jié)束
          Cause:
          An unexpected end-of-file was processed on the communication channel. The problem could not be handled by the SQL*Net, two task, software. This message could occur if the shadow two-task process associated with a SQL*Net connect has terminated abnormally, or if there is a physical failure of the interprocess communication vehicle, that is, the network or server machine went down.
          Action:
          If this message occurs during a connection attempt, check the setup files for the appropriate SQL*net driver and confirm SQL*Net software is correctly installed on the server. If the message occurs after a connection is well established, and the error is not due to a physical failure, check if a trace file was generated on the server at failure time. Existence of a trace file may suggest an Oracle internal error that requires the assistance of customer support.
          Explanation:
          There are numerous causes of this error. It is a 'catch all' type error which means 'I cannot communicate with the Oracle shadow process'. This usually occurs when the Oracle server process has died for some reason.
          ORA-12515:TNS:監(jiān)聽進(jìn)程無法找到該演示文稿的句柄
          解決方案是檢查目標(biāo)服務(wù)器網(wǎng)絡(luò)配置,并使其接受HTTP的協(xié)議。如果你是使用一般數(shù)據(jù)使用,建議使用新的數(shù)據(jù)庫實(shí)例。
          ORA-01031:insufficient privileges
          Cause: An attempt was made to change the current username or password without the appropriate privilege. This error also occurs if attempting to install a database without the necessary operating system privileges. When Trusted Oracle is configure in DBMS MAC, this error may occur if the user was granted the necessary privilege at a higher label than the current login.
          Action: Ask the database administrator to perform the operation or grant the required privileges. For Trusted Oracle users getting this error although granted the appropriate privilege at a higher label, ask the database administrator to regrant the privilege at the appropriate label.
          ORA-01017:invalid username/password; logon denied
          Cause: An invalid username or password was entered in an attempt to log on to Oracle. The username and password must be the same as was specified in a GRANT CONNECT statement. If the username and password are entered together, the format is: username/password.
          Action: Enter a valid username and password combination in the correct format.
          問題:ORACLE8.1.7.0.0版本,,不知是哪里的問題,用internal 和 system 都無法登陸,錯誤提示:ORA1031 、ORA1017
          解答:還有沒有其他DBA身份的用戶,如果有,最好登陸進(jìn)去,然后alter user system identified by YOURPASSWORD; 你的系統(tǒng)密碼被人修改了
          ORA-03121:沒連接接口驅(qū)動程序
          Cause: This message occurs usually because the Net8 driver is not loaded into memory or there is a mismatch of the version of the driver. A user program linked with an obsolete library may also cause this message. Only programs provided by Oracle Corporation should use this interface.
          Action: If the message occurred during use of a program provided by Oracle Corporation, contact Oracle Support Services. If a user program caused the message, relink the program with current versions of the Oracle libraries.
          ORA-12638:憑證檢索失敗
          問題:
          2000ad server SP2 具域網(wǎng),在網(wǎng)絡(luò)連接的情況下按裝ORACLE8I,到創(chuàng)建數(shù)據(jù)庫,初始化數(shù)據(jù)庫時(shí),提示“ORA-12638 憑證檢索失敗”,裝了幾次都是這樣
          解答:
          憑證檢索失敗的錯誤一般都與網(wǎng)絡(luò)用戶集成有關(guān),ORACLE中對于這個問題的管理是在SQLNET.ORA文件的SQLNET.AUTHENTICATION_SERVICES進(jìn)行控制的,默認(rèn)安裝都是SQLNET.AUTHENTICATION_SERVICES= (NTS)表示安裝ORACLE的用戶是通過操作系統(tǒng)的集成認(rèn)證控制的,所以,我們只要把這個參數(shù)值屏蔽掉就行了。
          修改\Oracle\Ora81\network\ADMIN目錄下SQLNET.ORA文件的SQLNET.AUTHENTICATION_SERVICES= (NTS)為# SQLNET.AUTHENTICATION_SERVICES= (NTS)
          ORA-00604: error occurred at recursive SQL level 2
          Cause: An error occurred while processing a recursive SQL statement (a statement applyingto internal dictionary tables).
          Action: If the situation described in the next error on the stack can be corrected, do
          so; otherwise contact Oracle Customer Support.
          ORA-04030 out of process memory when trying to allocate string bytes (string,string)
          Cause: Operating system process private memory has been exhausted.
          Action: See the database administrator or operating system administrator to increase process memory quota. There may be a bug in the application that causes excessive allocations of process memory space.
          ORA-04031:unable to allocate string bytes of shared memory("string","string","string","string")
          Cause: More shared memory is needed than was allocated in the shared pool.
          Action: If the shared pool is out of memory, either use the DBMS_SHARED_POOL package topin large packages, reduce your use of shared memory, or increase the amount ofavailable shared memory by increasing the value of the initialization parametersSHARED_POOL_RESERVED_SIZE and SHARED_POOL_SIZE. If the large pool is out of memory,increase the initialization parameter LARGE_POOL_SIZE.
          ORA-01555:snapshot too old: rollback segment number 9 with name "USER_RS5" too small
          問題:一個存儲過程執(zhí)行的數(shù)據(jù)大概有100萬條,在執(zhí)行到幾十萬條的時(shí)候,遇到了如上異常。
          解答:原因有兩個方面:
          1、由于你的這個操作執(zhí)行的時(shí)間太長,導(dǎo)致SNAP SHOT失效(太老了),導(dǎo)致你的操作失敗;
          2、你的RBS太小,無法容納那么多的操作。
          處理方法:
          1、加大回滾段的大小(增加RBS表空間,修改回滾段的參數(shù)等)
          2、你這種編程方法有問題,如果第一個方法不能解決問題,說明是因?yàn)閳?zhí)行時(shí)間過長,SNAPSHOT失效,需要你調(diào)整一下程序。是不是先把100萬記錄讀到內(nèi)存里(內(nèi)存不夠,可以采用文件作為緩沖),然后再做處理。也可以采用分段處理的方法,一次處理10萬條。
          ORA-01589:must use RESETLOGS or NORESETLOGS option for database open
          問題:在startup 之后出現(xiàn)錯誤提示
          解答:
          Cause: Either incomplete or backup control file recovery has been performed. After these types of recovery you must specify either the RESETLOGS option or the NORESETLOGS option to open your database.
          Action: Specify the appropriate option.
          你的數(shù)據(jù)庫以前做過Media Recovery,用OPEN DATABASE RESETLOGS或OPEN DATABASE NORESETLOGS打開數(shù)據(jù)庫就可以了。
          ORA-01017:invalid username/password; logon denied
          Cause: An invalid username or password was entered in an attempt to log on to Oracle. The username and password must be the same as was specified in a GRANT CONNECT statement. If the username and password are entered together, the format is: username/password.
          Action: Enter a valid username and password combination in the correct format.
          缺省密碼
          8i:
          scott/tiger
          internal/change_on_install
          system/manager
          sys/oralce(密碼也可能是manager或change_on_install)
          9i:
          scott/tiger
          sys/change_on_install
          OEM的用戶名/密碼:sysman/oem_temp
          重設(shè)system用戶的密碼
          可以通過以下方法登陸
          sqlplus /nolog
          conn / as sysdba
          alter user system identifed by '123'
          Oracle的密碼文件
          8i一般位于$ORACLE_HOME/PRODUCT/8.1.6/DBS/ORAPWD_[SID].ORA
          如何激活用戶
          8i:在DBA Studio里面,有“用戶”--然后找到用戶名--->然后選中“未鎖定”就可以了
          Oracle的初始化文件
          8i:安裝時(shí)設(shè)定的ORACLEHOME的目錄下會有:admin、oradata和ora81三個目錄,其中在admin目錄下的你安裝的數(shù)據(jù)庫目錄下的Prfile下的init.ora就是。
          9i:在原來的目錄下看不到init文件了。不過你可以這樣:
          create pfile from spfile;
          這樣就可以看到init的文件了,因?yàn)?i里面的初始化文件有點(diǎn)變化。
          Oracle 數(shù)據(jù)庫自帶數(shù)據(jù)的生成腳本
          \ORACLE_HOME\rdbms\admin\SCOTT.SQL
          日期亂碼
          Oracle Server的設(shè)置如下
          NLS_CHARACTERSET WE8ISO8859P1
          NLS_LANGUAGE AMERICAN
          NLS_NCHAR_CHARACTERSET AL16UTF16
          機(jī)器上的注冊表
          NLS_LANGUAGE AMERICAN_AMERICA.WE8ISO8859P1
          問題:
          Java程序傳日期到Oracle的function里,經(jīng)過lower(to_char(xsched_date,'DY'))函數(shù)后,日期變成了亂碼。請問:
          1. 我的字符集應(yīng)當(dāng)怎樣設(shè)置呢?
          2. server的 NLS_CHARACTERSET 和 NLS_NCHAR_CHARACTERSET 不一樣,沒關(guān)系吧?NLS_NCHAR_CHARACTERSET 是什么意思?
          解答:
          1 先查看有關(guān)字符集的信息
          SQL>col value$ format a40
          SQL> select * from nls_database_parameters;
          SQL> select * from V$NLS_PARAMETERS;
          2 查得的主要對應(yīng)client端的顯示
          SQL> select * from sys.props$ WHERE NAME='NLS_LANGUAGE';
          //可以把'AMERICAN' 改為'SIMPLIFIED CHINESE ',不過這個于本問題無關(guān)
          3修改字符集
          SQL> select * from sys.props$ WHERE NAME='NLS_CHARACTERSET';
          //把你機(jī)器上的WE8ISO8859P1改為
          SQL>UPDATE sys.PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET';
          SQL>commit;
          4 NLS_NCHAR_CHARACTERSET AL16UTF16 其中的UTF16為ZHS16GBK的子集,可顯示大多數(shù)漢字。
          更改字符集
          最好不要修改 props$表,可能會引起不正常的工作。
          如果是客戶端 ,修改注冊表即可;
          服務(wù)器端 "alter database character set 字符集"即可
          Oracle客戶端打包安裝問題
          我的程序是C/S架構(gòu)的,所以客戶端電腦都要安裝ORACLE的客戶端程序,不知道有沒有辦法,將ORACLE的客戶端安裝程序打包進(jìn)我的安裝程序,進(jìn)行自動安裝。
          解答:
          1.其實(shí)ORACLE的安裝很簡單,你先安裝一套客戶端,然后把這些文件打包(從ORACLE_HOME開始全部取出),把注冊表中的ORACLE部分導(dǎo)出。然后自己編寫一個安裝程序,把這些文件按照某個路徑拷貝(不要修改相對路徑),如果你安裝的ORACLE_HOME改變了,就修改REG中的ORACLE_hone參數(shù),然后將REG文件裝入。這些都可以通過編寫程序來實(shí)現(xiàn)。
          2.實(shí)際上Oracle驅(qū)動微軟也有,主要就缺那個網(wǎng)絡(luò)服務(wù)名,用Filemon.exe軟件跟蹤一下,看看要用到些什么東西。
          無法確定主機(jī)IP錯誤
          問題:
          Win2003+Oracle 9iR2
          安裝的時(shí)候告訴我無法確定主機(jī)的IP,忽略后又報(bào)了幾次,最后還是不能安裝
          解答:修改hosts文件。確認(rèn)nslookup命令可以正確執(zhí)行
          沒有域名時(shí)設(shè)置Oracle9i中全局?jǐn)?shù)據(jù)庫名
          set globle_name=false
          雙網(wǎng)卡連接外網(wǎng)問題
          問題:
          服務(wù)器雙網(wǎng)卡,一個內(nèi)部用,一個通外網(wǎng),裝ORACLE8I,客戶端連接服務(wù)器,當(dāng)把外網(wǎng)網(wǎng)線拔掉,連接正常,把外網(wǎng)網(wǎng)線插上,連不上。
          解答:把內(nèi)部網(wǎng)的網(wǎng)關(guān)去掉,再在上面加一個NETBEUI協(xié)議這樣就可以了。
          Oracle9i數(shù)據(jù)庫的企業(yè)版和標(biāo)準(zhǔn)版的區(qū)別
          Oracle9i數(shù)據(jù)庫的企業(yè)版和標(biāo)準(zhǔn)版最主要的區(qū)別在于企業(yè)版有更強(qiáng)大的并行和分布式處理能力,標(biāo)準(zhǔn)版是專為開發(fā)、部署和管理部門級 Internet 應(yīng)用程序而設(shè)計(jì)的數(shù)據(jù)庫管理系統(tǒng),是用于傳統(tǒng)的部門級應(yīng)用程序的一流數(shù)據(jù)庫。而應(yīng)用超出部門級標(biāo)準(zhǔn)或訪問數(shù)據(jù)庫的人較多時(shí),則應(yīng)當(dāng)選用企業(yè)版。
          標(biāo)準(zhǔn)版包含下列組件: Jserver Enterprise Edition
          InterMedia
          Enterprise Manager
          Workflow Standard Edition
          Standard Management Pack
          Object Option
          Networking kit
          Object for OLE
          Distributed Option
          64 bit Option
          ODBC Driver
          Sql*Plus
          OCI
          企業(yè)版包括標(biāo)準(zhǔn)版中所有組件,并且還含有下列額外的組件:
          Jserver Enterprise Edition
          InterMedia
          Object Option
          Networking kit
          Object for OLE
          Advance Replication Option
          Distributed Option
          Parallel Query Option
          SQL*Plus
          VIR
          Workflow Enterprise Edition
          Advanced backup & recovery
          Connection Pool
          64 bit Option
          ODBC Driver
          OCI
          Enterprise Manager
          Enterprise Backup Utility
          另請參考http://www.Oracle.com.cn/cgi-bin/topic_show.cgi?id=117&h=1&bpg=13&age=0
          Oracle與IIS地址沖突
          問題:
          我的機(jī)器的系統(tǒng)盤是 c 盤,Oracle8i也安裝在c盤,以前我把我的網(wǎng)站在“控制面板----管理工具——Internet服務(wù)管理器”中已經(jīng)設(shè)置好了IIS的配置,所以在以前一打開http://127.0.0.1就可以看見我的網(wǎng)站,自從安裝了Oracle8i后,在打開http://127.0.0.1時(shí),顯示的是關(guān)于Oracle的一個頁面,在IIS中的默認(rèn)WEB站點(diǎn)已經(jīng)“停止”了,當(dāng)我再重新啟動的時(shí)候,說是“地址已被使用!”。我不知道該怎樣恢復(fù)成以前的情形。
          解答:在服務(wù)管理里面停止ORACLE HTTP服務(wù)
          一個控制文件被損壞,如何啟動
          系統(tǒng)環(huán)境:
          1、操作系統(tǒng):Windows 2000 Server,機(jī)器內(nèi)存128M
          2、數(shù)據(jù)庫:Oracle 8i R2 (8.1.6) for NT 企業(yè)版
          3、安裝路徑:C:\ORACLE錯誤現(xiàn)象:因硬盤有壞道,一個控制文件損壞了,或人工誤刪一個控制文件,控制面板的Oracle相關(guān)服務(wù)可以啟動成功,但用SQL*Plus無法連接,顯示以下錯誤
          ORA-01034: ORACLE not available解決方法:
          C:\>svrmgrl
          svrmgrl>connect internal
          svrmgrl>shutdown abort修改init.ora(C:\Oracle\admin\oradb\pfile\init.ora)文件,使無法使用的控制文件不在control_files參數(shù)中定義修改前
          control_files = ("C:\Oracle\oradata\oradb\control01.ctl", "C:\Oracle\oradata\oradb\control02.ctl",
               "C:\Oracle\oradata\oradb\control03.ctl")
          修改后
          control_files = ("C:\Oracle\oradata\oradb\control01.ctl", "C:\Oracle\oradata\oradb\control02.ctl")svrmgrl>startup
          注意:最少要有兩個控制文件的存在,即使一個也可以正常應(yīng)用。
          某個數(shù)據(jù)文件損壞,如何打開數(shù)據(jù)庫——ORA-01033: ORACLE initialization or shutdown in progress錯誤
          系統(tǒng)環(huán)境:
          1、操作系統(tǒng):Windows 2000 Server,機(jī)器內(nèi)存128M
          2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
          3、安裝路徑:C:\ORACLE
          錯誤現(xiàn)象:
          因誤操作,數(shù)據(jù)庫中某一數(shù)據(jù)文件被誤刪,
          控制面板的Oracle相關(guān)服務(wù)顯示已啟動,但用SQL*Plus無法連接,
          顯示以下錯誤
          ORA-01033: ORACLE initialization or shutdown in progress
          模擬現(xiàn)象:
          create tablespace test datafile
          'c:\test.ora' size 5M
          AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
          default storage (initial 128K next 1M pctincrease 0)
          /
          關(guān)閉所有服務(wù)stop.bat
          net stop "OracleWebAssistant0"
          net stop "OracleOraHome81TNSListener"
          net stop "OracleServiceORADB"
          shutdown
          在操作系統(tǒng)中刪除test.ora文件
          重新啟動服務(wù)start.bat
          net start "OracleWebAssistant0"
          net start "OracleOraHome81TNSListener"
          net start "OracleServiceORADB"
          服務(wù)里OracleServiceORADB顯示已啟動,但用SQL*Plus無法連接,
          顯示ORA-01033: ORACLE initialization or shutdown in progress
          解決方法:
          先讓該數(shù)據(jù)文件脫機(jī),就可以打開數(shù)據(jù)庫
          C:\>svrmgrl
          svrmgrl>connect internal
          svrmgrl>shutdown
          svrmgrl>startup mount
          --ARCHIVELOG模式命令,文件名要大寫
          svrmgrl>alter database datafile 'C:\TEST.ORA' offline;
          --NOARCHIVELOG模式命令
          svrmgrl>alter database datafile 'C:\TEST.ORA' offline drop;
          svrmgrl>alter database open;
          --查詢數(shù)據(jù)文件聯(lián)、脫機(jī)狀態(tài)
          SQL> select file#,name,status from v$datafile;
          SQL> drop tablespace test;
          表空間已丟棄。
          丟失聯(lián)機(jī)日志文件
          分兩種情況處理
          1、丟失的是非活動的日志文件;
          2、丟失的是當(dāng)前激活的日志文件。
          如果是第一種情況,而發(fā)生故障的日志文件組又具有多個成員,可以先將數(shù)據(jù)庫shutdown,然后用操作系統(tǒng)命令將損壞日志文件組中好的日志成員文件把損壞的成員文件覆蓋(在同一個日志成員組中的所有日志文件的各為鏡象的),如果其物理位置不可用可將其拷貝到新的驅(qū)動器上,使用alter database rename file ‘xxxx’ to ‘xxxx’改變文件位置,之后啟動數(shù)據(jù)庫,如果正常馬上進(jìn)行一個冷備份。如果損壞的日志組中只有一個日志成員,先mount上數(shù)據(jù)庫,將其轉(zhuǎn)換為noarchivelog模式,執(zhí)行alter database add logfile member ‘xxx’ to group ‘x’給相關(guān)組增加一個成員,再執(zhí)行alter database drop logfile member ‘bad_file’將損壞的日志文件刪除,由于數(shù)據(jù)庫的結(jié)構(gòu)發(fā)生變動需要備份控制文件,之后將數(shù)據(jù)庫改回archivelog模式,做一個冷備份。
          如果丟失的是當(dāng)前激活的日志文件,數(shù)據(jù)庫又沒有鏡像而且當(dāng)前日志組中所有成員均變?yōu)椴豢捎谩J紫葘?shù)據(jù)庫shutdown abort,從最近的一次全備份中恢復(fù)所有的數(shù)據(jù)文件,將數(shù)據(jù)庫啟動到mount狀態(tài)。如果原來的日志文件物理位置不可用,使用alter database rename file ‘xxx’ to ‘xxx’改變文件的存放位置。然后,使用recover database until cancel命令來恢復(fù)數(shù)據(jù)庫,直到提示最后一個歸檔日志運(yùn)用完之后,輸入cancel。之后用alter database open resetlogs打開數(shù)據(jù)庫,如果沒有問題,立即進(jìn)行一個冷備份。注意!所有包含在損壞的redo log中的信息將會丟失,也就是說數(shù)據(jù)庫崩潰前已經(jīng)提交的數(shù)據(jù)有可能會丟失。這對于某些要求很高的應(yīng)用將會損失慘重,因此應(yīng)盡量使每個日志組具有多個日志成員,并且放置在不同的驅(qū)動器上防止發(fā)生介質(zhì)故障。
          需要升級或者購買服務(wù)了嗎
          問題:
          管理我單位的數(shù)據(jù)庫服務(wù)器,配置是: Compaq Alpha Es40 +512M+單800Mhz CPU. 只跑ORACLE數(shù)據(jù)庫。
          因?yàn)閷Ρ締挝坏男枨笤谙到y(tǒng)設(shè)計(jì)的時(shí)候不很明確,以上配置是供貨商根據(jù)我單位當(dāng)時(shí)的計(jì)算機(jī)應(yīng)用情況配置的,Compaq的工程師在安裝的時(shí)候說機(jī)器很好,就是內(nèi)存和CPU的配置小了點(diǎn),我不太明白影響大不大。
               沒想到的是,業(yè)務(wù)需求的增長大大超過了當(dāng)初的預(yù)期,在最開始的時(shí)候客戶端的PC數(shù)量只有不超過50臺,不久很快就超過了100臺,我把unix系統(tǒng)下的單用戶進(jìn)程數(shù)量調(diào)到了200,心想這應(yīng)該沒多大問題了吧,結(jié)果是好景不長,不到半年200也不夠了,我現(xiàn)在把最大進(jìn)程數(shù)調(diào)到了400。我想請教一下,Oracle服務(wù)器是不是為每一個客戶端在服務(wù)器單獨(dú)開一個進(jìn)程?一臺服務(wù)器能夠聯(lián)接的客戶端數(shù)量相對于內(nèi)存的大小在理論上是不是有個參考的經(jīng)驗(yàn)值?有的話大概是多少?
          解答:
          1.Oracle服務(wù)器可以分為專用服務(wù)器和共享服務(wù)器兩種。專用服務(wù)器為每個客戶端進(jìn)程開啟一個服務(wù)器端進(jìn)程;共享服務(wù)器則開啟數(shù)個服務(wù)器端進(jìn)程,為所有的客戶端程序服務(wù);
          一般來說,采用專用服務(wù)器的話,你可以按照每個并發(fā)連接數(shù)需要2m內(nèi)存來簡單計(jì)算。512M內(nèi)存相對連接數(shù)較多,處理量較大的系統(tǒng)是不太夠的。Oracle9i 安裝就推薦512m內(nèi)存了。
          Oracle的設(shè)計(jì)思路是假設(shè)機(jī)器具有無限能力,在過去不怎么樣,因?yàn)闄C(jī)器性能差,但是隨著技術(shù)的發(fā)展,機(jī)器的能力倍增,而且代價(jià)也大大降低,花很少的錢就可以買到很好的機(jī)器了,現(xiàn)在看來,這種開發(fā)思路是極其成功的。
          2.共享服務(wù)并不意味著不占用內(nèi)存,只是采用共享池模式,將連接數(shù)據(jù)庫但暫時(shí)沒有數(shù)據(jù)作的用戶進(jìn)程掛起,若并發(fā)用戶數(shù)量多而且頻繁時(shí),會降低系統(tǒng)性能。
          另Oracle數(shù)據(jù)庫使用內(nèi)存最多的應(yīng)該是SGA區(qū),多數(shù)配置合理的系統(tǒng)中SGA區(qū)會占到系統(tǒng)內(nèi)存的1/3甚至1/2以上,不合理的SGA區(qū)配置會極大地影響數(shù)據(jù)庫性能。至于SGA區(qū)大小和劃分與應(yīng)用系統(tǒng)的數(shù)據(jù)量、客戶端數(shù)量、數(shù)據(jù)處理和程序代碼等相關(guān)。
               根據(jù)我從事數(shù)據(jù)庫工作的經(jīng)驗(yàn),2G內(nèi)存應(yīng)該是需要的,而且貴單位的數(shù)據(jù)庫很可能需要優(yōu)化。
          3.我覺得大家忽略了一點(diǎn):系統(tǒng)負(fù)載不僅與用戶數(shù)有關(guān),更多的與交易量相關(guān)。
          數(shù)據(jù)庫中注冊用戶表可能達(dá)到幾千萬條,在創(chuàng)建時(shí)注意些什么設(shè)置
          對超級大表,首先要注意的是存儲參數(shù)的設(shè)定,估計(jì)一下行數(shù)據(jù)量,對表最終的存儲空間要求大致估算以下,建表時(shí)設(shè)定好(next_extent和max_extents參數(shù),以免最后表超過max_extents而無法擴(kuò)展),pct_increase參數(shù)一定要設(shè)定為0,否則以后next_extent會呈幾何級數(shù)增長。
              如果該表數(shù)據(jù)變化(增加、刪除、修改)頻繁,需要設(shè)定 PCT_FREE和PCT_USED參數(shù)(參數(shù)定義和用法請查找資料);如果空間足夠的話,最好在字段定義中不使用VARCHAR2數(shù)據(jù)類型,當(dāng)前沒有數(shù)據(jù)也讓數(shù)據(jù)庫預(yù)留出空間,減少修改數(shù)據(jù)制造的數(shù)據(jù)碎片。
               對超級大表的檢索、*** 作,主要靠索引,如何建好索引、用好索引是系統(tǒng)開發(fā)人員的職責(zé)。超級大表的檢索首先應(yīng)該與主表分在不同的表空間(最好是不同的存儲介質(zhì)),其次超級大表的檢索也會占很大的空間,檢索的存儲參數(shù)也是要設(shè)定好的。
               對超級大表而言,一點(diǎn)點(diǎn)結(jié)構(gòu)設(shè)計(jì)的不合理,甚至一句糟糕的程序代碼就可能使整個系統(tǒng)的性能讓人無法忍受。有些原則要記住:在超級大表上,不要存在與其他數(shù)據(jù)表的約束關(guān)系,約束關(guān)系可以通過程序代碼實(shí)現(xiàn);對超級大表,不要隨意與其他數(shù)據(jù)表進(jìn)行關(guān)聯(lián),除非通過主鍵(至少是索引列)關(guān)聯(lián)且where條件能使用到索引;
               如果你用到了ORACLE 8,對超級大表進(jìn)行分區(qū)是非常有價(jià)值的。
          重裝Oracle服務(wù)器后,恢復(fù)以前的數(shù)據(jù)系統(tǒng)環(huán)境
          1、操作系統(tǒng):Windows 2000 Server,機(jī)器內(nèi)存128M
          2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
          3、安裝路徑:C:\ORACLE
          說明:
          恢復(fù)的前提是要保留以下全部文件:
          初始化參數(shù)文件INIT.ORA
          所有數(shù)據(jù)文件
          所有重做日志文件(聯(lián)機(jī)日志、歸檔日志)
          所有控制文件
          internal密碼文件
          步驟:
          1、重新安裝數(shù)據(jù)庫時(shí),創(chuàng)建和原有數(shù)據(jù)庫相同的名字
          2、shutdown
          3、停掉NT上所有Oracle服務(wù),刪除新建數(shù)據(jù)庫中的所有新建文件(和以上那些類似的文件)
          4、將所有以上文件拷貝回原目錄
          5、startup
          日文系統(tǒng)改成英文的辦法
          在注冊表中改一個鍵值。
          具體如下:把HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE -> HOME0 -> NLS_LANG 的健值改成 AMERICAN_AMERICA.WE8ISO8859P1,然后就正常了。
            
          Oracle 9i AS安裝錯誤
            
          解決:按照它的提示編輯host文件,加上127.0.0.1 localhost #localhost
          spfile 和 pfile異同
          spfile,服務(wù)器參數(shù)文件是在Oracle9i及更高版本中一個新特性。其使Oracle9i可以更改大多數(shù)過去在使用數(shù)據(jù)庫聯(lián)機(jī)和用戶時(shí)不能動態(tài)更改的初始化參數(shù)。此外,服務(wù)器參數(shù)文件使Oracle9i能記住會話之間動態(tài)更改過的初始化參數(shù)的設(shè)置。
          pfile,相當(dāng)與Oracle8i及以前版本的Init.ora。
          可以根據(jù)pfile建立spfile:如:create spfile from pfile =‘路徑/init.ora’
          數(shù)據(jù)庫升級錯誤——不相關(guān)的字符集
          數(shù)據(jù)庫從Oracle8.0.5升級到8.1.5,備份數(shù)據(jù)恢復(fù)時(shí)出現(xiàn)錯誤。錯誤提示:不相關(guān)的字符集(805到820)
          1、重建Oracle 8i數(shù)據(jù)庫,建庫時(shí)指定同一字符集,再移植; 查看原數(shù)據(jù)庫字符集, select * from nls_database_parameters
          2、設(shè)置原數(shù)據(jù)庫Oracle 805 的環(huán)境變量NLS_LANG與ora 8i數(shù)據(jù)庫一致,執(zhí)行export時(shí)可以轉(zhuǎn)換字符集。
          3、exp 與 imp 最好都使用Oracle 816 帶的,不要用Oracle 805 的exp 導(dǎo)出的dmp 文件,又用Oracle 816 的 imp 來導(dǎo)。
          啟動 iSQL*Plus
          要啟動 iSQL*Plus,請執(zhí)行以下步驟:
          連接到 Internet 或 Intranet,然后啟動 Web 瀏覽器。在 Web 瀏覽器的“位置”字段或“地址”字段中,輸入 Oracle9i HTTP Server URL,并接著輸入 isqlplus。iSQL*Plus URL 如下所示:http://machine_name.domain:7777/isqlplus
          如果您不知道 Oracle9i HTTP Server URL,請向系統(tǒng)管理員咨詢。
          按 Enter 鍵將轉(zhuǎn)到該 URL。Web 瀏覽器中將顯示 iSQL*Plus“登錄”屏幕。
          在“用戶名”字段和“口令”字段中,輸入 Oracle9i 用戶名和口令。如果您不知道 Oracle9i 用戶名和口令,請向數(shù)據(jù)庫管理員咨詢。
          將“連接標(biāo)識符”字段保留為空可以連接到默認(rèn)數(shù)據(jù)庫。輸入 Oracle Net 數(shù)據(jù)庫別名時(shí),可以連接到默認(rèn)數(shù)據(jù)庫以外的其他數(shù)據(jù)庫。如果已配置了限制的數(shù)據(jù)庫訪問,“連接標(biāo)識符”字段就會變成可供選擇的可用數(shù)據(jù)庫的下拉列表。
          單擊“登錄”,連接到相關(guān)數(shù)據(jù)庫。Web 瀏覽器上將會顯示 iSQL*Plus“工作屏幕”。
          此時(shí),您可以在“工作屏幕”的輸入?yún)^(qū)域中輸入并執(zhí)行 SQL、PL/SQL 和 SQL*Plus 語句和命令。
          Oracle 816中啟動Enterprise Manager
          系統(tǒng)環(huán)境:
          1、操作系統(tǒng):Windows 2000
          2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
          3、安裝路徑:C:\ORACLE
          錯誤現(xiàn)象:
          默認(rèn)安裝完Oracle 816 for NT后,想使用Oracle816 for NT的OEM工具來管理數(shù)據(jù)庫,開始→程序→Oracle - OraHome81→Enterprise Manager→Console。這時(shí)系統(tǒng)出現(xiàn)以下畫面一:
            
          點(diǎn)擊“確定”,出現(xiàn)畫面二、三。
             
          在“添加管理服務(wù)器”欄上輸入本機(jī)IP地址,如:192.1.1.1,點(diǎn)擊“確定”,出現(xiàn)畫面四。 
          畫面顯示出的oradb就使本機(jī)名稱,點(diǎn)擊“確定”,出現(xiàn)畫面五,進(jìn)行“Oracle Enterprise Manager 登錄”。 
          輸入口令/密碼:system/manager,點(diǎn)擊“確定”,出現(xiàn)畫面六,出現(xiàn)以下錯誤提示。 
          VTK-1000 : Unable to connect to the management server oradb. Please vertify that you have entered the correct host name nd the status of the Oracle Managerment Server.解決方法:
          1、使用Enterprise Manager配置輔助工具
          開始→程序→Oracle - OraHome81→Enterprise Manager→Configuration Assistant
          a、使用Configuration Assistant工具來創(chuàng)建一個新的資料檔案庫,如圖七。 
          單擊“下一步”,出現(xiàn)畫面八。 
          b、  先登錄  用戶名:system,密碼:manager,服務(wù):oradb,注:輸入的用戶必須具有DBA權(quán)限,單擊“下一步”,出現(xiàn)畫面九。(9i為sysman/oem_temp)
            
          c、再創(chuàng)建擁有此資料檔案庫的用戶,系統(tǒng)默認(rèn)取機(jī)器名,這里我們設(shè)用戶名為:test,密碼:test,輸入兩遍口令,單擊“下一步”,出現(xiàn)畫面十。 
          d、因?yàn)檩斎氲氖且粋€新用戶,系統(tǒng)要求指定用戶表空間,本例使用系統(tǒng)推薦,
          單擊“下一步”,系統(tǒng)正在創(chuàng)建OEM_REPOSITORY表空間,創(chuàng)建完畢后出現(xiàn)畫面十一。 
          e、系統(tǒng)顯示“創(chuàng)建資料檔案庫概要”,單擊“完成”,顯示“配置輔助工具進(jìn)度”,如圖十二。
            
          單擊“顯示詳細(xì)資料”,可以看到系統(tǒng)正在創(chuàng)建各種對象的提示。
          系統(tǒng)處理完成,單擊“關(guān)閉”,如圖十三。
            
          2、  啟動OracleOraHome81ManagementServer服務(wù):開始→設(shè)置→控制面版→管理工具→服務(wù),如圖十四,找到Oracle相關(guān)服務(wù)的位置。 
          單擊“啟動”,如圖十五,如果上一步?jīng)]有創(chuàng)建資料檔案庫,則會啟動失敗。 
          把OracleOraHome81ManagementServer服務(wù)設(shè)置成自動啟動方式。
          3、  重新進(jìn)行Oracle Enterprise Manager 登錄:開始→程序→Oracle - OraHome81→Enterprise Manager→Console
          Oracle Enterprise Manager 的默認(rèn)管理員是 sysman/oem_temp,系統(tǒng)管理員應(yīng)該馬上更改口令。
          如圖十六,不要在管理員一欄直接寫sysman/oem_temp,而是分別輸入“用戶名/密碼”。
            
          單擊“確定”,出現(xiàn)圖十七,安全警告,要求你立即更改sysman的口令。
            
          本例輸入兩遍manager作為口令,輸入完口令后,單擊“更改”,系統(tǒng)正式調(diào)出“Oracle Enterprise Manager 控制臺 SYSMAN@oradb”的畫面。
          備份和恢復(fù)數(shù)據(jù)庫的時(shí)候啟動OMS時(shí)總是提示VTD——0057連接資料檔案庫時(shí)出錯Oracle sysman emSDK client ons client NoDomainException
          1.run "emca" to create a "repository" for oem
          2.agentctl start
          oemctl start oms
          $ORACLE_HOME/network/snmp/peer/start_peer -a
          3.oemapp dbastudio <= initial account/password=sysman/oem_temp
          數(shù)據(jù)庫的創(chuàng)建腳本
          系統(tǒng)環(huán)境:
          1、操作系統(tǒng):Windows 2000 Server,機(jī)器內(nèi)存128M
          2、數(shù)據(jù)庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版
          3、安裝路徑:D:\ORACLE
          建庫步驟:
          1、手工創(chuàng)建相關(guān)目錄
          D:\Oracle\admin\test
          D:\Oracle\admin\test\adhoc
          D:\Oracle\admin\test\bdump
          D:\Oracle\admin\test\cdump
          D:\Oracle\admin\test\create
          D:\Oracle\admin\test\exp
          D:\Oracle\admin\test\pfile
          D:\Oracle\admin\test\udump
          D:\Oracle\oradata\test
          D:\Oracle\oradata\test\archive
          2、手工創(chuàng)建初始化啟動參數(shù)文件:D:\Oracle\admin\test\pfile\inittest.ora,內(nèi)容:
          3、手工創(chuàng)建D:\Oracle\Ora81\DATABASE\inittest.ora文件,
              內(nèi)容:IFILE='D:\Oracle\admin\test\pfile\inittest.ora'
          4、使用orapwd.exe命令,創(chuàng)建D:\Oracle\Ora81\DATABASE\PWDtest.ora
              命令:D:\Oracle\Ora81\bin\orapwd file=D:\Oracle\Ora81\DATABASE\PWDtest.ora password=ORACLE entries=5
          5、通過oradim.exe命令,在服務(wù)里生成一個新的實(shí)例管理服務(wù),啟動方式為手工
              set ORACLE_SID=test
              D:\Oracle\Ora81\bin\oradim -new -sid test -startmode manual -pfile "D:\Oracle\admin\test\pfile\inittest.ora"
          6、生成各種數(shù)據(jù)庫對象D:\>svrmgrl
          --創(chuàng)建數(shù)據(jù)庫
          connect INTERNAL/Oracle
          startup nomount pfile="D:\Oracle\admin\test\pfile\inittest.ora"
          CREATE DATABASE test
          LOGFILE 'D:\Oracle\oradata\test\redo01.log' SIZE 2048K,'D:\Oracle\oradata\test\redo02.log' SIZE 2048K, 'D:\Oracle\oradata\test\redo03.log' SIZE 2048K
          MAXLOGFILES 32
          MAXLOGMEMBERS 2
          MAXLOGHISTORY 1
          DATAFILE 'D:\Oracle\oradata\test\system01.dbf' SIZE 58M REUSE AUTOEXTEND ON NEXT 640K
          MAXDATAFILES 254
          MAXINSTANCES 1
          CHARACTER SET ZHS16GBK
          NATIONAL CHARACTER SET ZHS16GBK;
          控制文件、日志文件在上面語句執(zhí)行時(shí)生成
          connect INTERNAL/Oracle
          --修改系統(tǒng)表空間
          ALTER TABLESPACE SYSTEM DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 50);
          ALTER TABLESPACE SYSTEM MINIMUM EXTENT 64K;
          --創(chuàng)建回滾表空間
          CREATE TABLESPACE RBS DATAFILE 'D:\Oracle\oradata\test\rbs01.dbf' SIZE 256M REUSE
             AUTOEXTEND ON NEXT 5120K
             MINIMUM EXTENT 512K
             DEFAULT STORAGE(INITIAL 512K NEXT 512K MINEXTENTS 8 MAXEXTENTS 4096);
          --創(chuàng)建用戶表空間
          CREATE TABLESPACE USERS DATAFILE 'D:\Oracle\oradata\test\users01.dbf' SIZE 128M REUSE
             AUTOEXTEND ON NEXT 1280K
             MINIMUM EXTENT 128K
             DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
          --創(chuàng)建臨時(shí)表空間
          CREATE TABLESPACE TEMP DATAFILE 'D:\Oracle\oradata\test\temp01.dbf' SIZE 32M REUSE
             AUTOEXTEND ON NEXT 640K
             MINIMUM EXTENT 64K
             DEFAULT STORAGE(INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0) TEMPORARY;
          --創(chuàng)建工具表空間
          CREATE TABLESPACE TOOLS DATAFILE 'D:\Oracle\oradata\test\tools01.dbf' SIZE 64M REUSE
             AUTOEXTEND ON NEXT 320K
             MINIMUM EXTENT 32K
             DEFAULT STORAGE ( INITIAL 32K NEXT 32K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
          --創(chuàng)建索引表空間
          CREATE TABLESPACE INDX DATAFILE 'D:\Oracle\oradata\test\indx01.dbf' SIZE 32M REUSE
             AUTOEXTEND ON NEXT 1280K
             MINIMUM EXTENT 128K
             DEFAULT STORAGE ( INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);
          --創(chuàng)建回滾段
          CREATE PUBLIC ROLLBACK SEGMENT RBS0 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS1 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS2 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS3 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS4 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS5 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS6 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS7 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS8 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS9 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS10 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS11 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS12 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS13 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS14 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS15 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS16 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS17 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS18 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS19 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS20 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS21 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS22 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS23 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          CREATE PUBLIC ROLLBACK SEGMENT RBS24 TABLESPACE RBS STORAGE ( OPTIMAL 4096K );
          --使回滾段在線
          ALTER ROLLBACK SEGMENT "RBS0" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS1" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS2" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS3" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS4" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS5" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS6" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS7" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS8" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS9" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS10" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS11" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS12" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS13" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS14" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS15" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS16" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS17" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS18" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS19" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS20" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS21" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS22" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS23" ONLINE;
          ALTER ROLLBACK SEGMENT "RBS24" ONLINE;
          --修改sys用戶的臨時(shí)表空間為TEMP
          alter user sys temporary tablespace TEMP;
          --創(chuàng)建數(shù)據(jù)字典表
          @D:\Oracle\Ora81\Rdbms\admin\catalog.sql;
          @D:\Oracle\Ora81\Rdbms\admin\catexp7.sql
          @D:\Oracle\Ora81\Rdbms\admin\catproc.sql
          @D:\Oracle\Ora81\Rdbms\admin\caths.sql
          connect system/manager
          @D:\Oracle\Ora81\sqlplus\admin\pupbld.sql
          connect internal/Oracle
          @D:\Oracle\Ora81\Rdbms\admin\catrep.sql
          exit
          --生成SQL*Plus幫助系統(tǒng)
          sqlplus SYSTEM/manager
          @D:\Oracle\Ora81\sqlplus\admin\help\helpbld.sql helpus.sql
          exit
          --修改system用戶默認(rèn)表空間和臨時(shí)表空間
          svrmgrl
          connect internal/Oracle
          alter user system default tablespace TOOLS;
          alter user system temporary tablespace TEMP;
          exit
          7、將test實(shí)例啟動服務(wù)設(shè)置成自動啟動方式
          D:\Oracle\Ora81\bin\oradim -edit -sid test -startmode auto
          啟動ARCHIVELOG模式
          C:\>svrmgrl
          Oracle Server Manager Release 3.1.6.0.0 - Production
          版權(quán)所有 (c) 1997,1999,Oracle Corporation。保留所有權(quán)利。
          Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
          With the Partitioning option
          JServer Release 8.1.6.0.0 - Production
          SVRMGR> connect internal
          連接成功
          SVRMGR>shutdown
          已關(guān)閉數(shù)據(jù)庫。
          已卸下數(shù)據(jù)庫。
          已關(guān)閉 ORACLE 實(shí)例。
          SVRMGR> startup mount
          已啟動 ORACLE 實(shí)例。
          系統(tǒng)全局區(qū)域合計(jì)有 57124108個字節(jié)
          Fixed Size 70924個字節(jié)
          Variable Size 40198144個字節(jié)
          Database Buffers 16777216個字節(jié)
          Redo Buffers 77824個字節(jié)
          已裝入數(shù)據(jù)庫。
          SVRMGR> alter database archivelog;
          語句已處理。
          SVRMGR> archive log start
          語句已處理。
          SVRMGR> alter database open;
          語句已處理。
          SVRMGR> alter system switch logfile;  --強(qiáng)制系統(tǒng)進(jìn)行日志切換,可馬上觀察到歸檔日志的產(chǎn)生
          語句已處理。
          SVRMGR> exit
          服務(wù)器管理程序結(jié)束。
          修改數(shù)據(jù)庫參數(shù)文件c:\Oracle\admin\oradb\pfile\init.ora,
          取消以下語句的#注釋
          log_archive_start = true
          log_archive_dest_1 = "location=C:\Oracle\oradata\oradb\archive"
          log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
          關(guān)閉數(shù)據(jù)庫,重新啟動
          查看C:\Oracle\oradata\oradb\archive目錄下,可以看到類似ORADBT001S01201.ARC的文件,說明歸檔成功
          PLUS:Oracle9i中需要執(zhí)行的部分
          SQL> alter system set log_archive_dest_1 ="location=E:\Oracle\oradata\test\archive" scope = spfile;
          SQL> alter system set log_archive_start = true scope = spfile;
          補(bǔ)充一些概念
          解釋init.ora參數(shù)文件中關(guān)于歸檔重做日志參數(shù)項(xiàng)的含義
          歸檔模式是自動還是手工,true為自動,false為手工
          log_archive_start = true
          歸檔日志文件所保存的路徑
          log_archive_dest_1 = "location=C:\Oracle\oradata\oradb\archive"
          歸檔日志文件的命名方法
          log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
          歸檔命令:
          啟動自動歸檔模式,系統(tǒng)重起后,將按init.ora中的參數(shù)log_archive_start的值設(shè)置歸檔方式
          SVRMGR> archive log start
          啟動手工歸檔模式
          SVRMGR> archive log stop
          查看歸檔信息:重做日志是否歸檔方式、是自動歸檔還是手工歸檔、歸檔路徑、最舊的聯(lián)機(jī)日志循序號
          SVRMGR> archive log list
          歸檔一個已滿,但沒有歸檔的聯(lián)機(jī)重做日志
          SVRMGR> archive log next
          歸檔所有已滿,但沒有歸檔的聯(lián)機(jī)重做日志
          SVRMGR> archive log all
          注意:一個事務(wù)即使不被提交,也會被寫入到重做日志中。
          SYS下的程序包和程序包體僅STANDARD包體可以編譯為valid
          問題:我的sys下的程序包和程序包體都是invalid.但是STANDARD包體可以編譯為valid.其他程序包都是invalid. 編譯時(shí)提示:
          VBO-4553:PL/SQL 程序包編譯是不。有關(guān)詳細(xì)信息,請按該屬性頁上的顯示錯誤。ORA-06554:????? PL/SQL ???? DBMS_STANDARD
          SQLPLUS連接時(shí)提示:ERROR:ORA-06554: package DBMS_STANDARD must be created before using PL/SQL
          Error accessing package DBMS_APPLICATION_INFO
          ERROR:ORA-06554: package DBMS_STANDARD must be created before using PL/SQL
          解答:
          用$ORACLE_HOME/RDBMS/ADMIN下面的相關(guān)文件重新創(chuàng)建一下這些包。
          SYSDBA登陸運(yùn)行
          $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL
          $ORACLE_HOME/RDBMS/ADMIN/CATPROC.SQL
          如何實(shí)現(xiàn):插入數(shù)據(jù)到數(shù)據(jù)庫A中的表TPROCESS,數(shù)據(jù)庫自動更新到數(shù)據(jù)庫B中的表TLOG?
          1. at db1
          chk tnsnames.ora
          CONNECT_STRING_DB2 = ...
          tnsping CONNECT_STING_DB2
          sql> create public database link DB2 using 'CONNECT_STING_DB2';
          2. at db2
          chk tnsnames.ora
          CONNECT_STRING_DB1 = ...
          tnsping CONNECT_STING_DB1
          sql> create public database link DB1 using 'CONNECT_STING_DB1';
          3. at db1
          sql> create trigger ... after insert ...
          insert into USER.TABLE@DB2 ... <<== using database link !!!
               :NEW.column1, :NEW.column2 ...
          從一個字符集不是中文字符集的數(shù)據(jù)庫中EXP數(shù)據(jù)庫,然后導(dǎo)入到一個中文字符集的數(shù)據(jù)庫中
          EXP/IMP是一種數(shù)據(jù)庫到出導(dǎo)入工具,但是在EXP/IMP對數(shù)據(jù)庫的字符集要求比較嚴(yán)格,如果EXP出的數(shù)據(jù)庫的字符集和導(dǎo)入數(shù)據(jù)庫的字符集不兼容。導(dǎo)入無法完成。此時(shí)需要采取一種特殊的方法進(jìn)行操作。由于該操作是有一定危害性的操作,在操作過程中,數(shù)據(jù)庫突然出現(xiàn)故障的情況下,會導(dǎo)致數(shù)據(jù)庫可能無法正常啟動。因此操作前一定要先備份數(shù)據(jù)庫。
          1、在原數(shù)據(jù)庫執(zhí)行sqlplus,連接sys用戶,修改字符集參數(shù),然后退出。
          SQL> connect sys/******;
          update props$ set value$ = 'ZHS16GBK' where name = 'NLS_CHARACTERSET';
          update props$ set value$ = 'ZHS16GBK' where name = 'NLS_NCHAR_CHARACTERSET';
          commit;
          SQL> quit;
          2、執(zhí)行svrmgrl,關(guān)閉并重新開啟Oracle數(shù)據(jù)庫
          SVRMGR> connect internal/******; (口令一般為"Oracle")
          SVRMGR> shutdown immediate;
          SVRMGR> startup mount;
          SVRMGR> alter system enable restricted session;
          SVRMGR> alter system set job_queue_process=0;
          SVRMGR> alter database open;
          SVRMGR> alter database character set ZHS16GBK;
          SVRMGR> exit;
          3、修改環(huán)境變量NLS_LANG
              由 AMERICAN_AMERICA.WE8ISO8859P1
              轉(zhuǎn)換為 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
              如果是WINDOWS,用Regedit修改ORACLE下的鍵值。如果是UNIX系統(tǒng),修改環(huán)境變量:NLS_LANG=...;export NLS_LANG
              如果是OpenVMS:修改Login.com文件中的設(shè)置,然后重新執(zhí)行一次Login.com
          4、執(zhí)行exp導(dǎo)出數(shù)據(jù)
          5、將環(huán)境變量NLS_LANG修改為原來的值
          6、執(zhí)行sqlplus,連接sys用戶,恢復(fù)字符集參數(shù),然后退出。
          connect sys/******; (口令一般為"manager")
          update props$ set value$ = 'WE8ISO8859P1' where name = 'NLS_CHARACTERSET';
          update props$ set value$ = 'WE8ISO8859P1' where name = 'NLS_NCHAR_CHARACTERSET';
          commit;
          SQL> quit;
          7、重復(fù)步驟2,關(guān)閉并重新開啟Oracle數(shù)據(jù)庫
          8、將導(dǎo)出的dmp文件導(dǎo)入目標(biāo)數(shù)據(jù)庫(字符集為中文)
          成功創(chuàng)建DBLink,但不能連接
          問題:
          ORACLE 8.1.6 for NT,現(xiàn)在需要連另一個ORACLE 8 FOR UNIX,當(dāng)然是要建立DBLINK。但是建立本地網(wǎng)絡(luò)服務(wù)名時(shí)可以連接上了,所建DBLINK就是連接不上,為什么?
          用select <xxx> from <表名>@<db_link>
          錯誤是:ORA-02085: 數(shù)據(jù)庫鏈接ORA8I.US.ORACLE.COM與ORA8I相連結(jié)(ora8i 是DBLINK的名字)
          解答:
          如果你的源數(shù)據(jù)庫的GLOBAL_NAME=TRUE,那么你的DBLINK的名字必須和遠(yuǎn)端數(shù)據(jù)庫的全局名一致,否則會發(fā)生2085 錯誤。
          你可設(shè)置源數(shù)據(jù)庫的GLOBAL_NAME=FALSE,也可以在創(chuàng)建DBLINK的時(shí)候把DBLINK的名稱設(shè)置為遠(yuǎn)程數(shù)據(jù)庫的全局名。
          How to Configure the 9i Agent with Multiple Network Cards
          fact: Oracle Intelligent Agent 9.0.1
          fix:
          Configuring the Version 9.0.1 Agent for Use with Multiple Network Cards (NIC)(From the Oracle IA User's Guide Release 9.0.1 Part Number A88771-02):
          As with version 8.1.7 of the Intelligent Agent, 9i Intelligent Agent users have three options to configure the Agent on a machine with multiple network cards.By default the Agent will bind to the primary NIC on its machine ('le0' on UNIX platforms and 'network0' on Windows NT platforms). The other two options are:
             a. Ability to bind to a NIC specified by the user.

          posted on 2007-10-24 20:50 john 閱讀(1832) 評論(0)  編輯  收藏 所屬分類: Oracle Technology

          主站蜘蛛池模板: 延寿县| 石景山区| 蕉岭县| 通辽市| 东兴市| 大理市| 石河子市| 紫云| 施甸县| 巴中市| 利津县| 弋阳县| 福海县| 湘潭市| 桦南县| 察哈| 全南县| 泽州县| 德保县| 晋中市| 马鞍山市| 新和县| 梅河口市| 姚安县| 兰溪市| 孝昌县| 金川县| 台东县| 张北县| 宝应县| 长乐市| 清丰县| 无棣县| 宜城市| 上高县| 龙岩市| 渝中区| 富阳市| 江源县| 高陵县| 泸溪县|