一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - Oracle 安裝和卸載問題收集(集合篇)

Oracle 安裝和卸載問題收集(集合篇)

2019-11-04 16:01Oracle教程網 Oracle

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

Oracle的系統(tǒng)要求 
企業(yè)版:CPU 最低PENTIUM 200M 推薦 PENTIUMIII 1G以上 
    內存 最低128M 推薦 512M 
    硬盤空間 系統(tǒng)盤140M 安裝盤4.5G(FAT32)或2.75G(NTFS) 
標準版:CPU 最低PENTIUM 200M 推薦 PENTIUMIII 866以上 
    內存 最低128M 推薦 256M 
    硬盤空間 系統(tǒng)盤140M 安裝盤4.5G(FAT32)或2.5G(NTFS) 
個人版:CPU 最低PENTIUM 200M 推薦 PENTIUM 266以上 
    內存 最低128M 推薦 256M 
    硬盤空間 系統(tǒng)盤140M 安裝盤4.0G(FAT32)或2.5G(NTFS) 
在P4機器上安裝Oracle 8i 
P4的計算機最好安裝ORACLE 9I,如果不方便的話可以按照以下的方法安裝ORACLE 8I (其實也不是所有的P4CPU都不可以安裝ORACLE8I, 我的一臺P4 1。7 安裝ORACLE 8.1.6就一點問題沒有) 
一、系統(tǒng)環(huán)境及準備工作 
硬件: 
Intel P4的處理器 
256M的內存 
硬盤有三個分區(qū)C、D、E,光驅為F 
軟件: 
操作系統(tǒng)WINDOWS 2000 SERVER、WINDOWS 98 
數據庫ORACLE 8.0.6 for NT或ORACLE 8.1.x for NT 
準備工作: 
確保機器上沒有裝過Oracle產品。如有的話請先卸載,再將注冊表中所有Oracle的相關項刪除。 
在WINDOWS 2000 SERVER上安裝Oracle Enterprise Edition 
在WINDOWS 98上安裝Oracle Client 
二、故障現象 
1、在WINDOWS 2000 SERVER上安裝Oracle8.0.6時 
當選擇定制安裝,并創(chuàng)建數據庫時,主要應用程序都已安裝完成,在提示“是否創(chuàng)建數據庫”,選擇是后就再也沒有反應。重啟機器后,點擊應用程序后沒有反應而簡單終斷。 點擊應用程序,鼠標呈現沙漏狀,然后消失,再沒有任何現象發(fā)生。 
2、在WINDOWS 98上安裝Oracle8.0.6的Client后安裝成功,點擊應用程序,提示該程序執(zhí)行了非法操作,即將關閉。 
3、在WINDOWS 2000 SERVER上安裝Oracle8i時點擊安裝應用程序Setup.exe,程序掛起、或消失、或終止而沒有任何反應。 
三、原因分析 
使用Windows NT、 Windows 2000或NetWare操作系統(tǒng)和Intel P4處理器的計算機,安裝Oracle8或者Oracle8i時,將會碰到以上問題。主要原因是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。 
如果故障的現象是,Oracle8.0.6已經安裝完成,但是點擊建Oracle應用程序沒有任何反應(一般是在WINDOWS 2000 SERVER操作系統(tǒng)中)或點擊應用程序如Net8,提示該程序執(zhí)行了非法操作,即將關閉(一般是在WINDOWS 98操作系統(tǒng)中)。。在這種情況下,可不卸載Oracle,而直接將系統(tǒng)安裝目錄相應位置下的symcjit.dll文件改名為symcjit.old即可。 
2、Oracle 8.1.x解決辦法 
(1)創(chuàng)建一臨時目錄,并將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的參數為JRE_MEMORY_OPTIONS=-nojit -ms16m -mx32m 
(3)其它的參數保持不變。 
(4)執(zhí)行本地硬盤install\win32\setup.exe目錄下的Setup.exe文件。此時調用的是修改過的參數文件oraparam.ini。 
(5)安裝時選擇自定義模式,并且不創(chuàng)建數據庫。 
(6)安裝程序調用網絡配置助手Net8 Configuration Assistant (NetCA)時你需要強制終止它,然后退出安裝界面。 
(7)Oracle8i安裝完成后,安裝目錄中的下列每一個文件都有需要作相應修改。 
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 
用編輯工具依次打開上述文件,增加參數 – nojit,以dbassist.cl文件為例示意如下: 
Command=("C:\Program Files\Oracle\jre\1.1.7\BIN\JREW" -nojit -classpath ....) 
用相同的方法修改所列出的每一個.cl 文件內容。 
(8)安裝成功的完成了,你可以在安裝完成后運行DBCA和NetCA。 
在P4機器上安裝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 目錄下運行SETUP.exe文件進行安裝 
Oracle 9i 在2000高級服務器版上的安裝 
解決方法: 
1. 如果機器上從來沒有安裝過Oracle817或其他版本的Oracle,則可以把待安裝所有文件解壓到一個臨時目錄,例如解壓在E盤的temp\install\disk1目錄中,然后用搜索文件工具,找到所有的symcjit.dll文件,將其名字更改為symcjit.old,那么就可以直接運行disk1目錄下的setup.exe文件,開始安裝。 
2. 如果機器上曾經安裝過Oracle817,則需要完全卸載Oracle,然后安裝,步驟如下: 
⑴開始->設置->控制面板->管理工具->服務 
停止所有Oracle服務。 
⑵開始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer 
卸裝所有Oracle產品 
⑶運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。 
⑷運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口。 
⑸運行regedit,搜索所有與Oracle相關的項,并將其刪除。 
⑹從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標 
⑺重新啟動計算機,重起后才能完全刪除Oracle所在目錄 
⑻刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle及C:\Program Files\Oracle,刪除這個入口目錄及所有子目錄。 
⑼把Oracle所有待安裝的文件解壓到一個臨時目錄,例如解壓在E盤的temp\install\disk1目錄中。 
⑽打開文件disk1\install\oraparam.ini,做如下改動: 
● SOURCE項改為SOURCE=e:/temp/install/disk1/stage/products.jar 
●JRE_LOCATION項改為JRE_LOCATION=e:/temp/install/disk1/stage/Components/Oracle.swd.jre/1.1.7.30/1/DataFiles/Expanded/jre 
●OUI_LOCATION項改為 OUI_LOCATION=e:/temp/install/disk1/stage/Components/Oracle.swd.oui/1.7.1.9.0/1/DataFiles/Expanded 
● JRE_MEMORY_OPTIONS 項改為JRE_MEMORY_OPTIONS=-nojit -ms16m -mx32m 
3. 運行disk1\install\win32\setup.exe,安裝開始,根據提示做選擇,安裝下去,假設我安裝在D:\orant\ora81目錄下。 
4. 安裝完畢后一些服務會報出錯,不能啟動,這些服務為: 
Net8 Configuration Assistant 
Database Configuration Assistant 
HTTP服務雖然啟動,但是會報出一連串java.exe出錯,可以點擊開始->Oracle (數據庫名) ->Oracle HTTP server->Stop HTTP Server來停止HTTP Server服務。安裝完成了,可是全有問題。 
5. 安裝完成后還需要做下面的工作,在安裝路徑下所有的“*.cl”后綴的文件中增添“-nojit”項,共十個文件,如下: 
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中的三項服務仍不能啟動,因為工作還沒做完。 
到java.sun.com網站下載jre軟件,要1.2.2以上的版本,然后安裝在你的機器上,安裝完成后用其中的bin目錄和lib目錄覆蓋d:\orant\ora81\apache\jdk\jre下的bin目錄和lib目錄。到這里以上三個服務就可以順利啟動了。 
Win2000上安裝Oracle 9i 
問題: 
在win2000server中安裝Oracle9.2時,加載文件是出錯,安裝Oracle8就不會出錯 
解答: 
需要打Sp1以上的補丁才行 
同一臺PC機上安裝8I和9I 
問題: 
安裝時C:\PROGRAMME\ORACLE安裝程序回覆蓋先安裝的版本文件。不知道怎樣才能避免一切可能出現的沖突問題 
解答:先裝8 后9,分主目錄裝。還有,如果在某個已經存在的Oracle_home中安裝,當你修復或更新Oracle,或者添加其他產品選項時,你應該確定停止從特定主目錄中運行的任何Oracle服務。 

