程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> ORACLE數據庫啟動關閉

ORACLE數據庫啟動關閉

編輯:Oracle數據庫基礎

用命令shutdown/startup對ORACLE數據庫的關閉和啟動對DBA來講是很正常的事,當系統運行到某個時候,有些用戶進程可能已死(比如非法退出、非法關閉程序等),這樣ORACLE的資源就不能釋放,影響到了ORACLE的性能;再有,在DBA優化了系統設置參數後,也必須啟動數據庫等等,這些就牽涉到了Oracle數據庫的啟動和關閉,在講這兩個操作之前,我想先明確幾個概念:

一、關閉數據庫

1、 SQL*NET:是分布式Oracle數據庫的組成部分,負責用戶或應用程序和數據庫的對話;

2、 trace files 和 logs:trace files文件是在ORACLE啟動INSTANCE時自動創建該文件的,該文件存在於由INIT.ORA 或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST參數指定的路徑中,對不同的操作系統,trace files有不同的名稱,我們都知道,當啟動ORACLE時必須先啟動監聽,也就在這個時候產生了LISTENER.LOG,當Oracle啟動和關閉時,trace files和LISTENER.LOG文件並不刪除

現在我們明確了以上兩點,應該知道下步我要做什麼了:

1、 在關閉數據庫之前不要先關SQL*NET

2、 將trace files 和 logs妥善管理,比如刪除或改名

3、 關閉數據庫shutdown

二、啟動數據庫

1、 對於被破壞的數據庫我們可以先增加一個控制文件,可用這個控制文件覆蓋掉原控制文件,我們可以在SQLPLUS的環境下輸入:alter database backup controlfile to trace;創建

2、 啟動數據庫後,我們要把系統和應用程序經常用到的包放到SGA區中,當Oracle從SGA區讀數據時,我們會覺得速度明顯加快,我們可以通過如下語句將包放到SGQ區:

alter package APPOWNER.ADD_CLIENT compile;

execute DBMS_SHARED_POOL.KEEP('APPOWNER.ADD_CLIENT','P');

三、其他

同時啟動兩個監聽:在當一台機器同時裝了兩個數據庫時(這樣的情況很少見),我們可能要同時啟動兩個監聽,當我們在啟動第二個監聽時,這是Oracle可能報TNS-01106的錯誤,其實引起這個錯誤的是LISTENER.ORA中IPC協議的KEY不同,我們只要將它修改成一致就可以了。

四、下面推薦一個比較好的停止和啟動Oracle的好方法(包含C/S和B/S結構):

1、 停止所有應用程序;

2、 對於B/S結構(這裡的中間件用的是WebLogic)應該停掉服務,C/S結構可以省略這一步;

3、 對trace files 和 logs進行改名處理,建議用時間作為文件名,比如20040801.trc;

4、 將Oracle的監聽停止:$lsnrctl stop;

5、 為了防止我們在下次啟動Oracle時出現以外,建議備份控制文件:SQL>alter database backup controlfile to trace;

6、 為了確保數據已保存到數據庫,有必要切換日志文件:SQL>alter system switch logfile;對於B/S結構,我們應該先操作這步,再停掉監聽;

7、 關閉數據庫:SVRMGRL>shutdown immediate;

8、 啟動數據庫的監聽:$lsnrctl start

9、 啟動Oracle數據庫:$svrmgrl ;SVRMGRL>connect internal;SVRMGRL>startup;

10、啟動中間件(B/S結構,所用中間件為WebLogic);

11、啟動應用程序。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved