中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 用戶管理

發布時間:2020-07-06 23:24:07 來源:網絡 閱讀:527 作者:暖暖miss 欄目:數據庫

1. 用戶進程

Ps elf | greporacleocl |grepv grep

oracle 用戶管理 

2. 數據庫進程

Ps elf |greporacleorcl

oracle 用戶管理 

3. 守護進程

Ps elf |grep oha

oracle 用戶管理 

大池:SGA中,大池是一個可選的緩沖區域,管理員可以根據需要對其進行配置,在大規模輸入輸出及備份過程中需要大池作為緩存空間,例如,大數據操作、數據庫備份與恢復之類的操作。

Java池:Java池是一個可選的緩沖區,但是在安裝java或者java程序時必須設置Java池,它用于編譯Java語言編寫指令。

 

六大核心進程:

 

DBWn進程:用來將buffer cache中的臟數據寫入到硬盤中數據文件中。

 

什么是臟數據,例如我執行如下語句

SQL> update emp set sal=sal+100;

此時修改過的數據存放在內存中,并沒有保存到硬盤上的數據文件中,這些數據緩存在buffer cache中,該事務還沒有提交(commit),這樣修改過還沒有寫入硬盤數據文件的數據我們稱之為臟數據。其實此時在打開一個會話,使用SCOTT用戶連接查看emp表中數據是未修改過的數據。所以在oracle中這樣的操作是異步寫入,多個進程可以同時寫入,多個賬戶就會有多個DBWn進程,其實進程名叫DMW后面的n是產生的進程標識

SQL> update scott.emp set sal=sal+100;

已更新14行。

SQL>

oracle 用戶管理 

LGWR:日志寫入進程只有一個

oracle 用戶管理 

當用戶commit(提交事務)時觸發lgwr進程

red log buffer空間的三分之一空間被使用完時會觸發lgwr進程

把臟數據寫入磁盤之前,該LGWR進程將日志信息先寫入到日志文件中,每隔3秒中執行這樣的動作。

LGWR進程不能有多個,因為日志是順序是寫入的,不能做并行寫入,否則無法做數據恢復。

CKPT進程:檢查所有數據文件和控制文件的頭部是否一致,是確保在數據緩沖區中所有修改過的數據塊都被寫入到數據文件中的一種機制,就是確保數據完整性的一種機制。但檢查點完成后,CKPT進程負責更新數據文件和控制文件的頭部信息,并保存檢查點信息,以保證數據庫日志文件和數據文件的同步。其原理是在數據庫恢復時,只需找到CKPT保存的最后一次檢查點,就可以根據它確定在日志文件中恢復數據的起始位置,重新執行之后的日志信息即可。

SMON進程:如果數據文件和控制文件頭部不一致,就會觸發SMON進程。在實例啟動時SMON進程會檢查所有數據文件的同步信息與控制文件中記錄的檢查點信息是否一致,不一致就啟動實例恢復操作。其實CKPT進程是給SMON進程使用的。

PMON進程:進程監控進程,PMON進程管理用戶會話,這個進程會在某個會話出現問題時執行的適當的操作。例如用戶的個人計算機在登錄到數據庫時重新啟動,PMON就能能夠檢測到這個問題,而且還會整理用戶正在進行的任何操作。


1.1. oracle存儲結構

數據文件相關知識

想查看系統中有多少個數據文件我們可以通過動態數據字典或靜態數據字典來查看:通過靜態數據字典查看數據文件

 oracle 用戶管理

通過動態數據字典來查看數據文件

 

oracle 用戶管理

 

直接查看數據文件的內容是看不到的,必須通過一個邏輯的結構即表空間來查看數據文件的內容。表空間是一個邏輯存儲結構,而數據文件是一個物理的結構。

如何查看表空間

oracle 用戶管理 

也可以通過dba_tablespaces查看表空間

oracle 用戶管理 

數據字典是一個邏輯的存儲結構,而數據文件是一個真實的存儲結構,如果有了表空間,而沒有數據文件是不可以,表空間和數據文件是相對應的,如果沒有數據文件,表空間不可能獨立存在,如果只有表空間沒有數據文件也是不行的,就好比如果電腦沒有硬盤,你不能再邏輯上看到CD盤,在這里硬盤就相當于是數據文件,而C盤就相當于是表空間。我們可以把多個數據文件組成一個表空間,然后在表空間里面存儲數據,表空間和數據文件是對應的,一個表空間可以是由一個或多個數據文件組成的,但是一個數據文件只能在一個表空間當中,我們如何查看表空間和數據文件之間的對應關系呢?

