1) 创建用户
- CREATE USER "SYSADMIN" PROFILE "DEFAULT" IDENTIFIED BY "sysman" PASSWORD EXPIRE DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
授予角色与权限
- GRANT CONNECT,RESOURCE TO "SYSADMIN"
授予SYSDBA权限(注意跟DBA角色区分)
查看哪些用户拥有SYSDBA/SYSOPER/SYSASM权限
- select * from v$pwfile_users;
授予SYSDBA权限的用户,可以以自身登录,也可以以SYSDBA权限登录(登录后,用户为SYS),可以在数据库关闭的情况下,完成认证/操作等。
而授予DBA角色的用户,只能以自身登录,该角色只能在数据库完全启动后才有存在的基础,才能发挥作用
2) 为操作系统用户will建立一个无密码访问(操作系统认证)
- show parameter os_authent_prefix;
- NAME TYPE VALUE
- -------------------------------------
- os_authent_prefix string ops$
- CREATE USER "OPS$WILL" PROFILE "DEFAULT" IDENTIFIED EXTERNALLY DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
- GRANT "CONNECT" TO "OPS$WILL"
注意: 需要配置好环境变量PATH ORACLE_BASE ORACLE_HOME ORACLE_SID.
3) 创建用户后,赋予权限与角色
I) 一个用户要能登录系统,就要至少有创建session的权限
- GRANT "CREATE SESSION" TO "USERNAME"
II) 如果创建用户时没有指定表空间,则默认表空间世system表空间。
如果创建用户时没有指定临时表空间, 则默认临时表空间为数据库默认临时表空间。
如果创建用户时没有为表空间指定QUOTA, 则默认能使用的表空间大小为0字节。
注: 最好在创建用户的时候就要指定好表空间和临时表空间。
- SQL> select USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE from dba_users where username='OPS$WILL';
- USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
- ------------------------------------------------------------
- OPS$WILL USERS TEMP
- SQL> SELECT * FROM dba_ts_quotas WHERE USERNAME='OPS$WILL';
- no rows selected
表示此时能使用的表空间大小为0字节
- SQL> ALTER USER OPS$WILL quota 100M on USERS;
- User altered.
- SQL> SELECT * FROM dba_ts_quotas WHERE USERNAME='OPS$WILL';
- TABLESPACE_NAME USERNAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS DROPPE
- ------------------------------------------------------------------------------------------
- USERS OPS$WILL 0 104857600 0 12800 NO
阅读(284) | 评论(0) | 转发(0) |