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;
角色刪除後,原來擁用該角色的用戶就不再擁有該角色了,相應的權限也就沒有了