Oracle 用戶與表空間關系

oracle用戶與表空間關系

用戶=商家

表=商品

表空間=倉庫

1. 1個商家能有很多商品鱼冀,1個商品只能屬于一個商家

2. 1個商品可以放到倉庫A匀泊,也可以放到倉庫B茅主,但不能同時放入A和B

3. 倉庫不屬于任何商家

4. 商家都有一個默認的倉庫纵刘,如果不指定具體倉庫穴翩,商品則放到默認的倉庫中

oracle中用戶的所有數(shù)據(jù)都是存放在表空間中的犬第,很多個用戶可以共用一個表空間,也可以指定一個用戶只用某一個表空間芒帕。

表空間:創(chuàng)建表空間會在物理磁盤上建立一個數(shù)據(jù)文件歉嗓,作為數(shù)據(jù)庫對象(用戶、表背蟆、存儲過程等等)的物理存儲空間鉴分;

用戶:創(chuàng)建用戶必須為其指定表空間,如果沒有顯性指定默認表空間带膀,則指定為users表空間志珍;創(chuàng)建用戶后,可以在用戶上垛叨,創(chuàng)建表伦糯、存儲過程等等其他數(shù)據(jù)庫對象;

表:是數(shù)據(jù)記錄的集合嗽元;

創(chuàng)建過程: 表空間--->用戶--->表;

所屬關系: 表空間 包含 用戶 包含 表敛纲;

1.首先是ORACLE的整體結構。

oracle中的一個數(shù)據(jù)庫就是一個實例.

oracle的一個用戶就是一個Schema(即方案).

oracle的結構是===

實例->用戶->表(用戶屬于數(shù)據(jù)庫實例,表屬于某個用戶)

所以在oracle下建立 建表空間剂癌,建用戶淤翔,設置用戶的默認表空間,在用戶下建表佩谷;

--創(chuàng)建數(shù)據(jù)表空間

create tablespace CICI

logging

datafile 'D:\oraclexe\app\oracle\oradata\CICI\CICI.DBF'

size 32m

autoextend on

next 32m maxsize 2048m

extent management local;

--創(chuàng)建用戶并指定表空間

CREATE USER cici IDENTIFIED BY cici

PROFILE DEFAULT

DEFAULT TABLESPACE CICI?

ACCOUNT UNLOCK;

-- 為用戶賦予權限

GRANT connect, resource TO cici;

grant create session to cici;

-- 登錄用戶

sql>conn

請輸入用戶名 cici

請輸入密碼 XXXXXX

---建立表

create table aa(name varchar2(100),age number(4));

insert into aa values('wo',29);

-- 查詢表

select * from cici.A;



select * from session_privs;

查看系統(tǒng)權限和對象權限

select * from dba_sys_privs;

select * from dba_tab_privs;

改自己的密碼,不需要dba的權限旁壮,但要使用舊密碼進行驗證监嗜,用以下語句即可

alter user hr identified by 123456 replace zxcasd;

select table_name from user_tables;

desc jobs

set pagesize 200

select * from jobs;

desc locations

set linesize 200

select * from locations;


############################

rac上創(chuàng)建表空間

create tablespace MONITOR datafile '+DATA1/baoka/datafile/monitor.dbf' size 4096m autoextend on;

select * from v$tablespace;

select * from v$datafile;

drop tablespace MONITOR including contents and datafiles;

create tablespace monitor logging?

datafile '+DATA1/baoka/datafile/monitor.dbf'

size 100m

autoextend on

next 50m maxsize 2048m

extent management local;

select * from v$tablespace;

select * from v$datafile;


create user monitor identified by "lCp_mon1"

default tablespace monitor;

grant connect,resource to monitor;

############################


下面是單實例上創(chuàng)建表空間

select * from v$tablespace;

select * from v$datafile;

三步走

create tablespace monitor

logging

datafile '/u01/app/oracle/oradata/testdb/monitor.dbf'

size 100m?

autoextend on?

next 50m maxsize 20480m?

extent management local;

create user monitor identified by "lCp_mon1"

default tablespace monitor;

grant connect,resource to monitor;


以用戶monitor通過sqldeveloper連接庫,執(zhí)行monitor.sql腳本即可抡谐,將表空間名字替換即可USERS->monitor

#####################################

查看當前會話的session? ID 有如下三種方法:

desc v$mystat

select * from v$mystat where rownum=1;

select userenv('sid') from dual;

userenv('sessionid') 返回的是session audit id.其對應v$session 的audsid字段裁奇。

在session 連接到數(shù)據(jù)庫的時候,會從SYS.AUDSES$序列中獲取一個audid 分配給session童叠。

select sid from v$session where audsid=userenv('sessionid');?

這里返回了3個值框喳,我們直接查看userenv('sessionid')? 值:

select userenv('sessionid') from dual;

對于internal用戶(’/as sysoper’ 和 ‘/as sysdba’)和后臺進程课幕,其對應的AUDID 為0.?

在Oracle 10g中厦坛,如果AUDID的值為0,表明是internal 用戶乍惊,如果AUDID 值是4294967295杜秸,那么就表明是用SYS 用戶直接連接的。?

我們這里返回三個結果是把所有SYS 用戶的session都返回了润绎,所以這種方法有時的準確性并不高撬碟。


################################

sessions=(1.1*process+5)

show parameter processes

show parameter sessions

alter system set processes=1000 scope=spfile;

shutdown immediate;

startup;

查詢數(shù)據(jù)庫當前進程的連接數(shù):

select count(*) from v$process;

查看數(shù)據(jù)庫當前會話的連接數(shù):

select count(*) from v$session;

查看數(shù)據(jù)庫的并發(fā)連接數(shù):

select count(*) from v$session where status='ACTIVE';

查看當前數(shù)據(jù)庫建立的會話情況:

select sid,serial#,username,program,machine,status from v$session;

查詢數(shù)據(jù)庫允許的最大連接數(shù):

select value from v$parameter where name = 'processes';


##################################

undo表空間管理


你可以建立多個undo表空間,但是當前在用undo表空間只能是其中一個莉撇。rac除外

只能是一個,但是可以新建另外一個,把原來的失效,再指向新UNDO表空間

修改默認的undo表空間為新創(chuàng)建的

show parameter undo;

alter system set undo_tablespace=undo1;

undo表空間用于存放undo數(shù)據(jù)呢蛤,當執(zhí)行DML操作(insert、update棍郎、delete)時其障,oracle會將這些操作的舊數(shù)據(jù)寫入到undo段。

知道updata語句執(zhí)行會產(chǎn)生undo信息涂佃,將老的數(shù)據(jù)保存到undo表空間中励翼。

那么select語句會產(chǎn)生undo信息嗎?產(chǎn)生什么信息呢辜荠?select會將什么保存的表空間中呢汽抚?

insert呢?又會產(chǎn)生undo信息嗎伯病?將什么保存到undo表空間呢造烁?

新建一個表,插入十萬數(shù)據(jù)午笛,執(zhí)行:

sql>select addr, used_ublk from v$transaction;

ADDR USED_UBLK

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

3B7D6984 87

產(chǎn)生87塊惭蟋,產(chǎn)生undo信息了嗎?表是新建的季研,沒有任何信息敞葛,也就是沒有老的數(shù)據(jù),那么會產(chǎn)生undo信息嗎与涡?在undo表空間存入什么呢惹谐?

還原段用途:

事務處理回退——當某事務處理修改表中某行時持偏,被修改的列的舊映像(要還原的數(shù)據(jù))將存儲在還原段中。如果將該事務處理回退氨肌,則Oracle 服務器通過將還原段中的值寫回到該行來恢復原始值鸿秆。

