Oracle新建用戶、角色,授權(quán),建表空間的sql語(yǔ)句
每個(gè)oracle用戶都有一個(gè)名字和口令,并擁有一些由其創(chuàng)建的表、視圖和其他資源。oracle角色(role)就是一組權(quán)限(privilege)(或者是每個(gè)用戶根據(jù)其狀態(tài)和條件所需的訪問(wèn)類型)。用戶可以給角色授予或賦予指定的權(quán)限,然后將角色賦給相應(yīng)的用戶。一個(gè)用戶也可以直接給其他用戶授權(quán)。
一、創(chuàng)建用戶
Oracle創(chuàng)建用戶的語(yǔ)法:
Oracle創(chuàng)建用戶(密碼驗(yàn)證用戶),可以采用CREATE USER命令。
CREATE USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user'
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
其中,
CREATE USER username:用戶名,一般為字母數(shù)字型和“#”及“_”符號(hào)。
IDENTIFIED BY password:用戶口令,一般為字母數(shù)字型和“#”及“_”符號(hào)。
IDENTIFIED EXETERNALLY:表示用戶名在操作系統(tǒng)下驗(yàn)證,該用戶名必須與操作系統(tǒng)中所定義的用戶名相同。
IDENTIFIED GLOBALLY AS ‘CN=user':用戶名由Oracle安全域中心服務(wù)器驗(yàn)證,CN名字表示用戶的外部名。
[DEFAULT TABLESPACE tablespace]:默認(rèn)的表空間。
[TEMPORARY TABLESPACE tablespace]:默認(rèn)的臨時(shí)表空間。
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用戶可以使用的表空間的字節(jié)數(shù)。
[PROFILES profile_name]:資源文件的名稱。
[PASSWORD EXPIRE]:立即將口令設(shè)成過(guò)期狀態(tài),用戶再登錄前必須修改口令。
[ACCOUNT LOCK or ACCOUNT UNLOCK]:用戶是否被加鎖,默認(rèn)情況下是不加鎖的。
oracle內(nèi)部有兩個(gè)建好的用戶:system和sys。用戶可直接登錄到system用戶以創(chuàng)建其他用戶,因?yàn)閟ystem具有創(chuàng)建別 的用戶的 權(quán)限。 在安裝oracle時(shí),用戶或系統(tǒng)管理員首先可以為自己建立一個(gè)用戶。例 如 :
create user user01 identified by u01;
該命令還可以用來(lái)設(shè)置其他權(quán)限,詳細(xì)情況參見(jiàn)自學(xué)資料。要改變一個(gè)口令,可以使用alter user命令:
alter user user01 identified by usr01;
現(xiàn)在user01的口令已由“u01”改為“usr01”。
除了alter user命令以外,用戶還可以使用password命令。如果使用password命令,用戶輸入的新口令將不在屏幕上顯示。有dba特權(quán)的用戶可以通過(guò)password命令改變?nèi)魏纹渌脩舻目诹?其他用戶只能改變自己的口令。
當(dāng)用戶輸入password命令時(shí),系統(tǒng)將提示用戶輸入舊口令和新口令,如下所示:
password
changing password for user01
old password:
new password:
retype new password:
當(dāng)成功地修改了口令時(shí),用戶會(huì)得到如下的反饋:
password changed
二 、刪除用戶
刪除用戶,可以使用drop user命令,如下所示:
drop user user01;
如果用戶擁有對(duì)象,則不能直接刪除,否則將返回一個(gè)錯(cuò)誤值。指定關(guān)鍵字cascade,可刪除用戶所有的對(duì)象,然后再刪除用戶。下面的例子用來(lái)刪除用戶與其對(duì)象:
drop user user01 cascade;
三 、3種標(biāo)準(zhǔn)角色
qracle為了兼容以前的版本,提供了三種標(biāo)準(zhǔn)的角色(role):connect、resource和dba。
1. connect role(連接角色)
臨時(shí)用戶,特別是那些不需要建表的用戶,通常只賦予他們connectrole。connect是使用oracle的簡(jiǎn)單權(quán)限,這種權(quán)限只有在對(duì)其他用戶的表有訪問(wèn)權(quán)時(shí),包括select、insert、update和delete等,才會(huì)變得有意義。擁有connect role的用戶還能夠創(chuàng)建表、視圖、序列(sequence)、簇(cluster)、同義詞(synonym )、會(huì)話(session)和與其他數(shù)據(jù)庫(kù)的鏈(link)。
2. resource role(資源角色)
更可靠和正式的數(shù)據(jù)庫(kù)用戶可以授予resource role。resource提供給用戶另外的權(quán)限以創(chuàng)建他們自己的表、序列、過(guò)程(procedure)、觸發(fā)器(trigger)、索引(index)和簇(cluster)。
3. dba role(數(shù)據(jù)庫(kù)管理員角色)
dba role擁有所有的系統(tǒng)權(quán)限----包括無(wú)限制的空間限額和給其他用戶授予各種權(quán)限的能力。system由dba用戶擁有。下面介紹一些dba經(jīng)常使用的典型權(quán)限。
(1)grant(授權(quán))命令
下面對(duì)剛才創(chuàng)建的用戶user01授權(quán),命令如下:
grant connect, resource to user01;
(2)revoke(撤消)權(quán)限
已授予的權(quán)限可以撤消。例如撤消(1)中的授權(quán),命令如下:
revoke connect, resource from user01;
一個(gè)具有dba角色的用戶可以撤消任何別的用戶甚至別的dba的connect、resource 和dba的其他權(quán)限。當(dāng)然,這樣是很危險(xiǎn)的,因此,除非真正需要,dba權(quán)限不應(yīng)隨便授予那些不是很重要的一般用戶。 撤消一個(gè)用戶的所有權(quán)限,并不意味著從oracle中刪除了這個(gè)用戶, 也不會(huì)破壞用戶創(chuàng)建的任何表;只是簡(jiǎn)單禁止其對(duì)這些表的訪問(wèn)。其他要訪問(wèn)這些表的用戶可以象以前那樣地訪問(wèn)這些表。
四、創(chuàng)建角色
除了前面講到的三種系統(tǒng)角色----connect、resource和dba,用戶還可以在oracle創(chuàng)建自己的role。用戶創(chuàng)建的role可以由表或系統(tǒng)權(quán)限或兩者的組合構(gòu)成。為了創(chuàng)建role,用戶必須具有create role系統(tǒng)權(quán)限。下面給出一個(gè)create role命令的實(shí)例:
create role student;
這條命令創(chuàng)建了一個(gè)名為student的role。
一旦創(chuàng)建了一個(gè)role,用戶就可以給他授權(quán)。給role授權(quán)的grant命令的語(yǔ)法與對(duì)對(duì)用戶的語(yǔ)法相同。在給role授權(quán)時(shí),在grant命令的to子句中要使用role的名稱,如下所示:
grant select on class to student;
現(xiàn)在,擁有student 角色的所有用戶都具有對(duì)class 表的select權(quán)限。
五、刪除角色
要?jiǎng)h除角色,可以使用drop role命令,如下所示:
drop role student;
指定的role連同與之相關(guān)的權(quán)限將從數(shù)據(jù)庫(kù)中全部刪除。
六、刪除表的注意事項(xiàng)
在刪除一個(gè)表中的全部數(shù)據(jù)時(shí),須使用
Sql代碼
truncate table 表名
因?yàn)橛胐rop table,delete * from 表名時(shí),tablespace表空間該表的占用空間并未釋放,反復(fù)幾次drop,delete操作后,該tablespace上百兆的空間就被耗光了。
作者“技術(shù)總結(jié)”
- oracle創(chuàng)建刪除用戶示例分享(oracle刪除用戶命令及授權(quán))
- oracle創(chuàng)建表空間、授權(quán)、創(chuàng)建用戶、導(dǎo)入dmp文件
- Oracle給用戶授權(quán)truncatetable的實(shí)現(xiàn)方案
- Oracle數(shù)據(jù)庫(kù)的兩種授權(quán)收費(fèi)方式詳解
- oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限
- Oracle數(shù)據(jù)庫(kù)中的用戶授權(quán)、取消權(quán)限方式
- Oracle數(shù)據(jù)庫(kù)創(chuàng)建本地用戶、授予權(quán)限、創(chuàng)建表并插入數(shù)據(jù)實(shí)例代碼
相關(guān)文章
Oracle數(shù)據(jù)庫(kù)如何將表的某一列所有值用逗號(hào)隔開(kāi)去重后合并成一行
在做系統(tǒng)時(shí)經(jīng)常會(huì)遇到在?個(gè)字段中,?逗號(hào)或其他符號(hào)分隔存儲(chǔ)多個(gè)信息,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)如何將表的某一列所有值用逗號(hào)隔開(kāi)去重后合并成一行的相關(guān)資料,需要的朋友可以參考下2023-12-12
Oracle數(shù)據(jù)庫(kù)中通用的函數(shù)實(shí)例詳解
OracleSQL提供了用于執(zhí)行特定操作的專用函數(shù),這些函數(shù)大大增強(qiáng)了SQL語(yǔ)言的功能,下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)中通用函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-03-03
MySQL實(shí)現(xiàn)按分秒統(tǒng)計(jì)數(shù)據(jù)量方式
在MySQL中,通過(guò)使用GROUP BY結(jié)合時(shí)間處理函數(shù),可以有效統(tǒng)計(jì)每秒、每分鐘、每5分鐘、每10分鐘和每30分鐘的交易量,通過(guò)對(duì)transaction_time字段進(jìn)行格式化和分段,可以靈活調(diào)整統(tǒng)計(jì)的時(shí)間間隔,此方法適用于需要精確時(shí)間段統(tǒng)計(jì)的場(chǎng)景,如性能監(jiān)控、數(shù)據(jù)分析等2024-10-10
日常收集整理oracle trunc 函數(shù)處理日期格式(很實(shí)用)
關(guān)于oracle trunc函數(shù)小編日常收集整理了些,下面把oracle trunc 函數(shù)處理日期格式的相關(guān)介紹分享給大家,感興趣的朋友參考下2015-10-10
Oracle 查詢存儲(chǔ)過(guò)程做橫向報(bào)表的方法
Oracle 查詢存儲(chǔ)過(guò)程做橫向報(bào)表的方法,需要的朋友可以參考一下2013-03-03
Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問(wèn)題解決
訂單投資交易環(huán)境進(jìn)行 impdb 數(shù)據(jù)泵恢復(fù)數(shù)據(jù),執(zhí)行到一半,報(bào)錯(cuò)終止,歸檔策略保留時(shí)間較長(zhǎng),或歸檔頻率過(guò)高,導(dǎo)致數(shù)據(jù)庫(kù)掛載盤(pán)符空間不足,本文給大家分享Oracle 解決ORA-00257 Archiver error 報(bào)錯(cuò)問(wèn)題解決,感興趣的朋友一起看看吧2023-12-12
ORACLE中查找定位表最后DML操作的時(shí)間小結(jié)
在Oracle數(shù)據(jù)庫(kù)中,如何查找,定位一張表最后一次的DML操作的時(shí)間呢? 方式有三種,不過(guò)都有一些局限性,下面簡(jiǎn)單的解析、總結(jié)一下。感興趣的朋友跟隨小編一起看看吧2018-11-11
Oracle用戶密碼過(guò)期如何修改永不過(guò)期
針對(duì)不同的業(yè)務(wù)場(chǎng)景會(huì)有不一樣的業(yè)務(wù)需求,oracle的用戶密碼,生產(chǎn)環(huán)境肯定需要定期進(jìn)行更換,保證安全性,但是也同樣會(huì)有需求要求oracle用戶的密碼永遠(yuǎn)不過(guò)期,這篇文章主要給大家介紹了關(guān)于Oracle用戶密碼過(guò)期如何修改永不過(guò)期的相關(guān)資料,需要的朋友可以參考下2024-03-03
講解Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典及相關(guān)SQL查詢用法
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典及相關(guān)SQL查詢用法,是Oracle入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-03-03

