Oracle创建用户的语法:
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:用户名,一般为字母数字型和“#”及“_”符号。 IDENTIFIED BY password:用户口令,一般为字母数字型和“#”及“_”符号。 IDENTIFIED EXETERNALLY:表示用户名在操作系统下验证,该用户名必须与操作系统中所定义的用户名相同。 IDENTIFIED GLOBALLY AS 'CN=user':用户名由Oracle安全域中心服务器验证,CN名字表示用户的外部名。 [DEFAULT TABLESPACE tablespace]:默认的表空间。 [TEMPORARY TABLESPACE tablespace]:默认的临时表空间。 [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用户可以使用的表空间的字节数。 [PROFILES profile_name]:资源文件的名称。 [PASSWORD EXPIRE]:立即将口令设成过期状态,用户再登录前必须修改口令。 [ACCOUNT LOCK or ACCOUNT UNLOCK]:用户是否被加锁,默认情况下是不加锁的。 --示例
CREATE PROFILE PRO_USER limit failed_login_attempts 5 password_lock_time 3--SELECT * FROM DBA_PROFILES;--DROP PROFILE PRO_USER CASCADE;--关于PROFILE 设置,可以查看:http://blog.csdn.net/huang_xw/article/details/6530635--创建账号CREATE USER TEST identified by test profile pro_user default tablespace users quota 100m on users temporary tablespace temppassword expire account unlock --select * from dba_users;
--修改密码ALTER USER TEST IDENTIFIED BY NEWPWD;--修改PROFILEALTER USER TEST PROFILE NEWPROFILE;--删除账号DROP USER TEST [CASCADE];
--授系统权限
--语法GRANT privilege [,privilege…] TO user [, user|role, PUBLIC…] [WITH ADMIN OPTION];GRANT CREATE SESSION ,CREATE TABLE ,UNLIMITED TABLESPACE TO TEST;GRANT CONNECT ,RESOURCE TO TEST WITH ADMIN OPTION;--REVOKE CONNECT,RESOURCE FOM TEST;select * from dba_sys_privs; --查看系统权限
--授对象权限
--语法GRANT object_privilege [columns…] ON object TO user [, user|role, PUBLIC…] [WITH GRANT OPTION];GRANT SELECT ,UPDATE(EMPNO,SAL),INSERT,DELETE ON SCOTT.EMP TO TEST;REVOKE privilege ON object FROM { user|role|PUBLIC};REVOKE SELECT ,UPDATE(EMPNO,SAL),INSERT,DELETE FROM TEST;select * from dba_tab_privs ; --查看对象权限
--角色
--角色与账号基本相同 ,角色可以授予给用户。