oracle用戶管理

1. 用戶進(jìn)程

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:主機(jī)域名、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、郎溪網(wǎng)站維護(hù)、網(wǎng)站推廣。

Ps–elf | greporacleocl |grep–v grep

oracle 用戶管理 

2. 數(shù)據(jù)庫進(jìn)程

Ps–elf |greporacleorcl

oracle 用戶管理 

3. 守護(hù)進(jìn)程

Ps–elf |grep oha

oracle 用戶管理 

大池:在SGA中,大池是一個(gè)可選的緩沖區(qū)域,管理員可以根據(jù)需要對(duì)其進(jìn)行配置,在大規(guī)模輸入輸出及備份過程中需要大池作為緩存空間,例如,大數(shù)據(jù)操作、數(shù)據(jù)庫備份與恢復(fù)之類的操作。

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

 

六大核心進(jìn)程:

 

DBWn進(jìn)程:用來將buffer cache中的臟數(shù)據(jù)寫入到硬盤中數(shù)據(jù)文件中。

 

什么是臟數(shù)據(jù),例如我執(zhí)行如下語句

SQL> update emp set sal=sal+100;

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

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

已更新14行。

SQL>

oracle 用戶管理 

LGWR:日志寫入進(jìn)程只有一個(gè)

oracle 用戶管理 

當(dāng)用戶commit(提交事務(wù))時(shí)觸發(fā)lgwr進(jìn)程

當(dāng)red log buffer空間的三分之一空間被使用完時(shí)會(huì)觸發(fā)lgwr進(jìn)程

把臟數(shù)據(jù)寫入磁盤之前,該LGWR進(jìn)程將日志信息先寫入到日志文件中,每隔3秒中執(zhí)行這樣的動(dòng)作。

LGWR進(jìn)程不能有多個(gè),因?yàn)槿罩臼琼樞蚴菍懭氲?,不能做并行寫入,否則無法做數(shù)據(jù)恢復(fù)。

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

SMON進(jìn)程:如果數(shù)據(jù)文件和控制文件頭部不一致,就會(huì)觸發(fā)SMON進(jìn)程。在實(shí)例啟動(dòng)時(shí)SMON進(jìn)程會(huì)檢查所有數(shù)據(jù)文件的同步信息與控制文件中記錄的檢查點(diǎn)信息是否一致,不一致就啟動(dòng)實(shí)例恢復(fù)操作。其實(shí)CKPT進(jìn)程是給SMON進(jìn)程使用的。

PMON進(jìn)程:進(jìn)程監(jiān)控進(jìn)程,PMON進(jìn)程管理用戶會(huì)話,這個(gè)進(jìn)程會(huì)在某個(gè)會(huì)話出現(xiàn)問題時(shí)執(zhí)行的適當(dāng)?shù)牟僮?。例如用戶的個(gè)人計(jì)算機(jī)在登錄到數(shù)據(jù)庫時(shí)重新啟動(dòng),PMON就能能夠檢測(cè)到這個(gè)問題,而且還會(huì)整理用戶正在進(jìn)行的任何操作。


1.1. oracle存儲(chǔ)結(jié)構(gòu)

數(shù)據(jù)文件相關(guān)知識(shí)

想查看系統(tǒng)中有多少個(gè)數(shù)據(jù)文件我們可以通過動(dòng)態(tài)數(shù)據(jù)字典或靜態(tài)數(shù)據(jù)字典來查看:通過靜態(tài)數(shù)據(jù)字典查看數(shù)據(jù)文件

 oracle 用戶管理

通過動(dòng)態(tài)數(shù)據(jù)字典來查看數(shù)據(jù)文件

 

oracle 用戶管理

 

直接查看數(shù)據(jù)文件的內(nèi)容是看不到的,必須通過一個(gè)邏輯的結(jié)構(gòu)即表空間來查看數(shù)據(jù)文件的內(nèi)容。表空間是一個(gè)邏輯存儲(chǔ)結(jié)構(gòu),而數(shù)據(jù)文件是一個(gè)物理的結(jié)構(gòu)。

如何查看表空間

oracle 用戶管理 

也可以通過dba_tablespaces查看表空間

oracle 用戶管理 