Oracle 9i的安裝過程 
環(huán)境:New CY1G, 256+128M, win2000 SP3,Oracle 9.2.0.1.0 
1.啟動OUI(Oracle universal installer),選擇下一步。 
2.選擇安裝的產品,即Oracle Database。點擊下一步。 

3.選中“標準版”,需要2.8G的空間,(這些安裝類型的主要差別是產品被授予許可的方式不同,企業(yè)版僅僅包括每個可能的選項,而標準版要求有想使用的每個選項的單獨授予許可。個人版意味著滿足測試目的的單機安裝)點擊下一步。在“數據庫配置選項”中,選中只安裝Oracle軟件(Software Only),不安裝數據庫,待安裝完Oracle軟件后,用DBCA創(chuàng)建數據庫。 
4.安裝完Oracle軟件(不含Oracle數據庫)后,啟動DBCA (DataBase Configuration Assistant),將一步步指導你創(chuàng)建數據庫(New Database)。 

5.創(chuàng)建完數據庫后,啟動NCA(Net Configuration Assistant),為數據庫配置監(jiān)聽器。 
Oracle Net Configration Assistan: 
監(jiān)聽程序配置:直接下一步,監(jiān)聽程序名為默認的Listener,網絡協(xié)議為TCP,使用默認端口1521。命名方法配置:選中本地命名。 
本地Net服務名配置:即修改本地tnsnames.ora文件,添加,選擇下一步,輸入數據庫全局名,在網絡協(xié)議里選擇TCP,輸入主機名,使用標準端口。使用sys用戶測試。 

6.現在可以獨立登陸OEM(Sys/password as sysdba) 
7.建立資料檔案庫,啟動EMCA(Enterprise Manager Configuration Assiatan),為數據庫創(chuàng)建資料檔案庫。 

8.創(chuàng)建資料檔案庫完成后,可以啟動Console登陸到Oracle managerment server,默認用戶名為sysman/oem_temp。 

