今天做了資料庫的實驗,實驗內容是關於建立新的使用者和給這些使用者授予許可權的。下面是我得到的一些總結:
在實驗室中,由於每台機子上都裝了oracle,所以我們都是以DBA的身份進入系統的。首先我們必須知道一些基本的命令,如:
select * from cat
這裡的cat是oracle資料庫系統中內建的一個視圖,其中有兩個欄位:table_name,table_type,你建立的表的表名基本上都儲存在這裡,通過這個命令你可以查看系統中存在的表。
show user
查看當前你正串連資料庫使用的使用者。
select * from all_users
這裡的all_users是oracle內建的資料庫字典,通過它我們可以尋找資料庫系統中有多少使用者。
select name from sys.ts$ 一般查詢結果如下:
NAME
------------------------------
SYSTEM
RBS
USERS
TEMP
TOOLS
INDX
DRSYS
查看oracle資料庫中有哪些資料表空間,如SYSTEM,USERS,TEMP。
那麼我們到底怎麼樣建立使用者呢?
在sql*plus中使用如下命令:
sql>create user u01 identified by u01
2 default tablespace users
3 temporary tablespace temp
4 quota 10M on users;
上面的意思是:建立一個使用者名稱為u01,密碼為u01(identified by後面的)的使用者,預設的資料表空間為users,臨時的資料表空間為 temp
分配的資料大小為10M。在該使用者下建立的表全部儲存在users這個資料表空間裡面,而在這個使用者下進行查詢產生的暫存資料表儲存在temp這個資料表空間中。上面的兩個資料表空間是可以更改成任意系統存在的資料表空間。但是最後不要在system這個資料表空間下。可以自己建立資料表空間方法舉例:
create tablespace new_ds datafile 'd:\oracle\oradata\orcl\test01.dbf' size 32M
建立好了以後你可以在建立使用者的時候使用這個資料表空間,一般建立資料表空間是由DBA來完成。
建立好使用者以後必須授予權利:sql>grant connect,resource to u01
還可以修改使用者密碼:SQL>alter user u01 identified by new_password
於是可以串連資料庫:SQL>connect U01/new_password
可以在此使用者下建立表和查詢,如果你想在此使用者下能夠查詢在cat中存在的表,那麼還需要DBA進行授權:
sql>grant select to u01
還需要其他的功能,還需要其他的授權,略。