语法:
CREATE USER user
IDENTIFIED { BY password
| EXTERNALLY [ AS 'certificate_DN' ]
| GLOBALLY [ AS '[ directory_DN ]' ]
}
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA size_clause
| UNLIMITED
}
ON tablespace
[ QUOTA size_clause
| UNLIMITED
}
ON tablespace
]...
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
[ DEFAULT TABLESPACE tablespace
| TEMPORARY TABLESPACE
{ tablespace | tablespace_group_name }
| QUOTA size_clause
| UNLIMITED
}
ON tablespace
[ QUOTA size_clause
| UNLIMITED
}
ON tablespace
]...
| PROFILE profile
| PASSWORD EXPIRE
| ACCOUNT { LOCK | UNLOCK }
]...
] ;
size_clause::integer [ K | M | G | T | P | E ]
user:用户名称,在数据库中必须唯一
identified: 指明身份验证方式
by password:设置用户的数据库身份认证,password为密码
EXTERNALLY :用户的外部身份认证
GLOBALLY [ AS '[ directory_DN ]' :用户的全局身份认证,directory_DN 是oracle的一些服务器信息
DEFAULT TABLESPACE:用户设置的默认表空间,如果没有设置则是数据库的默认表空间
TEMPORARY TABLESPACE:临时表空间,如果没有设置则是数据库的默认临时表空间
QUOTA:用户在某个表空间上可以分配的最大表空间
PROFILE:指定用户的概要文件,默认是采用系统默认的概要文件
PASSWORD EXPIRE:设置用户的口令的初始状态为过期的,用户第一次登陆数据库时必须修改口令
ACCOUNT { LOCK | UNLOCK } :设置用户是否锁定
注意:在创建新用户后,必须为用户收取适当的权限,用户才可以进行相应的数据库操作,
例如:授予用户create session的权限后,用户才可以连接到数据库
1.认证方式是by password
CREATE USER sidney
IDENTIFIED BY out_standing1
DEFAULT TABLESPACE example
QUOTA 10M ON example
TEMPORARY TABLESPACE temp
QUOTA 5M ON system
PROFILE app_user
PASSWORD EXPIRE;
2.认证方式是 EXTERNALLY
CREATE USER app_user1
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE example
QUOTA 5M ON example
PROFILE app_user
3. 认证方式是 GLOBALLY
CREATE USER global_user
IDENTIFIED GLOBALLY AS 'CN=analyst, OU=division1, O=oracle, C=US'
DEFAULT TABLESPACE example
QUOTA 5M ON example;
-------------修改用户---------
语法:
size_clause::=
proxy_clause ::=
db_user_proxy::=
示例:
1. 把sidney 密码改成 second_2nd_pwd,默认表空间改成 example
ALTER USER sidney
IDENTIFIED BY second_2nd_pwd
DEFAULT TABLESPACE example;
2. 为用户sh 重新指定概要文件为 new_profile;
ALTER USER sh
PROFILE new_profile;
3. 除了dw_manager非default,其他都是
ALTER USER sh
DEFAULT ROLE ALL EXCEPT dw_manager;
4. 更改认证方式为 GLOBALLY
ALTER USER app_user1 IDENTIFIED GLOBALLY AS 'CN=tom,O=oracle,C=US';
5. 使sidney用的口令失效
ALTER USER sidney PASSWORD EXPIRE;
6.重新指定临时表空间 tbs_grp_01
ALTER USER sh
TEMPORARY TABLESPACE tbs_grp_01;
--------删除用户
1.如果用户下面没有对象则
DROP USER sidney;
2.如果用户下面有对象则
DROP USER sidney CASCADE;