這篇文章講得主要是關(guān)于如何通過SQL Plus 查看登陸用戶的表空間哩陕,下面三個(gè)是這篇文章的三個(gè)方面:
-
dba_tablespace, user_tablespaces; (通過dba數(shù)據(jù)庫管理員身份或者用戶身份查看用戶表空間)
-
dba_users, user_users;(通過dba或者user身份查看用戶)
-
設(shè)置用戶的默認(rèn)或者臨時(shí)表空間。
1. dba_tablespace, user_tablespace
1.1 通過管理者(system賬號(hào))來訪問用戶表空間
打開SQL Plus,會(huì)挑出輸入用戶名的提示拌消,輸入:system, 然后輸入你自己設(shè)置的口令蚤霞,就可以登錄了酗失。
??接下來,我們應(yīng)該如何查看管理員用戶下所擁有的表空間類型呢昧绣?不要急规肴,在SQL>??下輸入如下語句:
SQL> select tabllespace_name from dba_tablespaces;
其中的dba意思是指在數(shù)據(jù)字典中進(jìn)行查找。應(yīng)用會(huì)返回給你6個(gè)表空間:
簡(jiǎn)要介紹一下這六個(gè)表空間的職能范圍:
- SYSTEM: 是系統(tǒng)表空間夜畴;
- SYSAUX: 是EXAMPLE的輔助表空間拖刃;
- UNDOTBS1:存儲(chǔ)一些撤銷信息的表空間;
- TEMP: 用于存儲(chǔ)臨時(shí)表空間贪绘;
- USERS: 是永久性表空間兑牡,當(dāng)用戶創(chuàng)建了對(duì)象,就會(huì)保存在這里税灌,和SYSTEM表空間作用類似均函,不過SYSTEM保存的是系統(tǒng)信息亿虽;
- EXAMPLE:安裝oracle實(shí)例的表空間。
1.2 通過普通用戶訪問用戶的表空間
上面我使用了system管理員用戶登錄查看了用戶表空間苞也,我們現(xiàn)在來嘗試通過普通用戶來查看用戶表空間洛勉。(使用scott用戶來登錄查看)
? 首先需要轉(zhuǎn)換用戶:
SQL> connect scott/口令
轉(zhuǎn)換登錄用戶之后如迟,我們不能通過dba數(shù)據(jù)庫來進(jìn)行用戶表格控件的查找坯认。即下面的這條語句是會(huì)報(bào)錯(cuò)的:
SQL> select tablespace_name from user_tablespaces;
這條語句通過查找user的數(shù)據(jù)庫則能得到想要的表格空間氓涣。這說明了不同的登錄用戶有著不同的使用權(quán)限!
2. dba_users, user_users;
在scott用戶下訪問 dba_users是會(huì)報(bào)錯(cuò)的陋气。
因?yàn)闄?quán)限的問題劳吠,必須切換登錄用戶為SYSTEM.(connect system/口令)
然后重復(fù) dba_users,則可以得到system用戶的一些信息。如圖所示:
現(xiàn)在來查看一下它的默認(rèn)表空間和臨時(shí)表空間是什么(分別是用戶創(chuàng)建對(duì)象后默認(rèn)存放的地點(diǎn)和臨時(shí)信息存放的空間地點(diǎn)巩趁,并且默認(rèn)只有一個(gè)臨時(shí)表格空間)痒玩,語句如下:
SQL> select default_tablespace, temporary_tablespace from dba_users where username='SYSTEM';
特別要注意,SYSTEM必須要大寫议慰!
3. 修改默認(rèn)表格空間
得到了默認(rèn)表格空間是“SYSTEM”蠢古,臨時(shí)表格空間是“TEMP”。接下來學(xué)會(huì)操作如何修改默認(rèn)表空間(因?yàn)榕R時(shí)表空間只有一個(gè)别凹,所以不做修改)草讶。
修改格式是這樣的:
ALTER USER username
DEFAULT|TEMPORARY
TABLESPACE tablespace_name
其實(shí)是可以不區(qū)分大小寫的。
驗(yàn)證:
說明用戶的默認(rèn)表格空間已經(jīng)從SYSTEM改為了USERS炉菲。改變默認(rèn)表格空間成功堕战。同時(shí)應(yīng)該知道,普通用戶是沒有權(quán)限修改默認(rèn)表格空間的拍霜。