Oracle在雙機備份服務器中的安裝步驟 
1、在其中一臺電腦上安裝完整的Oracle 數據庫(通過自定義安裝,不要創(chuàng)建數據庫實例) 
2、通過Oracle配置助手創(chuàng)建數據庫,將所有數據庫文件包括控制文件、表空間文件,日志文件等路徑指定到磁盤柜上。 
3、在另一臺電腦上安裝Oracle數據庫,指定數據文件到磁盤柜上,覆蓋以前建立的數據文件。 
4、要保持文件Oracle\ora81\database\PWDmyora.ora兩臺機子文件一樣,比如你在A機上導入dmp文件,需要把PWDmyora.ora拷入到B機上。 
5、將兩臺機子的Oracle服務改成手動模式,通過dataware軟件實現切換。 
刪除Oracle之一 
軟件環(huán)境: 1、Windows 2000+ORACLE 8.1.7 
2、ORACLE安裝路徑為:C:\ORACLE 
實現方法: 
1、 開始->設置->控制面板->管理工具->服務,停止所有Oracle服務。 
2、 開始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer,卸裝所有Oracle產品,但Universal Installer本身不能被刪除 
5、 運行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del鍵刪除這個入口。 
6、 運行regedit,選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滾動這個列表,刪除所有Oracle入口。 
7、 運行regedit, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有Oracle入口。 
8、 開始->設置->控制面板->系統(tǒng)->高級->環(huán)境變量 刪除環(huán)境變量CLASSPATH和PATH中有關Oracle的設定 
9、 從桌面上、STARTUP(啟動)組、程序菜單中,刪除所有有關Oracle的組和圖標 
10、刪除\Program Files\Oracle目錄 
11、重新啟動計算機,重起后才能完全刪除Oracle所在目錄 
12、刪除與Oracle有關的文件,選擇Oracle所在的缺省目錄C:\Oracle,刪除這個入口目錄及所有子目錄,并從Windows 2000目錄(一般為C:\WINNT)下刪除以下文件ORACLE.ini、oradim73.ini、oradim80.ini、oraodbc.ini等等。 
13、WIN.INI文件中若有[ORACLE]的標記段,刪除該段 
14、如有必要,刪除所有Oracle相關的ODBC的DSN 
15、到事件查看器中,刪除Oracle相關的日志 
說明: 
如果有個別DLL文件無法刪除的情況,則不用理會,重新啟動,開始新的安裝, 
安裝時,選擇一個新的目錄,則,安裝完畢并重新啟動后,老的目錄及文件就可以刪除掉了。 
刪除Oracle之二 
如果需要卸載Oracle,請運行安裝光盤上的安裝文件Setup.exe,在“歡迎”窗口中,選擇“卸裝產品”按鈕,進入“Invertory 目錄”窗口: 在該窗口中選擇需要刪除的產品(在產品名稱前面的方框內打上在標記√),然后單擊“刪除”按鈕即可;或者直接在開始菜單中找到Oracle for NT程序組下的Oracle installer,同樣可以卸載Oracle。 
卸載Oracle產品后,在系統(tǒng)的注冊表內仍然有相關信息,您可以參考以下方法進行手工刪除。 
注意:對注冊表的操作可能對系統(tǒng)產生嚴重影響,請在操作前進行備份,以便在系統(tǒng)異常時恢復到原來的注冊表。該操作請參考Windows系統(tǒng)的相關說明。 
運行RegEdit,在“HKEY_CURRENT_USER\Software”、“HKEY_LOCAL_MACHINE\Software”、“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services”主鍵中刪除所有的Oracle入口(如果找到的話),然后重新啟動計算機,如一切正常,則修改完成,如啟動有錯誤,可能您對注冊表的修改出錯,運行RegEdit,將備份的注冊表項目導入;如果誤刪了注冊表中的“Microsoft ODBC for Oracle”,可用以下方法恢復: 
將“HKEY_LOCAL_MACHINE\software\Microsoft\DataAccess”中的Version的值由‘2.1.1a'改為‘1.1.1a'然后重新安裝財務軟件,安裝程序會自動安裝 MADC,并恢復“Microsoft ODBC for Oracle”。 (對Windows95/98,請立即進入Dos方式,將備份的system.dat文件(如system.bak)復制回system.dat); 
(對Windows NT,如啟動失敗,請重新啟動計算機,在提示下,按空格鍵啟動“硬件配置文件/已知的最新正確配置”菜單,該菜單將注冊表還原到穩(wěn)定狀態(tài)。按照屏幕上的指示操作,可以將注冊表還原為上次成功啟動時的狀態(tài)。) 
在XP上安裝Oracle9i老是報錯提示加載數據庫時出錯:areasQueris 
解答:去除安裝路徑中的中文 
無法啟動監(jiān)聽器——Ora-12560錯誤 
1、控制面板-->管理工具-->服務下面的查看OracleOraHome92TNSListener服務有沒有啟動,如果沒有啟動則啟動。 
2、把tnsnames.ora和listener.ora里面的HOST(等于機器名或者等于IP地址例如:HOST = springal)值一定要保持一致。 
3、多配置幾次監(jiān)聽器然后啟動嘗試。 
4、DOS下lsnrctl命令進入監(jiān)聽器信息窗口,使用help查看命令幫助,然后使用相關命令查看監(jiān)聽器情況,并多次stop和start。 
5、查看注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener項并設置ImagePath>D:\Oracle\Ora92\BIN\TNSLSNR(你的安裝目錄) 
6、查看你配置的監(jiān)聽器端口有沒有被其他服務站用(默認的是1521端口),DOS下可以使用netstat –a查看。 
7、查看你的防火墻或者防病毒軟件是否屏蔽掉了1521端口。 
8、據說還與你的系統(tǒng)有關系,重新安裝一下windows 2000 SP3,這個問題通常與sp3有關系。 
Oracle啟動時,監(jiān)聽器不啟動或打開出錯 
軟件環(huán)境: 
1、Windows NT4.0+ORACLE 8.0.4 
2、ORACLE安裝路徑為:C:\ORANT 
錯誤現象: 
1、ORACLE啟動時,監(jiān)聽器不啟動或打開出錯 
2、服務器端:用username/password登錄正常,但用username/password@alias登錄不成功 
3、客戶端:用username/password@alias登錄不成功 
解決方法: 
1、如果是因為修改了NT的機器名,則把listener.ora文件中的host參數全部改為新的NT機器名, 
重新啟動OracleTNSListenr80服務即可。 
  例如: 
  LISTENER = 
  (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = 1521)) 
  (ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = 1526)) 
  ) 
2、使用監(jiān)聽器實用程序:LSNRCTL80.exe 
3、檢查監(jiān)聽器參數文件:c:\orant\NET80\admin\listener.ora 
4、檢查監(jiān)聽器日志文件:c:\orant\NET80\log\listener.log 
5、Tnsnames.ora文件配置錯誤,重新配置。 
6、檢查client 端 Tnsnames.ora 

在單機上安裝805,OracleTNSListener80不能啟動 
問題: 
我在win2000下安裝了ORACLE805,有網卡,但是沒有沒有連網。 
解答: 
1.805必須聯(lián)網,設置Microsoft loopback或使用816。直接把Listener的偵聽地址設到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) 


