Oracle體系結構和用戶管理

Oracle體系結構和用戶管理

Oracle體系結構結構

     數據庫的體系結構是指數據庫的組成,工作過程,以及數據庫中數據的組織與管理機制

     實例和數據庫Oracle數據庫體系結構的核心組成部分

      1實例Oracle實例是後臺進程和內存結構的集合。必須啓動實例才能訪問數據中的數據。Oracle實例啓動時,將分配一個系統全局去(SGA),並啓動一系列Oracle後臺進程。一個實例只能打開並使用一個數據庫。

       Oracle實例有兩種類型:單進程實例

                           多進程實例

      2 數據庫: 數據庫是數據的集合,是指存儲數據庫信息的一組操作系統文件。

Oracle存儲結構

 

  物理結構:指構成數據的一組操作系統文件,(主要由3種類型文件組成)

     1)數據文件:後綴.dbf,一個數據文件只屬於一個數據庫和表空間

    2)重做日誌文件:後綴.log,記錄數據庫的所有更改 並提供恢復機制。成組出現,最少要兩組每組最少一個文件。

    3)控制文件:後綴.ctl,保存數據文件和重做日誌文件位置、大小、日誌序號等信息。啓動數據庫所必需。至少兩份默認有三份控制文件。各個控制文件相同,可以避免因爲一個控制文件的損壞而導致無法啓動數據庫。

    上述三種文件缺一數據庫都不能啓動

    4)其他文件:參數文件、歸檔日誌文件、密碼文件等

   邏輯結構:存放數據的邏輯容器,由大到小爲:數據庫-表空間-段-區-塊

        表空間:數據都存儲在表空間中,默認有system、temp、undo、users、sysaux、example六個表空間每個數據庫中,都有一個名爲system的表空間,即系統表空間

            :存在於表空間中,一組區組成,存儲具體的對象比如表、索引等

            區:磁盤分配空間的最小單位

           數據塊:能讀取或寫入的最小數據單位

             模式:是一種特殊的對象集合,比如用戶模式是指用戶的所有對象的集合

Oracle內存結構

     內存結構是Oracle數據庫體系中最爲重要的一部分

     內存結構:分爲系統全局區(SGA)程序全局區(PGA)用戶全局區(UGA)

        SGA:共享的內存,存儲數據庫信息(和數據庫無關)。佔有最大內存。分共享池、數據緩衝區、重做日誌緩衝區、大池、java池等

         PGA:不是實例的一部分用戶連接後分配的內存,包含服務器進程和後臺進程的數據和控制信息

  Oracle進程結構

      由用戶進程、服務器進程、後臺進程組成

      用戶進程:用戶連接服務器時啓動,比如啓動sqlplus時,運行客戶端

      服務器進程:用戶連接成功並連接oracle實例時啓動,用戶進程的代理

      後臺進程:實例啓動時啓動:有5個必須的後臺進程:進程監控(PMON)進程、系統監控(SMON)進程、數據寫入(DBWR)進程、日誌寫入(LGWR)進程、檢查點(CKPT)進程。

用戶管理:

      sys用戶:超級用戶(oracle系統管理員),所有數據字典和視圖多存儲在sys模式中只能與sysoper和sysdba角色登陸,可以啓動關閉數據庫

      system用戶:默認管理員,存儲管理工具使用的內部表和視圖,可以管理數據庫、用戶、權限等

      scott:示例用戶

 數據庫權限:

       系統權限和對象權限

       系統權限:執行系統級別的權限,比如連接數據庫,創建、修改、刪除表等權限。相當於數據定義語言(DDL)和數據控制語言(DCL)的權利。

          用戶最少需要create  session權限纔可以連接(登陸)數據庫,一般通過角色授予,主要角色有:

          connet:擁有連接數據庫權限,包含create session權限

          resource:擁有創建表等對象的權限,一般授予開發人員

          dba:數據庫管理員,對數據庫有最高權限

       對象權限:針對特定模式對象執行操作的權利。相當於數據操縱語言(DML)的權利。比如select、insert等

 Oracle中的常用系統預定義角色

       CONNECT:擁有連接數據庫的權限

       RESOURCE:擁有創建表,觸發器,過程等權限

       DBA:數據庫管理員角色,擁有管理數據庫的最高權限,一個具有DBA角色的用戶可以撤銷任何別的用戶甚至別的DBA權限,這是很危險的,所以不要輕易授予該角色

