這篇文章講得主要是關(guān)于如何通過SQL Plus 查看登陸用戶的表空間,下面三個是這篇文章的三個方面:
-
dba_tablespace, user_tablespaces; (通過dba數(shù)據(jù)庫管理員身份或者用戶身份查看用戶表空間)
-
dba_users, user_users;(通過dba或者user身份查看用戶)
-
設置用戶的默認或者臨時表空間。
1. dba_tablespace, user_tablespace
1.1 通過管理者(system賬號)來訪問用戶表空間
打開SQL Plus,會挑出輸入用戶名的提示,輸入:system, 然后輸入你自己設置的口令,就可以登錄了。

??接下來,我們應該如何查看管理員用戶下所擁有的表空間類型呢?不要急,在SQL>??下輸入如下語句:
SQL> select tabllespace_name from dba_tablespaces;
其中的dba意思是指在數(shù)據(jù)字典中進行查找。應用會返回給你6個表空間:

簡要介紹一下這六個表空間的職能范圍:
- SYSTEM: 是系統(tǒng)表空間;
- SYSAUX: 是EXAMPLE的輔助表空間;
- UNDOTBS1:存儲一些撤銷信息的表空間;
- TEMP: 用于存儲臨時表空間;
- USERS: 是永久性表空間,當用戶創(chuàng)建了對象,就會保存在這里,和SYSTEM表空間作用類似,不過SYSTEM保存的是系統(tǒng)信息;
- EXAMPLE:安裝oracle實例的表空間。
1.2 通過普通用戶訪問用戶的表空間
上面我使用了system管理員用戶登錄查看了用戶表空間,我們現(xiàn)在來嘗試通過普通用戶來查看用戶表空間。(使用scott用戶來登錄查看)
? 首先需要轉(zhuǎn)換用戶:
SQL> connect scott/口令
轉(zhuǎn)換登錄用戶之后,我們不能通過dba數(shù)據(jù)庫來進行用戶表格控件的查找。即下面的這條語句是會報錯的:

SQL> select tablespace_name from user_tablespaces;
這條語句通過查找user的數(shù)據(jù)庫則能得到想要的表格空間。這說明了不同的登錄用戶有著不同的使用權(quán)限!
2. dba_users, user_users;
在scott用戶下訪問 dba_users是會報錯的。

因為權(quán)限的問題,必須切換登錄用戶為SYSTEM.(connect system/口令)
然后重復 dba_users,則可以得到system用戶的一些信息。如圖所示:

現(xiàn)在來查看一下它的默認表空間和臨時表空間是什么(分別是用戶創(chuàng)建對象后默認存放的地點和臨時信息存放的空間地點,并且默認只有一個臨時表格空間),語句如下:
SQL> select default_tablespace, temporary_tablespace from dba_users where username='SYSTEM';
特別要注意,SYSTEM必須要大寫!

3. 修改默認表格空間
得到了默認表格空間是“SYSTEM”,臨時表格空間是“TEMP”。接下來學會操作如何修改默認表空間(因為臨時表空間只有一個,所以不做修改)。
修改格式是這樣的:
ALTER USER username
DEFAULT|TEMPORARY
TABLESPACE tablespace_name
其實是可以不區(qū)分大小寫的。

驗證:

說明用戶的默認表格空間已經(jīng)從SYSTEM改為了USERS。改變默認表格空間成功。同時應該知道,普通用戶是沒有權(quán)限修改默認表格空間的。