每一個oracle數據庫應該至少有一名數據庫管理員(dba),對於一個小的數據庫,一個dba就夠了,可是對於一個大的數據庫可能須要多個dba分別擔負不一樣的管理職責。那麼一個數據庫管理員的主要工做是什麼呢?sql
n 職責數據庫
(1)安裝和升級oracle數據庫session
(2)建庫、表空間、表、視圖、索引…oracle
(3)制定並實施備份與恢復計劃工具
(4)數據庫權限管理、調優、故障排除spa
(5)對於高級dba,要求能參與項目開發,會編寫sql語句、存儲過程、觸發器、規則、約束、包…rest
n 管理數據庫的用戶注意是sys和system日誌
在前面咱們已經提到這兩個用戶,區別注意是:orm
(1)最重要的區別,存儲的數據的重要性不一樣索引
sys:全部oracle的數據字典的基表和視圖都存放在sys用戶中,這些基表和視圖對於oracle的運行是相當重要的,由數據庫本身維護,任何用戶都不能手動更改。sys用戶用戶有dba(角色)、sysdba(系統權限)、sysoper(系統權限)角色或權限,是oracle權限最高的用戶。
system:用於存放次一級的內部權限,如oracle的一些特性或工具的管理信息。system用戶擁有dba、sysdba角色或系統權限。
(2)其次的區別,權限的不一樣
sys用戶必須以as sysdba或as sysoper形式登錄,不能以normal方式登錄數據庫。
system能夠以normal登錄,若是正常登錄,它其實就是一個普通的dba用戶,可是若是以as sysdba登錄,其結果實際上他是做爲sys用戶登錄的,這一點類型Linux裏面的su的感受,從登錄信息裏面咱們能夠看出來。
(3)sys:董事長 system:總經理
n sysdba和sysoper權限的區別
系統權限 |
sysdba |
sysoper |
區別 |
startup(啓動數據庫) |
startup |
shutdown(關閉數據庫) |
shutdown |
|
alter database open |
alter database open/mount/backup |
|
改變字符集 |
none |
|
create database(建立數據庫) |
none不能建立數據庫 |
|
drop database(關閉數據庫) |
none |
|
create spfile |
create spfile |
|
alter database archivelog(歸檔日誌) |
alter database archivelog |
|
alter database recover(恢復數據庫) |
只能徹底恢復,不能執行不徹底恢復 |
|
擁有restricted session(會話限制權限) |
擁有restricted session權限 |
|
可讓用戶做爲sys用戶鏈接 |
能夠進行一些基本的操做,但不能查看用戶數據 |
|
登錄以後用戶是sys |
登錄以後用戶是public |
|
|
|
n dba權限的用戶
dba用戶是指具備dba角色的數據庫用戶,特權用戶能夠執行啓動實例,關閉實例等特殊操做,而dba用戶只有字啓動數據庫後才能執行各類管理工做。
n 管理初始化參數
初始化參數用於設置實例或是數據庫的特徵,oracle10g體提供了200多個初始化參數,而且每一個初始化參數都有默認值。
l 顯示初始化參數: show parameter命令
l 如何修該參數:須要說明的若是你但願修改這些初始化的參數,能夠到文件D:\oracle\admin\myoral\pfile\init.ora文件中去修改好比要修改實例的名字