Sqlplus方向鍵解決步驟

  :安裝readline

 

OS的安裝光盤裏提供了readline包.(已安裝的話,可以忽略此步)

 

# RHEL 4

[root@oracle11g ~]# rpm -Uvh readline*

error: Failed dependencies: libtermcap-devel is needed by readline-devel-5.1-1.1.i386.rpm

[root@oracle11g ~]# rpm -Uvh libtermcap-devel-2.0.8-46.1.i386.rpm

[root@oracle11g ~]# rpm -Uvh readline*

package readline-5.1-1.1 is already installed

[root@oracle11g ~]# rpm -Uvh readline-devel-5.1-1.1.i386.rpm

# RHEL 5

[root@oracle11g ~]# rpm -ivh readline* libtermcap-devel*

 

 

 

:安裝rlwrap

 

[root@oracle11g ~]# tar -zxvf rlwrap-0.30.tar.gz

[root@oracle11g ~]# cd rlwrap-0.30

[root@oracle11g rlwrap-0.30]# ./configure

[root@oracle11g rlwrap-0.30]# make

[root@oracle11g rlwrap-0.30]# make install

 

 

:方便使用rlwrap

 

[root@oracle11g rlwrap-0.30]# vi /home/oracle/.bash_profile

添加

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman' Linux下的SQL Plus 終於可以像Windows下的那樣使用了。

 

 首先由root用戶切換到Oracle用戶下

 # su - oracle 

   

wKiom1kyKdCiHBFTAADJFfKvl8Y238.png 

創建表空間tbs_work

 

wKioL1kyKdGyjPcZAACK1dAUDLQ614.png 

更改表空間大小

方法二:向表空間內添加數據文件,爲表空間添加一個新的數據文件

wKioL1kyKdHSdScCAAA7uOX1X1o943.png 

 

                               

查詢系統所有的表空間名稱和文件位置

wKiom1kyKdKTRk37AABgx-JYm1g308.png 

                                                  刪除表空間

wKioL1kyKdKw7zvmAAAVW0JnbJA048.png 

                                                  創建用戶cyy,默認表空間爲tbs1_work,臨時表空間,配額50m,必須改密碼

wKiom1kyKdKQ6GkjAAAtdA9085g323.png 

 

 查當前用戶所屬表空間,sys用戶可以查dba_users裏所有用戶的表空間

wKiom1kyKdPxAS2fAAAwoH_gjWI167.png 

 

 

授予用戶連接數據庫角色和創建表的系統權限

wKioL1kyKdPwaYU9AAAgjf2JUZI359.png 

 授予用戶有查看scott模式下的emp表的對象權限,用on ... to ...的方式

wKioL1kyKdPzEygRAAAfpVS26Ns584.png 

撤銷用戶權限

revoke update on scott.emp  from cyy;

    

查看對象權限

wKiom1kyKdTQioPjAAAXIwkvzI8098.png

 查看用戶系統權限

wKioL1kyKoPgA-_wAAAPAKPTnR8426.png 

查看用戶角色權限

wKiom1kyKoPC4mGfAAApQZfcThY426.png 

 

 

查看當前用戶模式下的所有對象

wKioL1kyKoTCM1sUAAAS4XW5as8081.png 

                       

 查看當前用戶模式下的所有表

wKiom1kyKoSic6kKAAASqzPp1Dk989.png 

 

wKiom1kyKoWw2XoFAACosutAkrU769.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章