oracle 用戶管理 

也可以查看表空間的大小

oracle 用戶管理 

也可以在上述的表空間中創建新的數據文件。如果表空間不夠用了,只需創建相應的數據文件即可。表空間大小就是組成數據文件的大小的總和,最終數據文件存放在硬盤里的,但是我們可以把數據文件存放在不同的硬盤里面,只要在一個表空間即可,這樣就解決了硬盤大小對文件的限制,可以將多個硬盤中的數據文件組成一個表空間。

所以在表空間中DBA會存放很多的表,視圖,索引,同義詞等對象。

段:例如在xx表空間DBA創建了一個名為test的表,這張表表空間所占用的空間,我們稱之為段。根據段中存儲的對象的不同分為了數據段,索引段,回退段,臨時段等

可以查看段的信息

oracle 用戶管理 

對于段又有個更小的單位,稱之為“區”

區(extent):區是磁盤空間分配的最小單位,磁盤按區劃分,每次至少分配一個區,區由連續的數據塊組成,段主要由一個或多個區構成,當段創建時,它至少包含一個區,當段中所有空間已經使用完成時,系統自動為該段分配一個新區,區不能跨數據文件存在,只能存在于一個數據文件中。

段是由區組成的,段必須是區的整數倍,假如一張表是25MB,一個區大小是4MB,那么段的大小是28MB,如果在表里添加了3MB的數據,此時段的空間還能容納表,現在表的大小是28MB,如果又添加了1MB,此時29MB,那么段的空間是32MB.

oracle 用戶管理 

查看EXAMPLE表空間的區和段的分布情況

oracle 用戶管理 