運行正常。 
ORA-12516 TNS:監(jiān)聽程序無法找到匹配的信息棧的可用句柄錯誤 
先打開 TNSNAMES.ORA 這個文件, (位于 //OraHome1/network/admin/tnsnames.ora) ,確定(INSTANCE_NAME=) 和 INITsid.ORA 文件中的 實例名(執(zhí)行項次) 匹配 
ORA-12154 TNS不能解析服務名 
使用Oracle的網絡配置助手“net configration assistant”刪除所有的網絡的配置(主要是監(jiān)聽程序的配置和本地網絡服務名的配置),然后重新配置。可以使用如下命令察看是否你的數據庫服務器已經啟動(在 *** 作系統(tǒng)中的“服務”中顯示為啟動,但你的數據庫并不一定啟動了。在MS-Dos提示符下輸入: 
C:\svrmgrl 
SVRMGR:>connect to internal 
密碼:<輸入你的密碼,如果不知道,輸入ORACLE試試> 
如果連接成功,執(zhí)行help可以察看命令。 
SVRMGR>startup 
如果提示你的數據庫已經啟動,則執(zhí)行“stop”停止數據庫,然后再執(zhí)行“startup”啟動。 
無法啟動實例服務 
控制面板-->管理工具-->服務下面的查看OracleServiceTest服務有沒有啟動,如果沒有啟動則啟動。如果啟動時候報找不到路徑,則查看注冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleServiceTest項并設置 ImagePath>D:\Oracle\Ora92\BIN\Oracle.exe test(你的安裝目錄,參數為你的服務名)以上兩則都可能是由于運行了注冊表軟件造成,比如優(yōu)化大師之類,我個人的解決辦法是在掃描注冊表的時候略過HKEY_LOCAL_MACHINE。 
在Windows平臺上,安裝Oracle后產生如下服務 
OracleMTSRecoveryService 
OracleOraHome92Agent 
OracleOraHome92HTTPServer 
OracleOraHome92TNSListener 
OracleServiceTest——以上為缺省配置為自動啟動的 
OracleOraHome92ClientCache 
OracleOraHome92PagingServer 
OracleOraHome92SNMPPeerEncapsulator 
OracleOraHome92SNMPPeerMasterAgent 
設置自動啟動數據庫 
可通過修改注冊表來實現: 
hkey_local_machine->software->microsoft->windows->currentversion->run->添加一個鍵值Oraclestart->其值為:c:\Oracle\ora81\bin\oradim.exe -startup -sid 數據庫別名 -usepwd Oracle -starttype inst 
在啟動ORACLE服務時無法啟動‘OracleOracleAgent' 
問題:提示錯誤如下:“在本地計算機無法啟動OracleOracleAgent服務。錯誤: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以后(安裝過程非常正常),運行以下操作,一切正常。 
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> 
但是只要重啟電腦,再運行同樣操作,就會出現如下的問題: 
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 
此時查看Oracle進程,所占用內存不到10m。 
但是只要執(zhí)行完Database Configuration Assistant--〉更改數據庫設置后, 
再次執(zhí)行如上操作,就能正常運行: 
此時Oracle進程占用內存接近100m,應該比較正常。 
但是只要重新啟動,就會依然出現 
ERROR: 
ORA-01034: ORACLE not available 
ORA-27101: shared memory realm does not exist 
這種錯誤,只能用Database Configuration Assistant更改數據庫設置后才能使用,重啟后問題依舊。讓我百思不得其解。 
解答: 
數據庫實例沒隨計算機啟動。 
1.數據庫啟動參數中是否有非PUBLIC回滾段! 要是有的話就先屏蔽掉,等創(chuàng)建完回滾段后重新打開,應該就沒有問題了。當時在ORACLE 7下成功。當時我用原有的數據庫配置參數(*.ORA)文件創(chuàng)建以后就出現了上面的問題。 
2.建議此時手動啟動服務,觀察如果出現缺少路徑的提示,可以參照上文設定相關路徑。 
ORA-12500: TNS: 監(jiā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服務器裝不上ORACLE8.1.5的問題,出現下面的錯誤提示是在建立數據庫之前,系統(tǒng)先要檢查內存時出現的, 
ORA-04031:unable to allocate 85141440 byters of shared memory("shared pool","unknown object","sga heap","db_block_buffers"),是不是內存不夠?但實際物理內存是2G?什么原因呢? 
解答: 
在安裝時,把SGA區(qū)、JAVA池等東西的內存配小一些 
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中下的例程‘數據庫'自動變?yōu)橐褑樱瑹o法裝載也無法打開,提示‘ORA-00059??LOG--FILES????'在這種情況下如果不卸載重裝解決,能有其它的辦法嗎? 
一般來說ORA-00059多出現maximum number of DB_FILES exceeded的錯誤,由于你機器上的字符集設置有些問題,所以 錯誤提示 變成了??,(字符集設置不對照成的) 雖然看的出于問題可能和Log file有關,但不確定.請修改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這個參數應該是ZHS16GBK,如不是,改為它。 
ORA-12203:TNS:unable to connect destination錯誤 
問題: 
在Windows2000下安裝8.0.5,選擇none,沒有建立實例,為什么在執(zhí)行svrmgr30 時報告Ora-12203:tns:unable to connect destination! 
解答: 
因為沒有創(chuàng)建實例,也就沒有環(huán)境變量。可參考“手工創(chuàng)建數據庫的全部腳本和說明”。 
注意其中: 
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:包寫入程序失敗 

把虛擬內存設的大一些 
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:通信通道的文件結束 
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)聽進程無法找到該演示文稿的句柄 
解決方案是檢查目標服務器網絡配置,并使其接受HTTP的協(xié)議。如果你是使用一般數據使用,建議使用新的數據庫實例。 
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身份的用戶,如果有,最好登陸進去,然后alter user system identified by YOURPASSWORD; 你的系統(tǒng)密碼被人修改了 
ORA-03121:沒連接接口驅動程序 
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 具域網,在網絡連接的情況下按裝ORACLE8I,到創(chuàng)建數據庫,初始化數據庫時,提示“ORA-12638 憑證檢索失敗”,裝了幾次都是這樣 
解答: 
憑證檢索失敗的錯誤一般都與網絡用戶集成有關,ORACLE中對于這個問題的管理是在SQLNET.ORA文件的SQLNET.AUTHENTICATION_SERVICES進行控制的,默認安裝都是SQLNET.AUTHENTICATION_SERVICES= (NTS)表示安裝ORACLE的用戶是通過操作系統(tǒng)的集成認證控制的,所以,我們只要把這個參數值屏蔽掉就行了。 
修改\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í)行的數據大概有100萬條,在執(zhí)行到幾十萬條的時候,遇到了如上異常。 
解答:原因有兩個方面: 
1、由于你的這個操作執(zhí)行的時間太長,導致SNAP SHOT失效(太老了),導致你的操作失敗; 
2、你的RBS太小,無法容納那么多的操作。 
處理方法: 
1、加大回滾段的大小(增加RBS表空間,修改回滾段的參數等) 
2、你這種編程方法有問題,如果第一個方法不能解決問題,說明是因為執(zhí)行時間過長,SNAPSHOT失效,需要你調整一下程序。是不是先把100萬記錄讀到內存里(內存不夠,可以采用文件作為緩沖),然后再做處理。也可以采用分段處理的方法,一次處理10萬條。 
ORA-01589:must use RESETLOGS or NORESETLOGS option for database open 
問題:在startup 之后出現錯誤提示 
解答: 
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. 
你的數據庫以前做過Media Recovery,用OPEN DATABASE RESETLOGS或OPEN DATABASE NORESETLOGS打開數據庫就可以了。 
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 
重設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:安裝時設定的ORACLEHOME的目錄下會有:admin、oradata和ora81三個目錄,其中在admin目錄下的你安裝的數據庫目錄下的Prfile下的init.ora就是。 
9i:在原來的目錄下看不到init文件了。不過你可以這樣: 
create pfile from spfile; 
這樣就可以看到init的文件了,因為9i里面的初始化文件有點變化。 
Oracle 數據庫自帶數據的生成腳本 
\ORACLE_HOME\rdbms\admin\SCOTT.SQL 

日期亂碼 
Oracle Server的設置如下 
NLS_CHARACTERSET WE8ISO8859P1 
NLS_LANGUAGE AMERICAN 
NLS_NCHAR_CHARACTERSET AL16UTF16 
機器上的注冊表 
NLS_LANGUAGE AMERICAN_AMERICA.WE8ISO8859P1 
問題: 
Java程序傳日期到Oracle的function里,經過lower(to_char(xsched_date,'DY'))函數后,日期變成了亂碼。請問: 
1. 我的字符集應當怎樣設置呢? 
2. server的 NLS_CHARACTERSET 和 NLS_NCHAR_CHARACTERSET 不一樣,沒關系吧?NLS_NCHAR_CHARACTERSET 是什么意思? 
解答: 
1 先查看有關字符集的信息 
SQL>col value$ format a40 
SQL> select * from nls_database_parameters; 
SQL> select * from V$NLS_PARAMETERS; 
2 查得的主要對應client端的顯示 
SQL> select * from sys.props$ WHERE NAME='NLS_LANGUAGE'; 
//可以把'AMERICAN' 改為'SIMPLIFIED CHINESE ',不過這個于本問題無關 
3修改字符集 
SQL> select * from sys.props$ WHERE NAME='NLS_CHARACTERSET'; 
//把你機器上的WE8ISO8859P1改為 
SQL>UPDATE sys.PROPS$ SET VALUE$='ZHS16GBK' WHERE NAME='NLS_CHARACTERSET'; 
SQL>commit; 
4 NLS_NCHAR_CHARACTERSET AL16UTF16 其中的UTF16為ZHS16GBK的子集,可顯示大多數漢字。 
更改字符集 
最好不要修改 props$表,可能會引起不正常的工作。 
如果是客戶端 ,修改注冊表即可; 
服務器端 "alter database character set 字符集"即可 
Oracle客戶端打包安裝問題 
我的程序是C/S架構的,所以客戶端電腦都要安裝ORACLE的客戶端程序,不知道有沒有辦法,將ORACLE的客戶端安裝程序打包進我的安裝程序,進行自動安裝。 
解答: 
1.其實ORACLE的安裝很簡單,你先安裝一套客戶端,然后把這些文件打包(從ORACLE_HOME開始全部取出),把注冊表中的ORACLE部分導出。然后自己編寫一個安裝程序,把這些文件按照某個路徑拷貝(不要修改相對路徑),如果你安裝的ORACLE_HOME改變了,就修改REG中的ORACLE_hone參數,然后將REG文件裝入。這些都可以通過編寫程序來實現。 
2.實際上Oracle驅動微軟也有,主要就缺那個網絡服務名,用Filemon.exe軟件跟蹤一下,看看要用到些什么東西。 
無法確定主機IP錯誤 
問題: 
Win2003+Oracle 9iR2 
安裝的時候告訴我無法確定主機的IP,忽略后又報了幾次,最后還是不能安裝 
解答:修改hosts文件。確認nslookup命令可以正確執(zhí)行 
沒有域名時設置Oracle9i中全局數據庫名 
set globle_name=false 
雙網卡連接外網問題 
問題: 
服務器雙網卡,一個內部用,一個通外網,裝ORACLE8I,客戶端連接服務器,當把外網網線拔掉,連接正常,把外網網線插上,連不上。 
解答:把內部網的網關去掉,再在上面加一個NETBEUI協(xié)議這樣就可以了。 
Oracle9i數據庫的企業(yè)版和標準版的區(qū)別 
Oracle9i數據庫的企業(yè)版和標準版最主要的區(qū)別在于企業(yè)版有更強大的并行和分布式處理能力,標準版是專為開發(fā)、部署和管理部門級 Internet 應用程序而設計的數據庫管理系統(tǒng),是用于傳統(tǒng)的部門級應用程序的一流數據庫。而應用超出部門級標準或訪問數據庫的人較多時,則應當選用企業(yè)版。 
標準版包含下列組件: 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è)版包括標準版中所有組件,并且還含有下列額外的組件: 
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地址沖突 
問題: 
我的機器的系統(tǒng)盤是 c 盤,Oracle8i也安裝在c盤,以前我把我的網站在“控制面板----管理工具——Internet服務管理器”中已經設置好了IIS的配置,所以在以前一打開http://127.0.0.1/就可以看見我的網站,自從安裝了Oracle8i后,在打開http://127.0.0.1/時,顯示的是關于Oracle的一個頁面,在IIS中的默認WEB站點已經“停止”了,當我再重新啟動的時候,說是“地址已被使用!”。我不知道該怎樣恢復成以前的情形。 
解答:在服務管理里面停止ORACLE HTTP服務 
一個控制文件被損壞,如何啟動 
系統(tǒng)環(huán)境: 
1、操作系統(tǒng):Windows 2000 Server,機器內存128M 
2、數據庫:Oracle 8i R2 (8.1.6) for NT 企業(yè)版 
3、安裝路徑:C:\ORACLE錯誤現象:因硬盤有壞道,一個控制文件損壞了,或人工誤刪一個控制文件,控制面板的Oracle相關服務可以啟動成功,但用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參數中定義修改前 
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 
注意:最少要有兩個控制文件的存在,即使一個也可以正常應用。 
某個數據文件損壞,如何打開數據庫——ORA-01033: ORACLE initialization or shutdown in progress錯誤 
系統(tǒng)環(huán)境: 
1、操作系統(tǒng):Windows 2000 Server,機器內存128M 
2、數據庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版 
3、安裝路徑:C:\ORACLE 
錯誤現象: 
因誤操作,數據庫中某一數據文件被誤刪, 
控制面板的Oracle相關服務顯示已啟動,但用SQL*Plus無法連接, 
顯示以下錯誤 
ORA-01033: ORACLE initialization or shutdown in progress 
模擬現象: 
create tablespace test datafile 
'c:\test.ora' size 5M 
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED 
default storage (initial 128K next 1M pctincrease 0) 

關閉所有服務stop.bat 
net stop "OracleWebAssistant0" 
net stop "OracleOraHome81TNSListener" 
net stop "OracleServiceORADB" 
shutdown 
在操作系統(tǒng)中刪除test.ora文件 
重新啟動服務start.bat 
net start "OracleWebAssistant0" 
net start "OracleOraHome81TNSListener" 
net start "OracleServiceORADB" 
服務里OracleServiceORADB顯示已啟動,但用SQL*Plus無法連接, 
顯示ORA-01033: ORACLE initialization or shutdown in progress 
解決方法: 
先讓該數據文件脫機,就可以打開數據庫 
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; 
--查詢數據文件聯(lián)、脫機狀態(tài) 
SQL> select file#,name,status from v$datafile; 
SQL> drop tablespace test; 
表空間已丟棄。 
丟失聯(lián)機日志文件 
分兩種情況處理 
1、丟失的是非活動的日志文件; 
2、丟失的是當前激活的日志文件。 
如果是第一種情況,而發(fā)生故障的日志文件組又具有多個成員,可以先將數據庫shutdown,然后用操作系統(tǒng)命令將損壞日志文件組中好的日志成員文件把損壞的成員文件覆蓋(在同一個日志成員組中的所有日志文件的各為鏡象的),如果其物理位置不可用可將其拷貝到新的驅動器上,使用alter database rename file ‘xxxx' to ‘xxxx'改變文件位置,之后啟動數據庫,如果正常馬上進行一個冷備份。如果損壞的日志組中只有一個日志成員,先mount上數據庫,將其轉換為noarchivelog模式,執(zhí)行alter database add logfile member ‘xxx' to group ‘x'給相關組增加一個成員,再執(zhí)行alter database drop logfile member ‘bad_file'將損壞的日志文件刪除,由于數據庫的結構發(fā)生變動需要備份控制文件,之后將數據庫改回archivelog模式,做一個冷備份。 
如果丟失的是當前激活的日志文件,數據庫又沒有鏡像而且當前日志組中所有成員均變?yōu)椴豢捎谩J紫葘祿靤hutdown abort,從最近的一次全備份中恢復所有的數據文件,將數據庫啟動到mount狀態(tài)。如果原來的日志文件物理位置不可用,使用alter database rename file ‘xxx' to ‘xxx'改變文件的存放位置。然后,使用recover database until cancel命令來恢復數據庫,直到提示最后一個歸檔日志運用完之后,輸入cancel。之后用alter database open resetlogs打開數據庫,如果沒有問題,立即進行一個冷備份。注意!所有包含在損壞的redo log中的信息將會丟失,也就是說數據庫崩潰前已經提交的數據有可能會丟失。這對于某些要求很高的應用將會損失慘重,因此應盡量使每個日志組具有多個日志成員,并且放置在不同的驅動器上防止發(fā)生介質故障。 
需要升級或者購買服務了嗎 
問題: 
管理我單位的數據庫服務器,配置是: Compaq Alpha Es40 +512M+單800Mhz CPU. 只跑ORACLE數據庫。 
因為對本單位的需求在系統(tǒng)設計的時候不很明確,以上配置是供貨商根據我單位當時的計算機應用情況配置的,Compaq的工程師在安裝的時候說機器很好,就是內存和CPU的配置小了點,我不太明白影響大不大。 
沒想到的是,業(yè)務需求的增長大大超過了當初的預期,在最開始的時候客戶端的PC數量只有不超過50臺,不久很快就超過了100臺,我把unix系統(tǒng)下的單用戶進程數量調到了200,心想這應該沒多大問題了吧,結果是好景不長,不到半年200也不夠了,我現在把最大進程數調到了400。我想請教一下,Oracle服務器是不是為每一個客戶端在服務器單獨開一個進程?一臺服務器能夠聯(lián)接的客戶端數量相對于內存的大小在理論上是不是有個參考的經驗值?有的話大概是多少? 
解答: 
1.Oracle服務器可以分為專用服務器和共享服務器兩種。專用服務器為每個客戶端進程開啟一個服務器端進程;共享服務器則開啟數個服務器端進程,為所有的客戶端程序服務; 
一般來說,采用專用服務器的話,你可以按照每個并發(fā)連接數需要2m內存來簡單計算。512M內存相對連接數較多,處理量較大的系統(tǒng)是不太夠的。Oracle9i 安裝就推薦512m內存了。 
Oracle的設計思路是假設機器具有無限能力,在過去不怎么樣,因為機器性能差,但是隨著技術的發(fā)展,機器的能力倍增,而且代價也大大降低,花很少的錢就可以買到很好的機器了,現在看來,這種開發(fā)思路是極其成功的。 
2.共享服務并不意味著不占用內存,只是采用共享池模式,將連接數據庫但暫時沒有數據作的用戶進程掛起,若并發(fā)用戶數量多而且頻繁時,會降低系統(tǒng)性能。 
另Oracle數據庫使用內存最多的應該是SGA區(qū),多數配置合理的系統(tǒng)中SGA區(qū)會占到系統(tǒng)內存的1/3甚至1/2以上,不合理的SGA區(qū)配置會極大地影響數據庫性能。至于SGA區(qū)大小和劃分與應用系統(tǒng)的數據量、客戶端數量、數據處理和程序代碼等相關。 
根據我從事數據庫工作的經驗,2G內存應該是需要的,而且貴單位的數據庫很可能需要優(yōu)化。 
3.我覺得大家忽略了一點:系統(tǒng)負載不僅與用戶數有關,更多的與交易量相關。 
數據庫中注冊用戶表可能達到幾千萬條,在創(chuàng)建時注意些什么設置 
對超級大表,首先要注意的是存儲參數的設定,估計一下行數據量,對表最終的存儲空間要求大致估算以下,建表時設定好(next_extent和max_extents參數,以免最后表超過max_extents而無法擴展),pct_increase參數一定要設定為0,否則以后next_extent會呈幾何級數增長。 
如果該表數據變化(增加、刪除、修改)頻繁,需要設定 PCT_FREE和PCT_USED參數(參數定義和用法請查找資料);如果空間足夠的話,最好在字段定義中不使用VARCHAR2數據類型,當前沒有數據也讓數據庫預留出空間,減少修改數據制造的數據碎片。 
對超級大表的檢索、*** 作,主要靠索引,如何建好索引、用好索引是系統(tǒng)開發(fā)人員的職責。超級大表的檢索首先應該與主表分在不同的表空間(最好是不同的存儲介質),其次超級大表的檢索也會占很大的空間,檢索的存儲參數也是要設定好的。 
對超級大表而言,一點點結構設計的不合理,甚至一句糟糕的程序代碼就可能使整個系統(tǒng)的性能讓人無法忍受。有些原則要記住:在超級大表上,不要存在與其他數據表的約束關系,約束關系可以通過程序代碼實現;對超級大表,不要隨意與其他數據表進行關聯(lián),除非通過主鍵(至少是索引列)關聯(lián)且where條件能使用到索引; 
如果你用到了ORACLE 8,對超級大表進行分區(qū)是非常有價值的。 
重裝Oracle服務器后,恢復以前的數據系統(tǒng)環(huán)境 
1、操作系統(tǒng):Windows 2000 Server,機器內存128M 
2、數據庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版 
3、安裝路徑:C:\ORACLE 
說明: 
恢復的前提是要保留以下全部文件: 
初始化參數文件INIT.ORA 
所有數據文件 
所有重做日志文件(聯(lián)機日志、歸檔日志) 
所有控制文件 
internal密碼文件 
步驟: 
1、重新安裝數據庫時,創(chuàng)建和原有數據庫相同的名字 
2、shutdown 
3、停掉NT上所有Oracle服務,刪除新建數據庫中的所有新建文件(和以上那些類似的文件) 
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,服務器參數文件是在Oracle9i及更高版本中一個新特性。其使Oracle9i可以更改大多數過去在使用數據庫聯(lián)機和用戶時不能動態(tài)更改的初始化參數。此外,服務器參數文件使Oracle9i能記住會話之間動態(tài)更改過的初始化參數的設置。 
pfile,相當與Oracle8i及以前版本的Init.ora。 
可以根據pfile建立spfile:如:create spfile from pfile =‘路徑/init.ora' 
數據庫升級錯誤——不相關的字符集 
數據庫從Oracle8.0.5升級到8.1.5,備份數據恢復時出現錯誤。錯誤提示:不相關的字符集(805到820) 
1、重建Oracle 8i數據庫,建庫時指定同一字符集,再移植; 查看原數據庫字符集, select * from nls_database_parameters 
2、設置原數據庫Oracle 805 的環(huán)境變量NLS_LANG與ora 8i數據庫一致,執(zhí)行export時可以轉換字符集。 
3、exp 與 imp 最好都使用Oracle 816 帶的,不要用Oracle 805 的exp 導出的dmp 文件,又用Oracle 816 的 imp 來導。 
啟動 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 鍵將轉到該 URL。Web 瀏覽器中將顯示 iSQL*Plus“登錄”屏幕。 
在“用戶名”字段和“口令”字段中,輸入 Oracle9i 用戶名和口令。如果您不知道 Oracle9i 用戶名和口令,請向數據庫管理員咨詢。 
將“連接標識符”字段保留為空可以連接到默認數據庫。輸入 Oracle Net 數據庫別名時,可以連接到默認數據庫以外的其他數據庫。如果已配置了限制的數據庫訪問,“連接標識符”字段就會變成可供選擇的可用數據庫的下拉列表。 
單擊“登錄”,連接到相關數據庫。Web 瀏覽器上將會顯示 iSQL*Plus“工作屏幕”。 
此時,您可以在“工作屏幕”的輸入區(qū)域中輸入并執(zhí)行 SQL、PL/SQL 和 SQL*Plus 語句和命令。 
Oracle 816中啟動Enterprise Manager 
系統(tǒng)環(huán)境: 
1、操作系統(tǒng):Windows 2000 
2、數據庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版 
3、安裝路徑:C:\ORACLE 
錯誤現象: 
默認安裝完Oracle 816 for NT后,想使用Oracle816 for NT的OEM工具來管理數據庫,開始→程序→Oracle - OraHome81→Enterprise Manager→Console。這時系統(tǒng)出現以下畫面一: 

