開始之前,先了解一下一些單詞,對今後看bug或者寫代碼有幫助。
privilege權限;grant賦予xx權限;view視圖;sequence序列;snapshots快照...(暫時想到這些,慢慢更新相關單詞)
Oracle安裝之後,其內部會自動創建兩個用戶給我們:sys和system
sys是具有最高權限的用戶,類似於sql的sa,啥都寡。
system沒有sys權限大,但是它有創建用戶的權限,也可以賦予其他用戶權限。
開始前,先說一下思路:①咱們要先有用戶,②用戶要執行某操作就要給用戶創建表空間,讓它有“活動”的空間,③創建好表空間之後我們要將表空間和用戶“綁”在一起;用戶需要登錄,④就要被賦予登錄權限,有了登錄權限之後,⑤要以該用戶的身份建表、增、刪、查、改等數據庫操作,就要賦予該用戶一定的權限。
下面以上說的按着思路來:
1.在命令窗口(cmd)連接數據庫
sqlplus / as sysdba; <!-- 先用本地最高管理員權限連接數據庫 -->
2.新建用戶:
create user szymou identified by 123;
3.創建用戶表空間
create tablespace szymou_space datafile'g:\oracle\szymou_space.dbf' size 50M;
4.用戶指向表空間
有了用戶,有了表空間,那就把它們“綁”起來(用戶指向表空間)
不如我們先來看一下沒有將新建的用戶(Szymou)綁定新建的表空間(szymou_space)之前,該用戶是指向哪個表空間的:
select username,default_tablespace from dba_users where username like 'SZYMOU';
現在來“綁定”咱們新建的用戶和表空間:
alter user szymou default tablespace szymou_space;
5.現在試試連接:
conn szymou/123;
那我們就賦予它session權限;再次連接即可。
grant create session to szymou;
6.使用客戶端連接、建表
建表:
重新連接系統管理員用戶:sqlplus / as sysdba
賦create table 權限:
grant create table to szymou;
7.插入數據
接下來我們給新建的表插入數據。同理,需要給用戶賦予“插入”的權限
grant insert any table to szymou;
可是又有提示 對錶空間 'SZYMOU_SPACE' 無權限:所以我們還要賦予用戶操作 表空間 的權限:
基本操作就以上幾點,,其餘的刪查改等操作自由學習。
從上面的5、6、7步驟賦予權限的過程,我們也應該體會到Oracle數據庫是多麼地注意安全性。
爲了避免多次出現提示缺少權限的問題,我們在新建用戶的使用的時候,應該先設計好用戶的定位,再着手創建。
下面附上覃老師今天整理的賦予權限的代碼:
grant dba to admin2; --賦予管理員的權限
grant create session to admin3;--賦予登陸的權限
grant create any table to admin3; --給admin3創建表的權限
grant create table to qinfudian; --授予創建表的權限
grant drop any table to qinfudian; --授予刪除表的權限
grant insert any table to qinfudian; --插入表的權限
grant update any table to qinfudian; --修改表的權限
grant select any table to qinfudian; --查詢表的權限
revoke create table from admin3; --去除建表的權限
grant unlimited tablespace to admin3; --賦予表空間權限
不要複製代碼呀!放手自己敲...
今天還有一點內容慢慢更新,等下審覈就下班了。。