事務處理恢復——如果例程在事務處理正在進行時失敗,那么Oracle 服務器需要在數(shù)據(jù)庫再次打開時還原所有未提交的更改怎囚。這種回退操作是事務處理恢復的一部分卿叽。之所以有可能恢復事務處理,原因在于對還原段所做的更改同樣受重做日志文件的保護恳守。

讀一致性——在事務處理正在進行時考婴,數(shù)據(jù)庫中的其他用戶不應看到這些事務處理所做的任何未提交更改。此外催烘,也不應從某條語句中看到該語句開始執(zhí)行后所提交的任何更改沥阱。還原段中的舊值(要還原的數(shù)據(jù))也可用于為讀者提供給定語句的一致映像。


oracle中undo是用來存放回滾數(shù)據(jù)的伊群。

撤銷(Undo)數(shù)據(jù)是反轉DML語句結果所需的信息考杉。撤銷數(shù)據(jù)通常被稱為“回滾數(shù)據(jù)”,在過去的Oracle版本中舰始,“回滾數(shù)據(jù)”和“撤銷數(shù)據(jù)”可以交替使用崇棠,但從 9i版本開始,這兩個術語有所不同:功能相同丸卷,但管理方式不同枕稀。只要某個事務修改了數(shù)據(jù),那么更新前的原有數(shù)據(jù)就會被寫入一個回滾段或撤銷段及老〕槔常回滾段在 11g版本中依然存在,但從9i版本開始骄恶,Oracle數(shù)據(jù)庫引入了可供選擇的撤銷段食铐。Oracle強烈建議所有數(shù)據(jù)庫都應當使用撤銷段,回滾段只被保留用于向后兼容 僧鲁。

undo表空間:

一個數(shù)據(jù)庫可以存在多個撤銷表空間虐呻,但是在任意給定時刻都只能使用一個撤銷表空間。撤銷表空間必須被創(chuàng)建為持久的寞秃、本地管理的并且能夠自動擴展分配空間的表空間斟叼。

事務與undo段:

在某個事務啟動時,Oracle會為其指派一個撤銷段春寿。任何一個事務都只能受一個撤銷段保護朗涩,一個事務生成的撤銷數(shù)據(jù)無法被分配到多個撤銷段中。

在某個事務更新表和索引數(shù)據(jù)塊時绑改,回滾該變化所需的信息會被寫入指定撤銷表空間的數(shù)據(jù)塊谢床。撤銷數(shù)據(jù)在提交后過期的事實意味著可以采用循環(huán)方式使用撤銷段兄一。如果使用原有的、人工管理的回滾段识腿,那么調整的重要環(huán)節(jié)是控制具體事務分別受哪些回滾段保護出革。

oracle會將沒有commit或rollback的數(shù)據(jù)放入undo表空間

update\insert\delete 都會使用undo表空間,

select 應該不會渡讼,會使用temp表空間

你不是插入10萬的數(shù)據(jù)了嗎骂束,在執(zhí)行 commit或rollback 之前 會使用undo表空間

########################

temp表空間的管理


臨時表空間的主要作用: 索引CREATE或REBUILD; ORDER BY 或 GROUP BY成箫; DISTINCT 操作展箱; UNION 或 INTERSECT 或 MINUS; SORT - MERGE JOINS伟众; ANALYZE.

SELECT?

SE.USERNAME,

SE.SID,

SE.SERIAL#,

SE.SQL_ADDRESS,

SE.MACHINE,

SE.PROGRAM,

SU.TABLESPACE,

SU.SEGTYPE,

SU.CONTENTS

FROM V$SESSION SE,

V$SORT_USAGE SU

