前言:使用Oracle開發(fā)系統(tǒng)過程中,會涉及到數(shù)據(jù)庫用戶的建立,及給該用戶分配權(quán)限。剛開始接觸開發(fā)的時候,對這些操作是一種茫茫然的狀態(tài)。后,經(jīng)過積累,對這方面有了一定的認(rèn)識,現(xiàn)總結(jié)一些,一則,鞏固自身,也希望收到大家的指正;再則,希望能幫助疑惑的童鞋,實現(xiàn)人生的小價值,嘿嘿嘿。
創(chuàng)建用戶以及授權(quán)代碼:
-- Create the user create user myName -- 創(chuàng)建用戶 identified by myPwd --設(shè)置密碼 default tablespace USERS --默認(rèn)表空間 USERS temporary tablespace TEMP --默認(rèn)臨時表空間 TEMP profile DEFAULT;-- Grant/Revoke role privileges 給用戶 授予/撤銷 角色權(quán)限grant ctxapp to myName; --沒有搞清意思,但是沒有這句話,運行時,語句好像報錯grant exp_full_database to myName; --賦給用戶 exp_full_database權(quán)限 有這個權(quán)限 就可以執(zhí)行全庫方式的導(dǎo)出grant imp_full_database to myName; --賦給用戶 imp_full_database權(quán)限 有這個權(quán)限 就可以執(zhí)行全庫方式的導(dǎo)入-- Grant/Revoke system privileges --給用戶授予/撤銷系統(tǒng)權(quán)限grant change notification to myName;grant create any directory to myName;--創(chuàng)建任何文件夾grant create any table to myName;--創(chuàng)建任何表grant drop any directory to myName;--刪除任何文件夾grant execute any procedure to myName;--執(zhí)行任何存儲過程grant unlimited tablespace to myName; --無限制的表空間配額--直接將某些角色所有的權(quán)限轉(zhuǎn)給用戶 grant ctxapp to myName; --沒有搞清意思,但是沒有這句話,運行時,語句好像報錯grant connect to myName;--將connect角色的權(quán)限給myName用戶 grant dba to myName; --將dba角色的權(quán)限給myName用戶 grant resource to myName;--將resource角色的權(quán)限給myName用戶
如上代碼所示,我創(chuàng)建用戶的代碼共有四個小塊,
第一步是創(chuàng)建用戶,并默認(rèn)表空間與臨時表空間(這兩個名詞解釋,在網(wǎng)上查閱了一番,還是有些茫然,先給出解釋的連接,再希望有心人能為我解惑),
第二步與第三步是授權(quán)給該用戶一些具體權(quán)限,各權(quán)限具體功能可參考注釋
第四步是分別將三個角色的權(quán)限轉(zhuǎn)給用戶,以下詳細(xì)介紹這三個角色
DBA:擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)(比較疑惑這個概念)。
CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實體(實體應(yīng)該就是數(shù)據(jù)庫,數(shù)據(jù)表、字段、觸發(fā)器、存儲過程等吧),不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。
對于普通用戶:授予connect, resource權(quán)限。
對于DBA管理用戶:授予connect,resource, dba權(quán)限。
注:數(shù)據(jù)庫結(jié)構(gòu)與實體的概念我也有些模糊,對其的理解只是猜測,在網(wǎng)上也沒有查詢到詳細(xì)概念,希望專家解惑。。。。
關(guān)于各角色的具體權(quán)限也可以通過以下sql語句進(jìn)行查詢
select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;select grantee,privilege from dba_sys_privs where grantee='CONNECT' order by privilege;select grantee,privilege from dba_sys_privs where grantee='DBA' order by privilege;
如圖:查詢的是 RESOURCE 角色的權(quán)限

關(guān)于創(chuàng)建用戶知識點的總結(jié)就到這里了,還有一些不足的地方,望大家指正。
另附上在cmd 命令框架中,導(dǎo)出,導(dǎo)入數(shù)據(jù)庫的語句,請大家一并笑納,嘿嘿
導(dǎo)出語句以及實例exp 用戶名/密碼@服務(wù)器IP/ORCL file=e:/0202daochu.dmp owner=(用戶名)exp myName/myPwd@127.0.0.1/ORCL file=e:/0202daochu.dmp owner=(myName)導(dǎo)入語句以及實例imp 用戶名/密碼@服務(wù)器IP/ORCL ignore=y full=y file=e:/0202daochu.dmp log=e:/log0202.log imp myName2/myPwd2@127.0.0.1/ORCL ignore=y full=y file=e:/0202daochu.dmp log=e:/log0202.log
以上語句是將 用戶名為 myName的數(shù)據(jù)庫導(dǎo)出,在E盤生成文件 0202daochu,
并通過導(dǎo)入語句,將數(shù)據(jù)庫內(nèi)容導(dǎo)入給myName2用戶,并生成日志文件
以上這篇Oracle數(shù)據(jù)庫創(chuàng)建用戶與數(shù)據(jù)庫備份小結(jié)(必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網(wǎng)。
大體操作流程: ctrl+r ,切出運行程序,輸入cmd ,在控制臺輸入以上相應(yīng)語句,即可,如下圖為導(dǎo)出myName數(shù)據(jù)庫

新聞熱點
疑難解答
圖片精選