本文章主要講解Oracle資料庫的啟動與關閉方法,詳細講解啟動Oracle的指令,三種啟動資料庫的方法及差別;關閉資料庫的4種方法及他們的差別。
啟動和關閉資料庫
• 資料庫沒啟動前,隻有擁有 DBA 權限或者以 sysoper 或 sysdba 身份才能連接配接到資料庫。 • 完整的啟動資料庫包含三個過程: 啟動執行個體 • 讀取初始化參數,位于 $oracle_home\ora90\database 下 spfileSIDNAME.ora, initSIDNAME.ora • 配置設定 SGA ,并啟動背景程序 • 打開警告檔案和跟蹤檔案來記錄背景程序遇到的錯誤,位于 $oracle_home\admin\sidname\bdump 安裝資料庫 • 将資料庫與一個打開的執行個體關聯, • 打開控制檔案,并獲得資料,及其重做日志檔案名字與狀态 打開資料庫 • 打開資料庫與聯機重做日志檔案
1、啟動執行個體
2、安裝資料庫
SQL>startup mount,啟動執行個體,安裝資料庫,不打開資料庫。
相當于以下兩個語句:
SQL>startup nomount
SQL>alter database mount;
修改資料庫的運作方式或進行資料庫恢複使用這種方式啟動
3、打開資料庫
資料庫關閉方式
• 檢視目前連接配接的是哪個資料庫 select value from v$parameter where name='db_name'; select name from v$database; show parameters db_name
配置監聽程式
監聽程式使用是用來監聽用戶端連接配接的,并與用戶端建立連接配接,資料安裝完後有一個預設的監聽
本地網絡服務名
• 本地網絡服務名: 資料庫的本地名稱 , 如 • 資料庫 SID 為 study • 配置本地服務名為 localstudy
以下兩個連接配接資料庫是一樣的:
SQL>conn scott/[email protected]
SQL>conn scott/[email protected]
當要連接配接遠端的資料庫時,需要配置網絡服務名,通過網絡服務名來連接配接資料庫
配置本地網絡服務名
• 當連接配接遠端的 Oracle 伺服器時,需要配置本地網絡服務名,通過本地網絡服務名來連接配接
• 也可以到 $oracle_home\ora90\network\admin\listener.ora 檔案直接添加網絡服務名
監聽、服務的啟動和關閉
• 有兩種方式來啟動和關閉服務 1. 在本地服務中啟動 2. 指令行啟動
在本地服務中啟動
• 首先打開本地服務面闆: 開始-管理工具-服務 • 操作如下: 先選擇你要操作的服務,然後右鍵,在彈出诓中單擊你要操作的功能按鈕
指令行啟動服務(cmd)
• 啟動關閉監聽器 啟動: lsnrctl start 關閉: lsnrctl stop • 啟動關閉資料庫 啟動: net start OracleService SID 關閉: net stop OracleService SID 例如:我的資料庫 SID 是: ITDB ,那麼啟動指令為:
net stop OracleServiceITDB
• 啟動關閉管理服務 (OMS) 啟動: oemctl start oms 關閉: oemctl stop oms // 關閉時要輸入管理者使用者名 / 密碼
Oracle配置檔案
• Oracle11g 資料庫的實體檔案主要有以下幾種: 參數檔案 (parameter file) • 位于 $oracle_home\admin\oracle 執行個體 \pfile\init.ora • init.ora 是一個文本,定義了要啟動的資料庫及記憶體結構的大約 200 多項參數資訊 • 啟動任何例程前,系統都要先讀取該檔案的各項資訊,通過該檔案來尋找控制檔案 控制檔案 (control file) • 用于記錄和維護整個資料庫的全局實體結構,是二進制檔案,以 .ctl 為字尾 • 存放有關的關鍵控制資訊,如資料庫名和建立時間,大小及其位置等 • 在建立資料庫時生成,以後當資料庫發生任何實體變化時被自動更改 • 每個資料庫至少包含一個控制檔案,當資料庫啟動時,首先按照控制檔案設定的資料檔案、日志檔案等來檢查資料庫的狀态是否正常,最後才完成資料庫的啟動 資料檔案 (data file) • 存放資料庫資料的文理檔案,以 .dbf 為字尾 • 資料庫至少包含一個資料檔案 • 資料庫安裝完成後,系統會自動建立預設的表空間,放在 $oracle_home\oradata 目錄下 • 表空間的實體組成單元是資料檔案,一個表空間可以包含多個資料檔案,每個資料檔案隻能屬于一個表空間。 日志檔案 (redo file) • 用于記錄對資料庫進行的修改操作和事務操作,以 .log 為字尾 • 每個資料庫至少包含兩個重做日志檔案,循環使用 其他 oracle 實體檔案 • 跟蹤檔案 :*.trc • 警告檔案 :*.log • 備份檔案 • 密碼檔案
監聽器相關的配置檔案與配置參數
• Oracle 常用的配置檔案 • listener.ora 監聽配置檔案 • tnsnames.ora 網絡服務配置檔案
這兩個檔案可在\network\admin目錄下找到
具體配置
• listener.ora 監聽配置檔案
為了使得外部程序如 CAMS背景程式能夠通路Oracle資料庫必須配置Oracle網絡伺服器環境配置,Oracle網絡伺服器環境是通過配置listener.ora sqlnet.ora 和tnsnames.ora共三個檔案來進行的listener.ora即監聽配置檔案
listener.ora 檔案中定義一個監聽器 其預設的名稱為 LISTENER,這個監聽器預設以tcp/ip為協定、預設端口号為1521運作
• tnsnames.ora tnsnames.ora 檔案中定義一個或多個網絡服務 •
Java連接配接Oracle
• 配置網絡服務名,如: sample db • 将資料庫驅動拷到你的項目中 驅動位于 $oracle_home\ora90\jdbc\lib\classes12.jar • 驅動 oracle.jdbc.driver.OracleDriver • 連接配接串 thin 連接配接
jdbc:oracle:thin:@localhost:1521:sid或者本地網絡服務名
oci 連接配接 ,如果是遠端,需要配置本地網絡服務名
jdbc:oracle:oci:@sid或本地網絡服務名
public class DBConnection {
private static String url = "jdbc:oracle:thin:@localhost:1521:study";
//private static String url = "jdbc:oracle:oci:@sampledb";
private static String user="scott";
private static String password="tiger";
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
}
public static Connection getConnection() {
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
}
本人從事軟體項目開發20多年,2005年開始從事Java工程師系列課程的教學工作,錄制50多門精品視訊課程,包含java基礎,jspweb開發,SSH,SSM,SpringBoot,SpringCloud,人工智能,線上支付等衆多商業項目,每門課程都包含有項目實戰,上課PPT,及完整的源代碼下載下傳,有興趣的朋友可以看看我的線上課堂
講師課堂連結:https://edu.csdn.net/lecturer/893