點擊“確定”,出現畫面二、三。 

在“添加管理服務器”欄上輸入本機IP地址,如:192.1.1.1,點擊“確定”,出現畫面四。 
畫面顯示出的oradb就使本機名稱,點擊“確定”,出現畫面五,進行“Oracle Enterprise Manager 登錄”。 
輸入口令/密碼:system/manager,點擊“確定”,出現畫面六,出現以下錯誤提示。 
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)建一個新的資料檔案庫,如圖七。 
單擊“下一步”,出現畫面八。 
b、 先登錄 用戶名:system,密碼:manager,服務:oradb,注:輸入的用戶必須具有DBA權限,單擊“下一步”,出現畫面九。(9i為sysman/oem_temp) 

c、再創(chuàng)建擁有此資料檔案庫的用戶,系統(tǒng)默認取機器名,這里我們設用戶名為:test,密碼:test,輸入兩遍口令,單擊“下一步”,出現畫面十。 
d、因為輸入的是一個新用戶,系統(tǒng)要求指定用戶表空間,本例使用系統(tǒng)推薦, 
單擊“下一步”,系統(tǒng)正在創(chuàng)建OEM_REPOSITORY表空間,創(chuàng)建完畢后出現畫面十一。 
e、系統(tǒng)顯示“創(chuàng)建資料檔案庫概要”,單擊“完成”,顯示“配置輔助工具進度”,如圖十二。 

