10 Oracle使用者管理

2021-09-02 16:48:38 字數 2579 閱讀 1486

使用者管理

建立乙個使用者從無到有,再分配許可權,在到墮落以及刪除的過程,如果要想進行使用者的建立,那麼必須有管理員的許可權,本次就直接使用sys使用者。使用sys登入

1sys登陸

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...