日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Oracle笔记(十四) 用户管理

發(fā)布時間:2024/4/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle笔记(十四) 用户管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

SQL語句分為三類:DML、DDL、DCL,之前已經(jīng)講解完了DML和DDL,現(xiàn)在就差DCL操作的,DCL主要表示的是數(shù)據(jù)庫的控制語句,控制的就是操作權(quán)限,而在DCL之中,主要有兩個語法:GRANT、REVOKE;

權(quán)限的操作基礎(chǔ)是需要有用戶的,而這個時候就需要通過一個新的用戶進行演示,而要想創(chuàng)建新用戶則首先必須是具備管理員權(quán)限的sys、system兩個用戶操作。

范例:創(chuàng)建一個dog用戶,密碼為wangwang

CONN sys/change_on_install AS SYSDBA; CREATE USER dog IDENTIFIED BY wangwang;

此時一個新的用戶就創(chuàng)建完成了。

注意:“ORA-00988:口令缺失或無效” 錯誤,這種情況通常發(fā)生于創(chuàng)建 Oracle 例程時指定了非正常的全局數(shù)據(jù)庫名稱或系統(tǒng)用戶密碼。請注意全局數(shù)據(jù)庫名稱不能以數(shù)字開頭,口令密碼也不能由數(shù)字開頭。

Oracle對密碼的要求如下:

  • 系統(tǒng)用戶(SYS、SYSTEM)口令長度不能小于7個字符;
  • 密碼由1 到 30 個字符 (characters)組成;
  • 必須以字母開頭,不能是符號或者數(shù)字;
  • 只接受字母,數(shù)字,以及三個符號 "#", "_" and "$";
  • 密碼不能包含像"SELECT","DELETE","CREATE"這類的 Oracle/SQL 關(guān)鍵字;

但是此時這個新創(chuàng)建的用戶并不能登錄,會提示如下的錯誤信息:

ORA-01045: user DOG lacks CREATE SESSION privilege; logon denied

提示用戶現(xiàn)在沒有創(chuàng)建SESSION的權(quán)限,在之前曾經(jīng)解釋過,對于sqlplusw而言,每一個用戶都表示一個SESSION,如果沒有創(chuàng)建SESSION的權(quán)限就意味著不能登錄,所以下面要授權(quán)。

范例:將CREATE SESSION的權(quán)限給dog用戶

GRANT CREATE SESSION TO dog;

現(xiàn)在新用戶登錄成功之后,下面就可以執(zhí)行表的創(chuàng)建操作。

CREATE SEQUENCE myseq; CREATE TABLE mytab(id NUMBER PRIMARY KEY,   name VARCHAR2(50) );

解釋:關(guān)于數(shù)據(jù)表的保存問題

在Oracle之中所有的數(shù)據(jù)表都是保存在硬盤上的,但不是每一張數(shù)據(jù)表都保存在硬盤上的,而是表空間保存在硬盤上,而數(shù)據(jù)表保存在表空間之中。

如果把硬盤表示成整個一個圖書館的話,那么表空間就表示每一個書柜,每一張表就表示柜子上的一本書。

范例:將創(chuàng)建表的權(quán)限給dog用戶

GRANT CREATE TABLE TO dog;

此時只是將數(shù)據(jù)表的創(chuàng)建權(quán)限給了dog用戶,但是并沒有把表空間的操作權(quán)限給dog用戶,所以用戶仍然無法創(chuàng)建表,因為表沒有地方可以保存。

為了解決用戶的授權(quán)操作,在Oracle之中為用戶提供了許多的角色,每一個角色會包含多個權(quán)限,而角色主要有兩個:CONNECT、RESOURCE;

范例:將CONNECT和RESOURCE TO dog;

GRANT CONNECT,RESOURCE TO dog;

但是現(xiàn)在一旦存在了用戶的操作,那么就需要有用戶的管理操作,最簡單的一個功能,用戶有可能丟掉自己的密碼。

范例:修改密碼

ALTER USER dog IDENTIFIED BY miaomiao;

但是當管理員為一個用戶重置一個密碼之后,往往會希望用戶在第一次登錄的時候可以修改密碼,所以此時可以通過如下的命令讓密碼失效:

ALTER USER dog PASSWORD EXPIRE;

也可以控制一個用戶的鎖定操作:

ALTER USER dog ACCOUNT LOCK;ALTER USER dog ACCOUNT UNLOCK;

以上是針對于一個基本的用戶操作,但是在之前也學(xué)習過,不同的用戶可以訪問其他用戶的數(shù)據(jù)表,此時只需要加上完整的“用戶名.表名稱”即可。

范例:使用dog用戶查詢scott.emp表

SELECT * FROM scott.emp;

但是現(xiàn)在卻無法查找,此時需要將scott用戶的權(quán)限授予dog用戶才可以讓dog用戶訪問scott用戶的資源,主要的權(quán)限有四個:INSERT、DELETE、UPDATE、SELECT。

范例:將scott.emp表的SELECT和INSERT權(quán)限給dog用戶

GRANT SELECT,INSERT ON scott.emp TO dog;

既然現(xiàn)在有授權(quán)的功能,那么就可以進行權(quán)限的回收,權(quán)限的回收使用REVOKE指令。

范例:回收dog用戶的權(quán)限

REVOKE SELECT,INSERT ON scott.emp FROM dog; REVOKE CONNECT,RESOURCE,CREATE TABLE,CREATE SESSION FROM dog;

既然用戶連權(quán)限都沒了,那么按照中國的一句話:“卷鋪蓋走人”。

DROP USER dog CASCADE;

以上的所有操作都是由DBA負責。

轉(zhuǎn)載于:https://www.cnblogs.com/MonkTang/p/9204874.html

總結(jié)

以上是生活随笔為你收集整理的Oracle笔记(十四) 用户管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。