單擊“顯示詳細資料”,可以看到系統(tǒng)正在創(chuàng)建各種對象的提示。 
系統(tǒng)處理完成,單擊“關閉”,如圖十三。 

2、 啟動OracleOraHome81ManagementServer服務:開始→設置→控制面版→管理工具→服務,如圖十四,找到Oracle相關服務的位置。 
單擊“啟動”,如圖十五,如果上一步沒有創(chuàng)建資料檔案庫,則會啟動失敗。 
把OracleOraHome81ManagementServer服務設置成自動啟動方式。 
3、 重新進行Oracle Enterprise Manager 登錄:開始→程序→Oracle - OraHome81→Enterprise Manager→Console 
Oracle Enterprise Manager 的默認管理員是 sysman/oem_temp,系統(tǒng)管理員應該馬上更改口令。 
如圖十六,不要在管理員一欄直接寫sysman/oem_temp,而是分別輸入“用戶名/密碼”。 

單擊“確定”,出現圖十七,安全警告,要求你立即更改sysman的口令。 

本例輸入兩遍manager作為口令,輸入完口令后,單擊“更改”,系統(tǒng)正式調出“Oracle Enterprise Manager 控制臺 SYSMAN@oradb”的畫面。 
備份和恢復數據庫的時候啟動OMS時總是提示VTD——0057連接資料檔案庫時出錯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 
數據庫的創(chuàng)建腳本 
系統(tǒng)環(huán)境: 
1、操作系統(tǒng):Windows 2000 Server,機器內存128M 
2、數據庫: Oracle 8i R2 (8.1.6) for NT 企業(yè)版 
3、安裝路徑:D:\ORACLE 
建庫步驟: 
1、手工創(chuàng)建相關目錄 
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)建初始化啟動參數文件:D:\Oracle\admin\test\pfile\inittest.ora,內容: 
3、手工創(chuàng)建D:\Oracle\Ora81\DATABASE\inittest.ora文件, 
內容: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命令,在服務里生成一個新的實例管理服務,啟動方式為手工 
set ORACLE_SID=test 
D:\Oracle\Ora81\bin\oradim -new -sid test -startmode manual -pfile "D:\Oracle\admin\test\pfile\inittest.ora" 
6、生成各種數據庫對象D:\>svrmgrl 
--創(chuàng)建數據庫 
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í)行時生成 
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)建臨時表空間 
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用戶的臨時表空間為TEMP 
alter user sys temporary tablespace TEMP; 
--創(chuàng)建數據字典表 
@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用戶默認表空間和臨時表空間 
svrmgrl 
connect internal/Oracle 
alter user system default tablespace TOOLS; 
alter user system temporary tablespace TEMP; 
exit 
7、將test實例啟動服務設置成自動啟動方式 
D:\Oracle\Ora81\bin\oradim -edit -sid test -startmode auto 
啟動ARCHIVELOG模式 
C:\>svrmgrl 
Oracle Server Manager Release 3.1.6.0.0 - Production 
版權所有 (c) 1997,1999,Oracle Corporation。保留所有權利。 
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 
已關閉數據庫。 
已卸下數據庫。 
已關閉 ORACLE 實例。 
SVRMGR> startup mount 
已啟動 ORACLE 實例。 
系統(tǒng)全局區(qū)域合計有 57124108個字節(jié) 
Fixed Size 70924個字節(jié) 
Variable Size 40198144個字節(jié) 
Database Buffers 16777216個字節(jié) 
Redo Buffers 77824個字節(jié) 
已裝入數據庫。 
SVRMGR> alter database archivelog; 
語句已處理。 
SVRMGR> archive log start 
語句已處理。 
SVRMGR> alter database open; 
語句已處理。 
SVRMGR> alter system switch logfile; --強制系統(tǒng)進行日志切換,可馬上觀察到歸檔日志的產生 
語句已處理。 
SVRMGR> exit 
服務器管理程序結束。 
修改數據庫參數文件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 
關閉數據庫,重新啟動 
查看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; 
補充一些概念 
解釋init.ora參數文件中關于歸檔重做日志參數項的含義 
歸檔模式是自動還是手工,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中的參數log_archive_start的值設置歸檔方式 
SVRMGR> archive log start 
啟動手工歸檔模式 
SVRMGR> archive log stop 
查看歸檔信息:重做日志是否歸檔方式、是自動歸檔還是手工歸檔、歸檔路徑、最舊的聯(lián)機日志循序號 
SVRMGR> archive log list 
歸檔一個已滿,但沒有歸檔的聯(lián)機重做日志 
SVRMGR> archive log next 
歸檔所有已滿,但沒有歸檔的聯(lián)機重做日志 
SVRMGR> archive log all 
注意:一個事務即使不被提交,也會被寫入到重做日志中。 
SYS下的程序包和程序包體僅STANDARD包體可以編譯為valid 
問題:我的sys下的程序包和程序包體都是invalid.但是STANDARD包體可以編譯為valid.其他程序包都是invalid. 編譯時提示: 
VBO-4553:PL/SQL 程序包編譯是不。有關詳細信息,請按該屬性頁上的顯示錯誤。ORA-06554:????? PL/SQL ???? DBMS_STANDARD 
SQLPLUS連接時提示: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下面的相關文件重新創(chuàng)建一下這些包。 
SYSDBA登陸運行 
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL 
$ORACLE_HOME/RDBMS/ADMIN/CATPROC.SQL 
如何實現:插入數據到數據庫A中的表TPROCESS,數據庫自動更新到數據庫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 ... 
從一個字符集不是中文字符集的數據庫中EXP數據庫,然后導入到一個中文字符集的數據庫中 
EXP/IMP是一種數據庫到出導入工具,但是在EXP/IMP對數據庫的字符集要求比較嚴格,如果EXP出的數據庫的字符集和導入數據庫的字符集不兼容。導入無法完成。此時需要采取一種特殊的方法進行操作。由于該操作是有一定危害性的操作,在操作過程中,數據庫突然出現故障的情況下,會導致數據庫可能無法正常啟動。因此操作前一定要先備份數據庫。 
1、在原數據庫執(zhí)行sqlplus,連接sys用戶,修改字符集參數,然后退出。 
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,關閉并重新開啟Oracle數據庫 
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 
轉換為 SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
如果是WINDOWS,用Regedit修改ORACLE下的鍵值。如果是UNIX系統(tǒng),修改環(huán)境變量:NLS_LANG=...;export NLS_LANG 
如果是OpenVMS:修改Login.com文件中的設置,然后重新執(zhí)行一次Login.com 
4、執(zhí)行exp導出數據 
5、將環(huán)境變量NLS_LANG修改為原來的值 
6、執(zhí)行sqlplus,連接sys用戶,恢復字符集參數,然后退出。 
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、重復步驟2,關閉并重新開啟Oracle數據庫 
8、將導出的dmp文件導入目標數據庫(字符集為中文) 
成功創(chuàng)建DBLink,但不能連接 
問題: 
ORACLE 8.1.6 for NT,現在需要連另一個ORACLE 8 FOR UNIX,當然是要建立DBLINK。但是建立本地網絡服務名時可以連接上了,所建DBLINK就是連接不上,為什么? 
用select <xxx> from <表名>@<db_link> 
錯誤是:ORA-02085: 數據庫鏈接ORA8I.US.ORACLE.COM與ORA8I相連結(ora8i 是DBLINK的名字) 
解答: 
如果你的源數據庫的GLOBAL_NAME=TRUE,那么你的DBLINK的名字必須和遠端數據庫的全局名一致,否則會發(fā)生2085 錯誤。 
你可設置源數據庫的GLOBAL_NAME=FALSE,也可以在創(chuàng)建DBLINK的時候把DBLINK的名稱設置為遠程數據庫的全局名。 
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.

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 风间由美一区二区av101 | 久久全国免费观看视频 | 情缘免费观看完整版 | 日本不卡在线观看免费v | 无码AV熟妇素人内射V在线 | 精品综合久久久久久8888 | 91短视频在线观看2019 | 双子母性本能在线观看 | 国产啪精品视频网给免丝袜 | 国产精品毛片无码 | 男女激情网 | 亚洲欧美日韩国产综合专区 | 36美女厕所撒尿全过程 | 欧美人交性视频在线香蕉 | 久久精品国产久精国产果冻传媒 | 日韩在线天堂 | 国产区成人综合色在线 | 日本热妇 | 亚洲狠狠网站色噜噜 | 日韩精品 欧美 | 精品精品国产yyy5857香蕉 | a看片 | 青青色在线 | 久久re热在线视频精99 | 国产欧美日韩不卡 | 2018av在线 | 国产自拍视频网站 | 美国xxnx| 干操网 | 亚洲AV久久无码精品九九软件 | 女人用粗大自熨喷水在线视频 | 国产成人成人一区二区 | 欧美成人手机 | 18美女光胸光屁屁洗澡 | 天天干天天操天天碰 | 91视频www| 色综合综合 | 久久成人精品免费播放 | 国产成人精品一区二区阿娇陈冠希 | chaopeng在线视频进入 | 二次元美女挤奶漫画 |