oracle數據庫中最小的存儲單位是塊(block--8KBoracle數據庫中的數據存儲于數據塊中。數據塊是oracle服務器所能讀取或寫入的最小存儲單元,oracle服務器以數據塊為單位管理數據文件的存儲空間,數據塊的取值范圍為2-64KB,其默認大小與oracle版本有關。

oracle 用戶管理 

查看操作系統的最小存儲單元

[root@orclsrv ~]# tune2fs -l /dev/sda1

通過OEM也可以查看這些信oracle 用戶管理

 

創建表空間和數據文件

SQL> create tablespace xx datafile '/u01/xx.dbf' size 100m autoextend on

2  next 5m maxsize 200m;

 

表空間已創建。

oracle 用戶管理 

修改表空間的名字為yy

oracle 用戶管理 

oracle 用戶管理 

為了好管理,我們希望表空間的名字和數據文件的名字一致。

解決辦法:

1. 使用操作系統命令將數據文件拷貝一份

2. 把表空間offline

3. 然后對數據文件重命名

oracle 用戶管理oracle 用戶管理 

將表空間offline

oracle 用戶管理 

oracle 用戶管理 

對數據文件重命名

oracle 用戶管理 

查看修改情況

oracle 用戶管理 

將表空間online

oracle 用戶管理 

提示需要恢復/u01/yy.dbf

oracle 用戶管理 

將表空間online

oracle 用戶管理 

oracle 用戶管理 

如何擴展表空間大小

1. 直接改變數據文件大小

oracle 用戶管理 

oracle 用戶管理 

2. 給表空間增加數據文件

如果表空間所在的分區的空間不夠用了

oracle 用戶管理 

oracle 用戶管理 

oracle 用戶管理 

刪除表空間

oracle 用戶管理 

創建臨時表空間

oracle 用戶管理 

oracle 用戶管理 

創建臨時表空間

oracle 用戶管理 

oracle 用戶管理 

刪除臨時表空間與刪除表空間的命令是一樣的。

oracle 用戶管理 

1.2. oracle 用戶管理

如果想查看oracle系統中存在用戶可以查看dba_users視圖

oracle 用戶管理 

如果使用sqlplus查詢需要提前格式化

SQL> col username for a20

SQL> col account_status for a20

SQL> col default_tablespace for a20

SQL> set linesize 120

SQL> set pagesize 120

SQL> select username,account_status,default_tablespace from dba_users;

 

USERNAME     ACCOUNT_STATUS  DEFAULT_TABLESPACE

-------------------- -------------------- --------------------

MGMT_VIEW     OPEN SYSTEM

SYSOPENSYSTEM

SYSTEM     OPENSYSTEM

DBSNMP     OPENSYSAUX

SYSMAN     OPENSYSAUX

SCOTTOPENUSERS

OUTLN     EXPIRED & LOCKED  SYSTEM

FLOWS_FILES     EXPIRED & LOCKED  SYSAUX

MDSYS     EXPIRED & LOCKED  SYSAUX

ORDSYS     EXPIRED & LOCKED  SYSAUX

EXFSYS     EXPIRED & LOCKED  SYSAUX

 

Oracle 用戶管理---

要想訪問數據庫,任何人都必須成為能夠通過oracle身份驗證的有效數據庫用戶,我們可以配置應用程序要求每個需要進行訪問的個體都具有不同的數據庫賬戶,也可以配置應用程序自身作為公共用戶連接數據庫并在內部處理應用程序級別的權限。無論選用哪種方法,在數據庫內部都需要創建一個或多個允許操作數據的用戶。

1.3. 用戶與模式(schema

創建用戶的語法:

Create user用戶名 identified by 密碼 default tablespace表空間 quota 大小 on 表空間;

注意:在創建用戶的時候雖然用戶名寫的時小寫的,但是存儲到數據字典的時候卻是大寫的,比如create user tom.如果非要使用小寫的話,用戶名需要使用雙引號括起來 create user tom

創建的用戶沒有任何權限,連登陸數據庫的權限都沒有。

如果沒有設置用戶對某個表空間的配額,那么即使這個用戶對該表空間有寫權限,也是無法寫入的。

舉例說明:

查看HR用戶的狀態

oracle 用戶管理 

修改HR用戶的密碼為oracle

oracle 用戶管理 

手工設置過期;

oracle 用戶管理 

解鎖用戶

oracle 用戶管理 

舉例說明oracle的授予權限和撤銷權限

在創建用戶之前,創建一個表空間xxx

創建一個表空間xxx

createtablespace xxx datafile '/u01/xxx.dbf' size 100m autoextend on next 10m maxsize unlimited;

創建用戶tom

create user tom identified by oracle;

查詢創建的用戶tom

oracle 用戶管理 

雖然創建的時是小寫tom,但存儲到數據字典中的是大寫,所以查詢時也需要寫大寫

oracle 用戶管理 

刪除tom用戶

Drop user tom;

create user"tom" identified by oracle;

oracle 用戶管理 

刪除tom用戶

oracle 用戶管理 

正確的刪除方式應該是:

drop user"tom";

創建用戶tom,默認的表空間是XXX,并沒有指定配額,所以tom用戶也無法在xxx表空間上創建對象

oracle 用戶管理 

使用tom用戶連接數據庫的結果

oracle 用戶管理 

SQL>conn sys/oracle as sysdba

Drop user tom; 刪除tom用戶

創建tom用戶的同時指定默認的表空間是xxxtom用戶的磁盤配額是10m

可以使用dba_ts_quotas視圖查看每個用戶的磁盤配額

oracle 用戶管理 

oracle 用戶管理 

剛才我們測試創建的tom用戶連創建會話的權限都

oracle 用戶管理 

1.4. 為用戶授予權限34

tom用戶授予session權限

SQL>conn sys/oracle as sysdba

SQL> grant create session to tom;

 

授權成功。

測試一下連接

oracle 用戶管理 

測試tom用戶是否能夠創建表

oracle 用戶管理 

tom用戶授予創建表的權限

oracle 用戶管理 

創建aa

oracle 用戶管理 

測試tom用戶能否為表插入記錄,可以插入記錄了。

oracle 用戶管理 

1.5. 撤銷權限

查看tom用戶當前擁有的權限

oracle 用戶管理 

撤銷tom用戶的create table 權限

oracle 用戶管理 

測試tom用戶能夠查看SCOTT用戶下的emp

oracle 用戶管理 

使用sys用戶連接數據庫

oracle 用戶管理 

tom用戶授權select scott用戶下的emp表的權限

oracle 用戶管理 

使用tom用戶連接數據庫

oracle 用戶管理

 

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

齐齐哈尔市| 青海省| 剑河县| 如东县| 青神县| 赤城县| 宜君县| 安吉县| 平罗县| 东乡县| 涞水县| 日照市| 康马县| 樟树市| 三穗县| 高雄市| 静安区| 邓州市| 金平| 都安| 临西县| 九江市| 呼和浩特市| 资中县| 芦山县| 湖口县| 铜鼓县| 阳信县| 凤城市| 玉田县| 洱源县| 紫金县| 兰溪市| 青河县| 贡山| 遂川县| 邢台县| 长寿区| 定远县| 察隅县| 霍林郭勒市|