創建數據庫

1.創建表空間

        CREATE TABLESPACE 'test_space'  logging datafile 'f:/oracle/oracledata/test.ora' 

        size   5M  extent management local uniform segment space management auto

2.刪除表空間

        DROP TABLESPACE test_space;

3.創建數據庫

CREATE DATABASE test DATAFILE ''f:/oracle/test/test01.dbf' SIZE 100M
LOGFILE GROUP1 ('f:/oracle/test/test1a/test1a.log',
'f:/oracle/testa/test1b.log'') SIZE 500K,
GROUP2 ('f:/oracle/test/test1b/test1a.log',
'f:/oracle/test/test1b/test1b.log') SIZE 500K
CHARACTER SET ZHS16CGB231280;

4.創建用戶

       create user test identified by test default tablespace test_space temporary

       tablespace   temp;

5.給用戶授權 

       GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
       DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
       DBA,CONNECT,RESOURCE,CREATE SESSION TO test
6.角色操作

a.建一個角色
sql>create role role1;
b.授權給角色
sql>grant create any table,create procedure to role1;
c.授予角色給用戶
sql>grant role1 to user1;
d.查看角色所包含的權限
sql>select * from role_sys_privs;
e.創建帶有口令以角色(在生效帶有口令的角色時必須提供口令)
sql>create role role1 identified by password1;
f.修改角色:是否需要口令
sql>alter role role1 not identified;
sql>alter role role1 identified by password1;
g.設置當前用戶要生效的角色
(注:角色的生效是一個什麼概念呢?假設用戶a有b1,b2,b3三個角色,那麼如果b1未生效,則b1所包含的權限對於a來講是不擁有的,只有角色生效了,角色內的權限才作用於用戶,最大可生效角色數由參數MAX_ENABLED_ROLES設定;在用戶登錄後,oracle將所有直接賦給用戶的權限和用戶默認角色中的權限賦給用戶。)
sql>set role role1;//使role1生效
sql>set role role,role2;//使role1,role2生效
sql>set role role1 identified by password1;//使用帶有口令的role1生效
sql>set role all;//使用該用戶的所有角色生效
sql>set role none;//設置所有角色失效
sql>set role all except role1;//除role1外的該用戶的所有其它角色生效。
sql>select * from SESSION_ROLES;//查看當前用戶的生效的角色。
h.修改指定用戶,設置其默認角色
sql>alter user user1 default role role1;
sql>alter user user1 default role all except role1;
詳見oracle參考文檔
i.刪除角色
sql>drop role role1;
角色刪除後,原來擁用該角色的用戶就不再擁有該角色了,相應的權限也就沒有了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章