數(shù)據(jù)字典是一個(gè)邏輯的存儲(chǔ)結(jié)構(gòu),而數(shù)據(jù)文件是一個(gè)真實(shí)的存儲(chǔ)結(jié)構(gòu),如果有了表空間,而沒有數(shù)據(jù)文件是不可以,表空間和數(shù)據(jù)文件是相對(duì)應(yīng)的,如果沒有數(shù)據(jù)文件,表空間不可能獨(dú)立存在,如果只有表空間沒有數(shù)據(jù)文件也是不行的,就好比如果電腦沒有硬盤,你不能再邏輯上看到C盤D盤,在這里硬盤就相當(dāng)于是數(shù)據(jù)文件,而C盤就相當(dāng)于是表空間。我們可以把多個(gè)數(shù)據(jù)文件組成一個(gè)表空間,然后在表空間里面存儲(chǔ)數(shù)據(jù),表空間和數(shù)據(jù)文件是對(duì)應(yīng)的,一個(gè)表空間可以是由一個(gè)或多個(gè)數(shù)據(jù)文件組成的,但是一個(gè)數(shù)據(jù)文件只能在一個(gè)表空間當(dāng)中,我們?nèi)绾尾榭幢砜臻g和數(shù)據(jù)文件之間的對(duì)應(yīng)關(guān)系呢?

oracle 用戶管理 

也可以查看表空間的大小

oracle 用戶管理 

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

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

段:例如在xx表空間DBA創(chuàng)建了一個(gè)名為test的表,這張表表空間所占用的空間,我們稱之為段。根據(jù)段中存儲(chǔ)的對(duì)象的不同分為了數(shù)據(jù)段,索引段,回退段,臨時(shí)段等

可以查看段的信息

oracle 用戶管理 

對(duì)于段又有個(gè)更小的單位,稱之為“區(qū)”

區(qū)(extent):區(qū)是磁盤空間分配的最小單位,磁盤按區(qū)劃分,每次至少分配一個(gè)區(qū),區(qū)由連續(xù)的數(shù)據(jù)塊組成,段主要由一個(gè)或多個(gè)區(qū)構(gòu)成,當(dāng)段創(chuàng)建時(shí),它至少包含一個(gè)區(qū),當(dāng)段中所有空間已經(jīng)使用完成時(shí),系統(tǒng)自動(dòng)為該段分配一個(gè)新區(qū),區(qū)不能跨數(shù)據(jù)文件存在,只能存在于一個(gè)數(shù)據(jù)文件中。

段是由區(qū)組成的,段必須是區(qū)的整數(shù)倍,假如一張表是25MB,一個(gè)區(qū)大小是4MB,那么段的大小是28MB,如果在表里添加了3MB的數(shù)據(jù),此時(shí)段的空間還能容納表,現(xiàn)在表的大小是28MB,如果又添加了1MB,此時(shí)29MB,那么段的空間是32MB.

oracle 用戶管理 

查看EXAMPLE表空間的區(qū)和段的分布情況

oracle 用戶管理 

在oracle數(shù)據(jù)庫中最小的存儲(chǔ)單位是塊(block)--8KB,oracle數(shù)據(jù)庫中的數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)塊中。數(shù)據(jù)塊是oracle服務(wù)器所能讀取或?qū)懭氲淖钚〈鎯?chǔ)單元,oracle服務(wù)器以數(shù)據(jù)塊為單位管理數(shù)據(jù)文件的存儲(chǔ)空間,數(shù)據(jù)塊的取值范圍為2-64KB,其默認(rèn)大小與oracle版本有關(guān)。

oracle 用戶管理 

查看操作系統(tǒng)的最小存儲(chǔ)單元

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

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

 

創(chuàng)建表空間和數(shù)據(jù)文件

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

2  next 5m maxsize 200m;

 

表空間已創(chuàng)建。

oracle 用戶管理 

修改表空間的名字為yy

oracle 用戶管理 

oracle 用戶管理 

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

解決辦法:

1. 使用操作系統(tǒng)命令將數(shù)據(jù)文件拷貝一份

2. 把表空間offline

3. 然后對(duì)數(shù)據(jù)文件重命名

oracle 用戶管理oracle 用戶管理 

將表空間offline

oracle 用戶管理 

oracle 用戶管理 

對(duì)數(shù)據(jù)文件重命名

oracle 用戶管理 

查看修改情況

oracle 用戶管理 

將表空間online

oracle 用戶管理 

提示需要恢復(fù)/u01/yy.dbf

oracle 用戶管理 

將表空間online

oracle 用戶管理 

oracle 用戶管理 

如何擴(kuò)展表空間大小

1. 直接改變數(shù)據(jù)文件大小

oracle 用戶管理 

oracle 用戶管理 

2. 給表空間增加數(shù)據(jù)文件

如果表空間所在的分區(qū)的空間不夠用了

oracle 用戶管理 

oracle 用戶管理 

oracle 用戶管理 

刪除表空間

oracle 用戶管理 

創(chuàng)建臨時(shí)表空間

oracle 用戶管理 

oracle 用戶管理 

創(chuàng)建臨時(shí)表空間

oracle 用戶管理 

oracle 用戶管理 

刪除臨時(shí)表空間與刪除表空間的命令是一樣的。

