使用者管理
建立乙個使用者從無到有,再分配許可權,在到墮落以及刪除的過程,如果要想進行使用者的建立,那麼必須有管理員的許可權,本次就直接使用sys使用者。使用sys登入
1、sys登陸
conn sys/change_on_install as sysdba ;
2、建立乙個新的使用者,名字為
dog,密碼為:
wangwang
create user dog identified by wangwang;
那麼現在使用者已經建立完成了,所以能不能使用此使用者登入呢?那麼此時出現了如下的錯誤提示
conn dog/wangwang
ora-01045: user dog lackscreate sessionprivilege;logon denied
每乙個新的使用者本身不具備任何的許可權,而在
oracle
資料庫裡面,如果使用者要想登入,則必須具有建立
session
的許可權,
如果要分配許可權則可以使用如下的語法:
grant
許可權1,
許可權2 ,... to
使用者名稱;
範例:將建立
session
的許可權賦予
dog
grant create session to dog;
登陸到:dog使用者
conn dog/wangwang
既然已經使用了
dog使用者登入成功,那麼下面建立序列和表?
create sequence mysql;
create table mytab(
name
varchar2(20)
);這個時候發現出現了以下錯誤資訊:「
ora-01031:
許可權不足
實際上進來後發現依然要許可權,一步乙個腳印,需要建立序列的許可權、需要建立表的許可權,還有可能需要一堆其他的許可權。這樣做太麻煩了,所以在
oracle
裡面提供有一種角色的概念。所謂的角色指的是包含有若干個許可權,那麼在
oracle
裡面主要使用兩個角色:
connect
(了解)、
resource
(表以及表空間)。
範例:將兩個角色授予
dog使用者,登陸
sys使用者下在執行下面語法
grant connect,resource to dog;
現在可以建立表和序列了↑
範例:修改使用者密碼,由於使用者並不多,所以這種使用者的維護就可以由
sys進行了
alter user dog identified by miaomiao;
此時密碼已修改
範例:讓使用者密碼過期
alter user dog password expire;
範例:鎖定使用者
alter user dog account lock;
範例:使用者解鎖
alter user dog account unlock;
除了以上給出的一些系統許可權之外,還可以使用一些物件許可權。
可以針對於乙個物件下的資料表進行訪問的定義:有四種許可權:
insert
、update
、delete
、select。
範例:下面將
scott.emp
表的select
、insert
許可權授予
dog使用者
grant select,insert on scott.emp to dog;
授權後dog使用者就可以檢視和更新
scott
使用者的資料
範例:**
scott許可權
revoke select,insert on scott.emp from dog;
收回許可權後將無法檢視和修改
scott
使用者的內容
範例:**其它所授予的許可權
revoke connect,resource,create session from dog;
刪除dog
drop user dog cascade;
10oracle學習 表空間
sys,system sysman scott 使用者登入格式 username password server as sysdba sysoper system orcl orcl as sysdba 備註 orcl 就是自己設定的服務名system orcl 如果已經使用某個使用者登入了sql ...
Oracle常用命令10 oracle例外處理
例外傳遞 如果不處理例外我們看看會出現什麼情況 案例,編寫乙個過程,可接收雇員的編號,並顯示該雇員的姓名。問題是,如果輸入的雇員編號不存在,怎樣去處理呢?例外案例 declare 定義 v ename emp.ename type begin 執行 select ename into v ename...
Oracle常用命令10 oracle例外處理
例外傳遞 如果不處理例外我們看看會出現什麼情況 案例,編寫乙個過程,可接收雇員的編號,並顯示該雇員的姓名。問題是,如果輸入的雇員編號不存在,怎樣去處理呢?例外案例 declare 定義 v ename emp.ename type begin 執行 select ename into v ename...