WHERE SE.SADDR = SU.SESSION_ADDR;

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末析藕,一起剝皮案震驚了整個濱河市召廷,隨后出現(xiàn)的幾起案子凳厢,更是在濱河造成了極大的恐慌,老刑警劉巖竞慢,帶你破解...
    沈念sama閱讀 206,482評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件先紫,死亡現(xiàn)場離奇詭異,居然都是意外死亡筹煮,警方通過查閱死者的電腦和手機遮精,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來败潦,“玉大人本冲,你說我怎么就攤上這事〗侔牵” “怎么了檬洞?”我有些...
    開封第一講書人閱讀 152,762評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沟饥。 經(jīng)常有香客問我添怔,道長,這世上最難降的妖魔是什么贤旷? 我笑而不...
    開封第一講書人閱讀 55,273評論 1 279
  • 正文 為了忘掉前任广料,我火速辦了婚禮,結果婚禮上幼驶,老公的妹妹穿的比我還像新娘艾杏。我一直安慰自己,他們只是感情好盅藻,可當我...
    茶點故事閱讀 64,289評論 5 373
  • 文/花漫 我一把揭開白布购桑。 她就那樣靜靜地躺著汹族,像睡著了一般。 火紅的嫁衣襯著肌膚如雪其兴。 梳的紋絲不亂的頭發(fā)上顶瞒,一...
    開封第一講書人閱讀 49,046評論 1 285
  • 那天,我揣著相機與錄音元旬,去河邊找鬼榴徐。 笑死,一個胖子當著我的面吹牛匀归,可吹牛的內容都是我干的坑资。 我是一名探鬼主播,決...
    沈念sama閱讀 38,351評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼穆端,長吁一口氣:“原來是場噩夢啊……” “哼袱贮!你這毒婦竟也來了?” 一聲冷哼從身側響起体啰,我...
    開封第一講書人閱讀 36,988評論 0 259
  • 序言:老撾萬榮一對情侶失蹤攒巍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后荒勇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柒莉,經(jīng)...
    沈念sama閱讀 43,476評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,948評論 2 324
  • 正文 我和宋清朗相戀三年沽翔,在試婚紗的時候發(fā)現(xiàn)自己被綠了兢孝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,064評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡仅偎,死狀恐怖跨蟹,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情橘沥,我是刑警寧澤窗轩,帶...
    沈念sama閱讀 33,712評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站威恼,受9級特大地震影響品姓,放射性物質發(fā)生泄漏。R本人自食惡果不足惜箫措,卻給世界環(huán)境...
    茶點故事閱讀 39,261評論 3 307
  • 文/蒙蒙 一腹备、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧斤蔓,春花似錦植酥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漂羊。三九已至,卻和暖如春卸留,著一層夾襖步出監(jiān)牢的瞬間走越,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評論 1 262
  • 我被黑心中介騙來泰國打工耻瑟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留旨指,地道東北人。 一個月前我還...
    沈念sama閱讀 45,511評論 2 354
  • 正文 我出身青樓喳整,卻偏偏與公主長得像谆构,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子框都,可洞房花燭夜當晚...
    茶點故事閱讀 42,802評論 2 345

推薦閱讀更多精彩內容

  • 系統(tǒng)用戶: 1.sys system(sys權限最高) 2.sysman(操作企業(yè)管理器) 密碼是安裝的時候輸入的...
    3hours閱讀 1,553評論 0 0
  • 一搬素、源題QUESTION 74View the Exhibit. You want to create a tab...
    貓貓_tomluo閱讀 1,497評論 0 1
  • 一、源題QUESTION 1The instance abnormally terminates because ...
    貓貓_tomluo閱讀 1,592評論 0 2
  • 一魏保、源題QUESTION 36Your database is open and the LISTENER lis...
    貓貓_tomluo閱讀 1,214評論 0 2
  • 節(jié)假日依舊要值班……不知道是因為害怕而失落熬尺,還是最近的變動太大,感覺壓得喘不過氣囱淋,總想找點事情折騰自己猪杭,盡管有些事...
    鏡子里面的你閱讀 127評論 0 0