创建用户语法:
CREATE USERusername [ IDENTIFIED BY 口令] | [ IDENTIFIED EXTERNALLY]
[DEFAULT TABLESPACE defaulttablespacename]
[TEMPORARY TABLESPACE tmpspacename]
[QUOTA [integer M | K] |[UNLIMITED ] ONdefaulttalespacename]
[QUOTA [integer M | K]|[UNLIMITED ] ON defaulttalespacename]………
[PROFILE {概要文件名 |DEFAULT}]
[PASSWORD EXPIRE]----指定口令到期
[ACCOUNT LOCK | UNLOCK];
修改用户语法:
ALTER USER username[IDENTIFIED BY 口令] |[IDENTIFIED EXTERNALLY] ----即外部验证(操作系统验证) identified by password 是数据库验证
[DEFAULT TABLESPACEdefaulttablespacename]
[TEMPORARY TABLESPACE tmptablespacename]
[QUOTA [integer M | K] |[UNLIMITED] ON defaulttablespacename]
[QUOTA [integer K|M]|[UNLIMITED] ON defaulttablespacename]……………
[PROFILE {概要文件名 |DEFAULT}]
[PASSWORD EXPIRE] ---即当用户第一次登陆时,弹出警告用户修改口令。
[ACCOUNTLOCK | UNLOCK]
[DEFAULTROLE{rolename[,rolename]…| ALL [EXCEPT rolename[,rolename]]|NONE}];
解释说明:
IDENTIFIED EXTERNALLY:表示该用户是通过外部验证的,比如操作系统验证。
IDENTIFIED BY :表示该用户是通过ORACLE数据库验证的。口令不区分大小写。口令的复杂度取决于概要文件。
PASSWORD EXPIRE: 表示指定口令过期。即登录后立即修改口令。
PROFILE:概要文件是指定用户口令资源、可用内核资源的重要文件。这些资源包括:连接时间、会话的空闲时间、每个会话的逻辑读取次数、失败的登录尝试次数、每个用户同时可用连接的会话个数等。使用概要文件设置这些资源之前需设置初始化文件中的参数 RESOURCE_LIMIT 参数为 TRUE;
删除该用户
DROP USER username;
如果该用户有对应的方案对象则;
DROP USER username CASCADE;
--CASCADE 表示在删除该用户之前,先将该用户拥有的所有对象删除。即会将该用户拥有的对象删除最后再删除该用户。
ORACLE许可证协议
许可证协议有两种:
1、 并发会话数许可证: LICENSE_MAX_SESSIONS表示能够限制同时连接到数据库的会 话数量。
LICENSE_SESSIONS_WARNING并发会话数的警告数。
2、 命名用户数许可证: LICENSE_MAX_USERS即限制被授权使用ORACLE的人数。
这3个参数是动态参数,可用通过修改初始化参数文件来设置。
外部身份验证
外部验证的账户也称为OPS$账户。即创建用户时,用户名前面加OPS$前缀。
使用操作系统验证的要求是:
1、数据库账户的格式为:XY\Z
X 表示OS_AUTHENT_PREFIX参数的值;
Y 表示数据库服务器的完整计算机名称;
Z 表示操作系统用户名。
要点说明:
该数据库账户中的字母必须是大写。由于有特殊字符\ 创建该数据库账户时,两边必须加双引号。
2、必须保证位于%ORACLE_HOME%\NETWORK\ADMIN目录中的sqlnet.ora文件中有SQLNET.AUTHENTICATION_SERVICES=(NTS);
3、如果使用远程操作系统验证,必须将初始化参数REMOTE_IS_AUTHENT设置为TRUE.
4、使用操作系统验证的登录方式:
A、本地操作系统验证:connect/,或登录SQL*PLUS时不使用用户名、口令、连接字符串。
B、远程操作系统验证:connect/@网络服务名,或登录SQL*PLUS时不使用用户名、口令,但是连接字符串为网络服务名。
---查询用户信息视图
dba_users 显示系统中所有用户信息,包括概要文件
all_users 显示系统中所有用户,没有详细的描述
user_users 显示当前用户详细信息
dba_ts_quotas 显示所有用在各个表空间上的配额
user_ts_quotas 显示当前用户在各个表空间上的配额
dba_sys_privs 显示用户所拥有的系统权限
dba_tab_privs 显示用户所拥有对象的权限
dba_role_privs 显示授权用户或角色的角色
user_role_privs 显示授予当前用户的角色
user_password_limits 显示分配给用户的口令配额
user_resource_limits 显示分配给用户系统内核资源的配额
v$session 显示当前会话详细信息
v$sesstat 显示当前会话统计信息
v$pwfile_users 显示特权用户的信息
use_tables 显示用户所创建的表信息
-----权限
system_privilege_map 视图包含了oracle数据库中所有的系统权限