昨天晚上快下班的時(shí)候,公司數(shù)據(jù)庫(kù)突然堵住了,一個(gè)buf表中累計(jì)了20多W的數(shù)據(jù)提取不出來(lái),改了程序,效果不明顯。因?yàn)橹坝幸淮我仓貑⑦^(guò)oracle,所以這次還是想把oracle重啟一下,因?yàn)槟切?shù)據(jù)都是客戶要發(fā)送出去的東西,比較急,所以,經(jīng)理就去機(jī)房把oracle重啟了。他怎么重啟的我也不知道,我只知道,重啟之后,oracle起不來(lái)了。。那個(gè)電話啊。。那個(gè)催促啊。。
>cmd >sqlplus sys/**** as sysdba SQL>startup ORA-00093:_shared_pool_reserved_min_alloc must be between 4000 and 0 SQL>
然后我找了一個(gè)其中有 pga_aggregate_taarget=200M ..... db_cache_size=200M .... shared_pool_size=200M .. 的一個(gè)init什么w.ora的文件,不知道在哪里找的,把其中這3個(gè)參數(shù)改過(guò)去,改回來(lái),啟動(dòng)還是報(bào)上面那個(gè)錯(cuò),還有的錯(cuò)誤是: SQL>startup ORA-00821:Specified value of sga_target 280M is too small,needs to be at least 692M SQL>
D:\oracle\product\10.2.0\db_1\admin\orclyxkj\pfile\init.ora.4142011856 ##############################################################################
這個(gè)錯(cuò)誤,我找到了下面這個(gè)文件,改了其中的sga_target=890455552(之前是sga_target=290455552),也就是增加了4倍,但奇怪的是,包括上面那個(gè)問(wèn)題,不管你把參數(shù)改成多少,他每次報(bào)的錯(cuò)還是一樣,上面說(shuō)至少4000,我改了5000,6000都還是報(bào)那個(gè)錯(cuò),現(xiàn)在這個(gè),從原來(lái)的參數(shù)增加了4倍,還是報(bào)同樣的錯(cuò),于是我認(rèn)為,這些文件不起作用。然后問(wèn)了群里的高人,問(wèn)題解決了: 1.自建一個(gè)init.ora的oracle配置文件(隨便放在哪里,我放在C盤根目錄下面): orclyxkj.__db_cache_size=192937984
2。啟動(dòng)的時(shí)候: SQL>startup pfile=c:\init.ora 然后就發(fā)現(xiàn),oracle可以開起來(lái)了!可以在SQL>下面進(jìn)行查詢了。但是,這并不代表著就可以通過(guò)pl/sql訪問(wèn)oracle了。 另外還要執(zhí)行一句非常重要的話,之前沒(méi)執(zhí)行這句話,pl/sql一直不能訪問(wèn)oracle,執(zhí)行完后,終于可以訪問(wèn): SQL>create spfile from pfile='c:\init.ora' 注意,pfile=后面的路徑一定要加單引號(hào),要不然報(bào)“invalied file name”錯(cuò)誤。 3。配置監(jiān)聽。 打開oracle的Net Configration Assistent,可以刪除曾經(jīng)的監(jiān)聽,再新建一個(gè)監(jiān)聽,或者直接配置之前已經(jīng)有的監(jiān)聽。 若新建監(jiān)聽: Oracle Net Configration Assistent--》本地Net服務(wù)名配置--》添加--》服務(wù)名(自己寫,一般和數(shù)據(jù)庫(kù)名一樣orclyxkj)--》TCP--》主機(jī)名:(127.0.0.1)--》不進(jìn)行測(cè)試--》網(wǎng)絡(luò)服務(wù)名(默認(rèn)和前面設(shè)置的服務(wù)名一樣)--》后面要指定路徑的,指定到db_1這一層(D:\oracle\product\10.2.0\db_1) 若更改舊監(jiān)聽: 在Oracle Net Manager頁(yè)面: 本地--》服務(wù)命名--》orclyxkj(自己的服務(wù)器名)--》 --》服務(wù)標(biāo)識(shí): 服務(wù)名:orclyxkj SID:(灰的,無(wú)法填) 連接類型:數(shù)據(jù)庫(kù)默認(rèn)設(shè)置 --》地址配置: 地址1: 協(xié)議:TCP/IP 主機(jī)名:192.168.1.X(我認(rèn)為,這里一定要寫本機(jī)IP,之前試過(guò)寫本機(jī)名或者127.0.0.1,到后來(lái)開監(jiān)聽服務(wù)的時(shí)候,都會(huì)報(bào)錯(cuò)) 端口號(hào):XXXX(默認(rèn)是1521) -------》監(jiān)聽程序 LISTENER: 地址1,和上面配一樣,然后保存,監(jiān)聽就配好了。 4。開啟服務(wù): 我的電腦--》管理--》服務(wù)和應(yīng)用程序--》服務(wù)(需要啟動(dòng)2個(gè)oracle服務(wù)): OracleOraDb10g_home1TNSListener (啟動(dòng)這個(gè)的時(shí)候如果報(bào)“進(jìn)程以外終止”錯(cuò)誤,就到上面把監(jiān)聽配置正確) OracleServiceORCLYXKJ 到這2個(gè)服務(wù)都正常開啟,好了,可以通過(guò)pl/sql正常訪問(wèn)oracle了! 精華啊,弄到晚上4點(diǎn)半??!其中sga_target為什么那么寫,我要進(jìn)一步了解!
|
|