ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 详解oracle用户创建(中)

详解oracle用户创建(中)

原创 Linux操作系统 作者:pingley 时间:2012-02-10 18:11:30 0 删除 编辑
详解oracle用户创建(create user)(中)
更改用户的密码:
除了使用alter user命令修改用户的密码以后,可以在sql*plus中使用password关键字修改
密码。
SQL> conn hr/hr
已连接。
SQL> password
更改 HR 的口令
旧口令:
新口令:
重新键入新口令:
口令已更改
SQL> conn system as sysdba
输入口令:
已连接。
SQL> password scott   //DBA可以使用password+username修改其他用户的密码。
更改 scott 的口令
新口令:
重新键入新口令:
口令已更改
在pl/sql等其他工具中该命令是无法使用的。

给用户授予create session特权,以创建会话:
SQL> conn system as sysdba
输入口令:
已连接。
SQL> grant create session to oracleusr;
授权成功。
SQL> conn oracleusr
输入口令:
已连接。
这样用户就可以创建会话登录到oracle数据库中了.

锁定用户账号,当用户登录的时候会报ORA-28000的错误:
SQL> alter user oracleusr account lock;
用户已更改。
SQL> conn oracleusr
输入口令:
ERROR:
ORA-28000: 帐户已被锁定

设置用户密码的状态:
密码过期以后用户登录的时候会提示修改密码,并报ORA-28001错误。
SQL> alter user oracleusr password expire;
用户已更改。
SQL> conn oracleusr
输入口令:
ERROR:
ORA-28001: 口令已经失效
更改 oracleusr 的口令
新口令:
重新键入新口令:
口令已更改
已连接。

删除用户账户:
SQL> create user testuser identified by oracle11g;
用户已创建。
SQL> drop user testuser;
用户已删除。
请谨慎删除用户,删除用户的同时用户对应的schema中的对象也将被删除.

用户信息的查询:
很多时候只靠查询dba_users数据字典,用户的相关信息还可以查询:
dba_ts_quotas查询用户所在永久表空的配额等信息。
其实数据库中的很多用户都不需要磁盘配额,因为他们只需要其他schema中对象的访问与操作
特权。
SQL> select tablespace_name,bytes,max_bytes
  2  from dba_ts_quotas
  3  where username='ORACLEUSR';
 
TABLESPACE_NAME                     BYTES  MAX_BYTES
------------------------------ ---------- ----------
USERS                                   0   10485760

database_properties查询有关默认临时表空间,永久表空间的设置情况。
max_bytes如果值是-1表示在对应的表空间中的磁盘配额是unlimited。

关于profile:
profile用于设置一系列的数据库资源使用限制。把profile分配给用户,用户的资源使用
被设置在profile的限制之内。使用create profile 创建profile.使用create user或
alter user给用户分配profile.

profile中的限制又分为两种:
resource_parameters:
sessions_per_user:指定用户并发的会话数。
cpu_per_session:以百分之一秒为单位,指定用户的CPU占用时间。
cpu_per_call:以百分之一秒,指定一次调用的的CPU占用时间。
connect_time:以分为单位,指定会话的持续时间。
idle_time:以分为单位,指定会话的空闲时间。
logical_reads_per_session:指定允许的logical reads 块数量。
logical_reads_per_call:指定一次调用允许的logical reads块数量。
private_sga:一个会话在SGA共享池中分配的私有会话空间的大小。
该参数只有在共享服务器模式下才有效。
composite_limit:以服务单元指定一个会话总的资源开销。oracle会根据cpu_per_session,
connect_time,logical_reads_per_session,private_sga的加权值来计算service units。

SQL> create profile new_profile1 limit  //profile名称new_profile1
  2  sessions_per_user  5               //用户的同时并发会话数5
  3  cpu_per_session   unlimited        //会话的CPU占用时间无限制
  4  cpu_per_call 6000                  //一次调用不能占用CPU的时间不能超过60秒
  5  connect_time 60                    //单个会话持续的时间不能超过60分钟
  6  logical_reads_per_session 1500     //单个会话所能允许的逻辑读块数:1500
  7  logical_reads_per_call default     //一次调用的所能允许的逻辑读块数使用默认值
  8  private_sga 10k                    //单个会话可以占用的sga的内存空间:10kb
  9  composite_limit 5000000;           //复合资源限制的数量500万服务单元。
配置文件已创建
此处没有指定idle_time,password_parameters的参数,所有点那个把new_profile1分配给用户
的时候,这些限制将使用default profile中的默认值。

给用户分配profile:
SQL> alter user oracleusr profile new_profile1;
用户已更改。
如果用户在创建的时候不指定profile,oracle会自动把default profile分配给用户.

password_parameters:
failed_login_attempts:用户账户被锁定前,用户登录的尝试次数,默认值是10次。
password_life_time:指定密码过期的时间,默认值是180天。
password_reuse_time:当前密码可以重用以前必须经过的时间间隔。
password_reuse_max:当前密码可以被重用前需要修改的次数。
以上两个参数需要一同使用。
password_lock_time:当超过failed_login_attempts指定的值时,账户被锁定的天数。默认是一天。
password_grace_time:在password_life_time到期以后宽限用户使用原密码登录的天数
如果,在password_grace_time指定的天数内,旧密码仍有效,但是会提高用户更改密码。默认是7天。
password_verify_function:指定密码复杂度验证的PL/SQL函数,或第三方运用程序。不使用
密码验证函数,password_verify_function设置为null。

SQL>  create profile new_profile2 limit
  2   failed_login_attempts 3
  3   password_life_time 90
  4   password_reuse_time 180
  5   password_reuse_max 3
  6   password_verify_function null
  7   password_lock_time 1
  8   password_grace_time 5;
配置文件已创建
SQL> alter user oracleusr profile new_profile2;
用户已更改。
注意此时前面分配给用户的new_profile1就被new_profile2取代了。
在new_profile中未指定的resource_parameters会自动使用default profile中的默认值。
所有应该把所有的资源限制写在同一个profile中。

补充上节内容:
上节中提到了oracle的预置账户:sys,system
sys与system都具有很高的权限,都被授予了dba角色。但是sys的权限要高于system,sys用户
可以执行system用户无法执行的:数据库升级、数据库备份与恢复。system用户主要用于执行
数据库的日常管理工作。
注:数据库中数据库字典包含的所有的基表与视图都存储在sys schema中。这些基表与视图
对数据库的运行十分的关键,为了保证数据字典的完整性,在sys schema中的基表只能被数据库
操作。system schema额外的用于数据库管理的表与视图。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26110315/viewspace-716039/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-02-06

  • 博文量
    169
  • 访问量
    741088