1.創建Oracle數據庫的前期准備
在安裝Oracle軟件時,使用OUI自動創建數據庫
2.使用DBCA圖形化界面創建數據庫
主文件目錄的密碼修改
計算機-管理-用戶和文件組-找到oracle用戶-鼠標右鍵修改密碼
3.使用CREATE DATABASE命令及腳本創建數據庫
4.啟動數據庫
4.1啟動數據庫的方法
C:\User\me>sqlplus / as sysdba
5.1 Oracle數據庫的啟動大致分為三個過程。
1)Oracle程序根據初始化參數文件啟動數據庫實例,這個過程將分配一定的內存給實例。
2)打開數據庫的控制文件,讀取控制文件中存儲的各種數據庫信息。
3)根據讀取到的數據庫信息,打開各種文件,如數據文件,日志文件。
根據啟動過程可以分為三種模式
1)NOMOUNT模式
該模式分配內存給數據庫實例,未打開數據庫,不允許用戶訪問。(參數文件已打開)
2)MOUNT模式
該模式打開數據庫控制文件,讀取控制文件中的各種參數信息,如數據文件和日志文件的位置等。該狀態裝載數據庫,但不打開數據庫,不允許用戶訪問。(控制文件已打開)
3)OPEN模式
該模式打開數據庫,允許用戶訪問,數據庫對數據文件進行一系列的檢查工作,該檢查工作用於數據恢復。(數據庫打開)
4.2 轉換啟動模式
1)啟動數據庫到nomount模式
C:\User\me>sqlplus / as sysdba SQL>startup nomount;
該模式下會分配內存給實例,啟動實例,未打開控制文件,此時可通過參數文件獲得控制文件的位置,因為此時參數文件已經是打開的。
SQL>show parameter control_files;
2)啟動數據庫到mount模式
C:\User\me>sqlplus / as sysdba
SQL>startup mount;
該模式下已經打開控制文件,讀取控制文件中的各種參數信息,如數據文件和日志文件的位置等。可以通過動態視圖v$controlfile獲得控制文件的存儲目錄
SQL>select status,name,block_size from v$controlfile
3)啟動數據庫到OPEN模式
方法1:使用指令startup open或startup(默認啟動到OPEN狀態) 方法2:如果數據庫是mount狀態,可以使用alter database open指令切換到OPEN狀態
該模式打開數據庫,允許用戶訪問。此模式下,數據庫將打開數據文件,日志文件等,並對數據庫進行一系列的檢查工作,這些檢查工作用於數據恢復
4)從nomount轉換到mount狀態
SQL>alter database monut
5.關閉數據庫
要關閉數據庫需要用戶以SYSDBA的身份登陸,只有以SYSDBA的身份登陸才具有關閉數據庫的權限。
C:\User\me>sqlplus / as sysdba
SQL>startup
SQL>shutdown
5.1數據庫關閉的三個步驟
1)Oracle數據庫首先關閉打開的各種數據文件,日志文件等。
2)然后關閉打開的控制文件
3)關閉實例
根據關閉過程可以分為三個過程
1)ClOSE數據庫
SQL>alter database close
此時通過v$database的open_mode狀態,發現此時數據庫是MOUNT模式,即關閉了數據文件,日志文件等。
2).DISMOUNT數據庫
SQL>alter database dismount;
通過查看v$database的open_mode狀態,發現此時數據庫提示"數據庫未加載"的錯誤,因為在當前模式下,已經關閉了控制文件。
此時查看v$instance的狀態發現仍是開啟的,也就是此時實例並未關閉。
3)SHUTDOWN數據庫
Oracle關閉打開的數據庫實例,釋放SGA內存,結束所有后台進程。
SQL>shutdown
5.2關閉數據庫的四種方式
1)shutdown normal
直接輸入shutdown時默認會跟上normal參數,此方式關閉數據庫時,不允許新的數據庫連接,只有當前的所有連接當前的所有連接都退出時才會關閉數據庫,這是一種安全的關閉數據庫的方式,但是如果有大量用戶連接,則需要較長時間才能關閉數據庫。
2)shutdown immediate
這種方式能夠較快且安全地關閉數據庫,此時數據庫會做一些操作,中斷當前事務,回滾未提交的事務,強制斷開所有用戶的連接,執行檢查點把臟數據寫到數據文件中.但是如果事務很多,且業務量很大,則中斷事務以及回滾數據,斷開用戶連接都會耗費時間.
3)shutdown transactional
數據庫當前的連接繼續執行,但不允許新的連接,一旦當前的所有事務執行完畢,則關閉數據庫,如果當前的某些事務一直執行,或許會用幾天的時間才能關閉數據庫。
4shutdown abort
斷開所有用戶連接,拒絕新的連接,拒絕新的連接,斷開當前的所有執行事務,立即關閉數據庫,當數據庫重啟時需要進行數據庫的恢復。
6.Oracle數據庫初始化參數文件
初始化參數文件是一個很重要的文件,在數據庫實例啟動時,Oracle會讀取該文件中的參數來為實例分配內存,獲得一些資源的位置,設置用戶進程,獲得控制文件的位置以及用戶的登陸信息
6.1參數文件的分類
Oracle數據庫初始化文件主要有兩類,PFLE文件和SPFILE文件,其中PFILE文件是一個文本文件,可以使用文本編輯器編輯,而SPFILE是二進制文件,只能通過Oracle的命令來修改。
1)PFILE,修改文件中的參數不會在當前實例中生效,只有重新啟動實例加載參數文件后,所做的修改才會生效。因此又稱為靜態參數文件,其默認名字為init<ORACLE_SID>.ora
2)SPFIEL,修改參數文件中的參數后馬上在實例中生效,因此又稱為動態參數文件
Oracle在啟動實例時,會按照下面的順序來查找數據庫初始化參數文件.
1)首先使用服務器上的spfile<ORACLE_SID>.ora文件啟動數據庫。
2)其次時查找服務器上默認的SPFILE文件啟動
3)如果沒有找到SPFILE,就將init<ORACLE_SID>.ora文件作為啟動參數文件。
4)如果沒有找到init<ORACLE_SID>.ora文件,則使用服務器上默認的PFILE來啟動數據庫.
因此數據庫在啟動時,默認使用動態參數文件來啟動,如果找不到動態參數文件,才選擇靜態參數文件來啟動。
使用靜態參數文件啟動數據庫
startup pfile=F:\app\cainame1\admin\orcl\pfile\init.ora.118201895725
6.3創建初始化參數文件
1)從SPFILE創建PFILE
SQL>startup SQL>create pfile form spfile;
2)創建靜態參數文件時指定參數文件的位置
SQL>create pfile='f:\test.ora' from spfile;
3)從pfile創建spfile
SQL>create spfile from pfile='f:\test.ora';
6.4修改初始化參數
1.數據庫初始化參數有一系列參數名稱和參數值組成
先使用desc命令查看v$parameter結構
SQL>desc v$parameter
使用SQL查看db_name的值
SQL>select value from v$parameter where name='db_name';
Oracle提供了alter system命令來修改參數值,其參數值為
ALTER SYSTEM SET Parameter=value<comment='text'><deferred><scope=memory|spfile|both><sid='sid|*'>
Parameter=value 為某個參數賦值
可選參數:
comment='text' 提供注釋信息
deferred 使用該該參數表示該修改對當前會話無效
scope=memory|spfile|both 設置修改的參數保存的位置,memory指的是內存,重啟數據庫實例時,該參數無效,spfile指的是動態參數文件,重啟數據庫實例后,該參數仍然有效。both表示兩個地方都存。
sid='sid|* 用於集群系統,默認值是sid='*',其作用是為集群中所有實例指定唯一的參數設置。
2.查詢參數
查詢數據庫process參數值
SQL>col type for a10 SQL>show parameter process
更改數據庫process參數值
SQL>alter system set processes=200 scope=spfile;
這里發現processess的參數並沒有改變,這是因為設置了參數"scope=spfile",將參數保存在SPFILE中,只有重啟數據庫后才生效.
取消更改的processess參數值
SQL>alter system reset processes scope=spfile;
重啟后參數生效