oracle 用戶管理 

1.2. oracle 用戶管理

如果想查看oracle系統(tǒng)中存在用戶可以查看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> setpagesize 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 用戶管理---

要想訪問數(shù)據(jù)庫,任何人都必須成為能夠通過oracle身份驗(yàn)證的有效數(shù)據(jù)庫用戶,我們可以配置應(yīng)用程序要求每個(gè)需要進(jìn)行訪問的個(gè)體都具有不同的數(shù)據(jù)庫賬戶,也可以配置應(yīng)用程序自身作為公共用戶連接數(shù)據(jù)庫并在內(nèi)部處理應(yīng)用程序級(jí)別的權(quán)限。無論選用哪種方法,在數(shù)據(jù)庫內(nèi)部都需要?jiǎng)?chuàng)建一個(gè)或多個(gè)允許操作數(shù)據(jù)的用戶。

1.3. 用戶與模式(schema)

創(chuàng)建用戶的語法:

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

注意:在創(chuàng)建用戶的時(shí)候雖然用戶名寫的時(shí)小寫的,但是存儲(chǔ)到數(shù)據(jù)字典的時(shí)候卻是大寫的,比如create user tom.如果非要使用小寫的話,用戶名需要使用雙引號(hào)括起來create user“tom”

創(chuàng)建的用戶沒有任何權(quán)限,連登陸數(shù)據(jù)庫的權(quán)限都沒有。

如果沒有設(shè)置用戶對(duì)某個(gè)表空間的配額,那么即使這個(gè)用戶對(duì)該表空間有寫權(quán)限,也是無法寫入的。

舉例說明:

查看HR用戶的狀態(tài)

oracle 用戶管理 

修改HR用戶的密碼為oracle

oracle 用戶管理 

手工設(shè)置過期;

oracle 用戶管理 

解鎖用戶

oracle 用戶管理 

舉例說明oracle的授予權(quán)限和撤銷權(quán)限

在創(chuàng)建用戶之前,創(chuàng)建一個(gè)表空間xxx

創(chuàng)建一個(gè)表空間xxx

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

創(chuàng)建用戶tom

create user tom identified by oracle;

查詢創(chuàng)建的用戶tom

oracle 用戶管理 

雖然創(chuàng)建的時(shí)是小寫tom,但存儲(chǔ)到數(shù)據(jù)字典中的是大寫,所以查詢時(shí)也需要寫大寫

oracle 用戶管理 

刪除tom用戶

Drop user tom;

create user"tom" identified by oracle;

oracle 用戶管理 

刪除tom用戶

oracle 用戶管理 

正確的刪除方式應(yīng)該是:

drop user"tom";

創(chuàng)建用戶tom,默認(rèn)的表空間是”XXX”,并沒有指定配額,所以tom用戶也無法在xxx表空間上創(chuàng)建對(duì)象

oracle 用戶管理 

使用tom用戶連接數(shù)據(jù)庫的結(jié)果

oracle 用戶管理 

SQL>conn sys/oracle as sysdba

Drop user tom; 刪除tom用戶

創(chuàng)建tom用戶的同時(shí)指定默認(rèn)的表空間是xxx,tom用戶的磁盤配額是10m

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

oracle 用戶管理 

oracle 用戶管理 

剛才我們測(cè)試創(chuàng)建的tom用戶連創(chuàng)建會(huì)話的權(quán)限都

oracle 用戶管理 

1.4. 為用戶授予權(quán)限34

為tom用戶授予session權(quán)限

SQL>conn sys/oracle as sysdba

SQL> grant create session to tom;

 

授權(quán)成功。

測(cè)試一下連接

oracle 用戶管理 

測(cè)試tom用戶是否能夠創(chuàng)建表

oracle 用戶管理 

為tom用戶授予創(chuàng)建表的權(quán)限

oracle 用戶管理 

創(chuàng)建aa表

oracle 用戶管理 

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

oracle 用戶管理 

1.5. 撤銷權(quán)限

查看tom用戶當(dāng)前擁有的權(quán)限

oracle 用戶管理 

撤銷tom用戶的create table權(quán)限

oracle 用戶管理 

測(cè)試tom用戶能夠查看SCOTT用戶下的emp表

oracle 用戶管理 

使用sys用戶連接數(shù)據(jù)庫

oracle 用戶管理 

為tom用戶授權(quán)select scott用戶下的emp表的權(quán)限

oracle 用戶管理 

使用tom用戶連接數(shù)據(jù)庫

oracle 用戶管理

 

 

網(wǎng)頁標(biāo)題:oracle用戶管理
文章來源:http://bm7419.com/article22/iipjjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、靜態(tài)網(wǎng)站Google、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站策劃、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)