標籤:style io os ar sp 資料 on log ad
新的需求,建立一個使用者,可以查詢基表的資料,但是不能修改,同時自己也可以建立對象
1.建立使用者
第一種方式 詳細常見,前提 資料表空間和暫存資料表空間必須存在
格式:
create user 使用者名稱 identified by 密碼
profile default
default tablespace 資料表空間名(一般就是users)
temporary tablespace 暫存資料表空間名(各不相同)
account unlock;
例子:
SQL> create user sun identified by xxxx
2 profile default
3 default tablespace users
4 temporary tablespace tempts01
5 account unlock;
第二種方式 預設建立(系統愛建哪建哪)
格式:
create user 使用者名稱 identified by 密碼;
例子:
SQL> create user sun identified by xxxx;
使用者已建立。
2.授權
建立好了之後直接登陸報錯,因為沒有許可權
例子:
SQL> conn sun/xxxx
ERROR:
ORA-01045: user SUN lacks CREATE SESSION privilege; logon denied
串連sys使用者,授權
SQL> conn / as sysdba
已串連。
說明connect,resource是基礎許可權
SQL> grant connect,resource to sun;
授權成功。
再次連結,成功,並查詢使用者擁有許可權
SQL> conn sun/xxxx
已串連。
SQL> select * from user_role_privs;
USERNAME GRANTED_ROLE ADMIN_ DEFAUL OS_GRA
------------------------------------------------------------ ------------------------------------------------------------ ------ ------ ------
SUN CONNECT NO YES NO
SUN RESOURCE NO YES NO
3.實現業務需要,基礎資料不變,但各自產生的資料再各自的表中
sun使用者為新使用者
scott用下面的表為基礎資料表,可查詢,不能修改
業務一:查看基表資料
SQL> conn scott/xxxx
已串連。
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------------------------------------
DEPT
EMP
BONUS
SALGRADE
TEST
將scott下的dept表的查詢許可權授予sun,實現可以查詢基礎資料表資料的功能
SQL> conn / as sysdba
已串連。
SQL> grant select on scott.dept to sun;
授權成功。
測試一下
SQL> conn sun/xxxx
已串連。
SQL> select * from dept;
select * from dept
*
第 1 行出現錯誤:
ORA-00942: 表或視圖不存在
這個錯誤是因為沒有指定使用者名稱,預設是在自己的使用者下尋找
再次尋找,成功,帥氣!
SQL> select * from scott.dept;
DEPTNO DNAME LOC
---------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
尋找其他的表,不成功,因為沒有授權
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出現錯誤:
ORA-00942: 表或視圖不存在
我們查詢一下sun使用者的許可權
SQL> select * from user_tab_privs;
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTA HIERAR
---------- -------- ------------- ---------- ----------- --------- --------
SUN SCOTT DEPT SCOTT SELECT NO NO
業務二:使用者自己可以建立對象
授權:
grant create any produce to 使用者名稱;
grant create any sequence to 使用者名稱;
grant create any view to 使用者名稱;
grant create any synonym to 使用者名稱;
Oracle 根據業務建立新的使用者