Oracle數據庫管理


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;

重啟后參數生效

 

 

 

 

  

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM