1.关于创建用户;
2.用户配置文件;
3.创建用户;
4.更改用户;
5.删除用户;

1.关于创建用户:
1.1 用户名:创建数据库用户必须具有 Create user 系统权限,必须指定用户名和密码;用户名字母大小写不受限制,除非指定用户名时使用了双引号(如"tS"),这种形式创建的用户使用时必须严格区分大小写;
1.2 表空间:在未指定默认表空间时默认是:USERS表空间,表空间空间的使用默认是不允许写入(我的理解是quota=0m);用户创建的对象、DDL在未指定表空间时都会存储在用户默认表空间下;
1.3 临时表空间: 在未指定临时表空间时默认是:TEMP,当用户执行的sql语句需要排序(sort)和join时需要使用临时表空间;
1.4用户配置文件(PROFILE):  PROFILE是控制和管理系统资源和密码配置的系统文件,当数据库用户连接到数据库时,数据库加载用户对应的配置文件参数值管理数据库用户资源使用和密码参数配置情况,默认配置文件为:DEFAULT,有一定限制(如登录错误次数,有效期),用户可以根据业务需求创建用户配置文件管理进程的资源使用和密码参数配置,当一个进程所使用的资源超过配置文件设定值时,系统终止该进程,由 Process Monitor(PMON)后台进程清理该进程所使用的系统资源并返回给系统;

2.用户配置文件:
2.1 查询'DEFAULT' 用户配置文件:

  1. 1: OPS$SYWU@sydb>select profile,resource_name,resource_type,limit from dba_profiles where profile='DEFAULT';
  1. 2:  
  1. 3: PROFILE RESOURCE_NAME RESOURCE LIMIT
  1. 4: ------------------------------ -------------------------------- -------- ----------------------------------------
  1. 5: DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED
  1. 6: DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED
  1. 7: DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
  1. 8: DEFAULT CPU_PER_CALL KERNEL UNLIMITED
  1. 9: DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED
  1. 10: DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED
  1. 11: DEFAULT IDLE_TIME KERNEL UNLIMITED
  1. 12: DEFAULT CONNECT_TIME KERNEL UNLIMITED
  1. 13: DEFAULT PRIVATE_SGA KERNEL UNLIMITED
  1. 14: DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
  1. 15: DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
  1. 16: DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
  1. 17: DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
  1. 18: DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL
  1. 19: DEFAULT PASSWORD_LOCK_TIME PASSWORD 1
  1. 20: DEFAULT PASSWORD_GRACE_TIME PASSWORD 7

  1.  

可以根据系统业务情况自己创建用户配置文件(要具有Create profile 系统权限):

  1. 1: OPS$SYWU@sydb>create profile test_profile limit
  1. 2: 2 failed_login_attempts 3
  1. 3: 3 logical_reads_per_session 1
  1. 4: 4 /
  1. 5:  
  1. 6: Profile created.
  1. 7:  
  1. 8: OPS$SYWU@sydb>create profile general_profile limit
  1. 9: 2 COMPOSITE_LIMIT UNLIMITED
  1. 10: 3 SESSIONS_PER_USER UNLIMITED
  1. 11: 4 CPU_PER_SESSION UNLIMITED
  1. 12: 5 CPU_PER_CALL UNLIMITED
  1. 13: 6 LOGICAL_READS_PER_SESSION UNLIMITED
  1. 14: 7 LOGICAL_READS_PER_CALL UNLIMITED
  1. 15: 8 IDLE_TIME UNLIMITED
  1. 16: 9 CONNECT_TIME UNLIMITED
  1. 17: 10 PRIVATE_SGA UNLIMITED
  1. 18: 11 FAILED_LOGIN_ATTEMPTS UNLIMITED
  1. 19: 12 PASSWORD_LIFE_TIME UNLIMITED
  1. 20: 13 PASSWORD_REUSE_TIME UNLIMITED
  1. 21: 14 PASSWORD_REUSE_MAX UNLIMITED
  1. 22: 15 PASSWORD_VERIFY_FUNCTION NULL
  1. 23: 16 PASSWORD_LOCK_TIME UNLIMITED
  1. 24: 17 PASSWORD_GRACE_TIME UNLIMITED
  1. 25: 18 /
  1. 26:  
  1. 27: Profile created.

2.2 修改用户配置文件参数(要具有 Alert Profile 系统权限):

  1. 1: OPS$SYWU@sydb>alter profile test_profile limit LOGICAL_READS_PER_SESSION unlimited;
  1. 2:  
  1. 3: Profile altered.


2.3 删除用户配置文件(要具有 Drop Profile 系统权限),不能删除默认配置文件'DEFAULT',当删除已经分配给用户的配置文件时,要加cascade子句,系统删除配置文件并将关联该配置文件的用户配置文件修改为系统默认配置文件'DEFAULT':

  1. 1: SYS@sydb>select username,profile from dba_users where username='OPS$SYWU';
  1. 2:  
  1. 3: USERNAME PROFILE
  1. 4: ------------------------------ ------------------------------
  1. 5: OPS$SYWU TEST_PROFILE
  1. 6:  
  1. 7: SYS@sydb>drop profile test_profile cascade;
  1. 8:  
  1. 9: Profile dropped.
  1. 10:  
  1. 11: SYS@sydb>select username,profile from dba_users where username='OPS$SYWU';
  1. 12:  
  1. 13: USERNAME PROFILE
  1. 14: ------------------------------ ------------------------------
  1. 15: OPS$SYWU DEFAULT

2.4 查询当前Session 用户配置文件系统参数的设置值:

  1. 1: OPS$SYWU@sydb>select resource_name,limit from user_resource_limits;
  1. 2:  
  1. 3: RESOURCE_NAME LIMIT
  1. 4: -------------------------------- ----------------------------------------
  1. 5: COMPOSITE_LIMIT UNLIMITED
  1. 6: SESSIONS_PER_USER UNLIMITED
  1. 7: CPU_PER_SESSION UNLIMITED
  1. 8: CPU_PER_CALL UNLIMITED
  1. 9: LOGICAL_READS_PER_SESSION UNLIMITED
  1. 10: LOGICAL_READS_PER_CALL UNLIMITED
  1. 11: IDLE_TIME UNLIMITED
  1. 12: CONNECT_TIME UNLIMITED
  1. 13: PRIVATE_SGA UNLIMITED

2.5 查询当前Session 用户配置文件密码参数的设置值:

  1. 1: OPS$SYWU@sydb>select resource_name,limit from user_password_limits;
  1. 2:  
  1. 3: RESOURCE_NAME LIMIT
  1. 4: -------------------------------- ----------------------------------------
  1. 5: FAILED_LOGIN_ATTEMPTS 10
  1. 6: PASSWORD_LIFE_TIME 180
  1. 7: PASSWORD_REUSE_TIME UNLIMITED
  1. 8: PASSWORD_REUSE_MAX UNLIMITED
  1. 9: PASSWORD_VERIFY_FUNCTION NULL
  1. 10: PASSWORD_LOCK_TIME 1
  1. 11: PASSWORD_GRACE_TIME 7

3.创建用户:

3.1 创建一个缺省用户(要具有 Create User 系统权限):

  1. 1: OPS$SYWU@sydb>create user test
  1. 2: 2 identified by test
  1. 3: 3 /
  1. 4:  
  1. 5: User created.
  1. 6: OPS$SYWU@sydb>grant create session,resource to test;
  1. 7:  
  1. 8: Grant succeeded.

系统使用缺省的默认表空间:Users(对该表空间的空间没有使用权限),默认临时表空间:temp,默认的用户配置文件:DEFAULT,缺省用户不具有任何权限,需要赋于权限后才能使用;

  1. 1: OPS$SYWU@sydb>select username,default_tablespace,temporary_tablespace,profile,account_status from dba_users where username='TEST';
  1. 2:  
  1. 3: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE PROFILE ACCOUNT_STATUS
  1. 4: ------------------------------ ------------------------------ ------------------------------ ------------------------------ -----------------
  1. 5: TEST USERS TEMP DEFAULT OPEN

3.2 创建一个自定义非缺省用户:

  1. 1: OPS$SYWU@sydb>create user test1
  1. 2: 2 identified by test1
  1. 3: 3 default tablespace tbs01
  1. 4: 4 temporary tablespace temp
  1. 5: 5 quota unlimited on tbs01
  1. 6: 6 quota 100m on tbs02
  1. 7: 7 profile general_profile
  1. 8: 8 /
  1. 9:  
  1. 10: User created.
  1. 11: OPS$SYWU@sydb>grant create session,resource to test1;
  1. 12:  
  1. 13: Grant succeeded.

3.3 用户表空间空间使用情况:

  1. 1: OPS$SYWU@sydb>conn test1/test1
  1. 2: TEST1@sydb>select tablespace_name,bytes,max_bytes,blocks,max_blocks from user_ts_quotas;
  1. 3:  
  1. 4: TABLESPACE_NAME BYTES MAX_BYTES BLOCKS MAX_BLOCKS
  1. 5: ------------------------------ ---------- ---------- ---------- ----------
  1. 6: TBS02 0 104857600 0 12800
  1. 7: TBS01 0 -1 0 -1

MAX_BYTES =-1 表示unlimited;非-1表示用户在该表空间上可以使用的空间最大值;

4.更改用户:

可以在用户创建后更改默认表空间、临时表空间、空间限额、用户配置文件、密码,必须具有 Alter User 系统权限:

4.1 更改用户默认表空间:

  1. 1: OPS$SYWU@sydb>alter user test1 default tablespace tbs02;
  1. 2:  
  1. 3: User altered.

更改默认表空间同时更改空间限额:

  1. 1: OPS$SYWU@sydb>alter user test1 default tablespace tbs02 quota unlimited on tbs02;
  1. 2:  
  1. 3: User altered.

4.2 更改用户临时表空间:

  1. 1: OPS$SYWU@sydb>alter user test1 temporary tablespace temp;
  1. 2:  
  1. 3: User altered.

不能在临时表空间上设置空间限额,临时表空间的使用情况可以查询v$tempfile和dba_temp_files 视图:

  1. 1: OPS$SYWU@sydb>select file_name,tablespace_name,bytes,blocks,status,maxbytes,maxblocks,user_bytes,user_blocks from dba_temp_files;
  1. 2:  
  1. 3: FILE_NAME TABLESPACE_NAME BYTES BLOCKS STATUS MAXBYTES MAXBLOCKS USER_BYTES USER_BLOCKS
  1. 4: ------------- ------------------------------ ---------- ---------- ------- ---------- ---------- ---------- -----------
  1. 5: /u01/app/orad TEMP 378535936 46208 ONLINE 3.4360E+10 4194302 377487360 46080
  1. 6: ata/sydb/temp
  1. 7: 01.dbf

4.3 更改用户配置文件(要具有Alter Profile系统权限):

  1. 1: OPS$SYWU@sydb>alter user test1 profile default;
  1. 2:  
  1. 3: User altered.

4.4 更改用户密码(要具有Alter User系统权限):

  1. 1: OPS$SYWU@sydb>alter user test1 identified by test1;
  1. 2:  
  1. 3: User altered.

也可以通过password 命令修改:

  1. 1: OPS$SYWU@sydb>password test1
  1. 2: Changing password for test1
  1. 3: New password:
  1. 4: Retype new password:
  1. 5: Password changed

sys 用户密码也可以像这样修改,但通常情况下sys密码丢失或忘记,并且没有其它用户具有Alter User 系统权限时不得不通过在DBA用户组下通过ORAPWD重新建立密码文件;

  1. 1: [sywu@wusuyuan dbs]$ orapwd file=/u01/app/product/11.2.0/db_1/dbs/orapwsydb entries=10 force=y
  1. 2:  
  1. 3: Enter password for SYS:

Windows 下密码文件在ORACLE_HOME/database/ ,密码文件名称格式为:pwdsid.ora;SO,Alter User 系统权限很大,应避免生成库上使用;

以上更改用户命令也可以这样:

  1. 1: OPS$SYWU@sydb>alter user test1
  1. 2: 2 identified by test1
  1. 3: 3 default tablespace tbs01
  1. 4: 4 quota unlimited on tbs01
  1. 5: 5 quota 10m on users
  1. 6: 6 temporary tablespace temp
  1. 7: 7 profile test_profile
  1. 8: 8 /
  1. 9:  
  1. 10: User altered.



5.删除用户:

删除用户必须具有Drop User系统权限,如果有主外键或其它用户对象关联时原则上应先检查这些数据确认是否有用,确认后删除对象关联关系;也可以在删除用户时使用CASCADE语句删除对象关联关系并删除用户;可以通过检查系统视图确认关联对象;

  1. 1: OPS$SYWU@sydb>SELECT OBJECT_NAME,SUBOBJECT_NAME,DATA_OBJECT_ID,OBJECT_TYPE,STATUS FROM DBA_OBJECTS WHERE OWNER LIKE 'OPS$SYWU';

当有会话连接该用户时,必须先断开连接才能删除用户;

  1. 1: OPS$SYWU@sydb>drop user test1;
  1. 2: drop user test1
  1. 3: *
  1. 4: ERROR at line 1:
  1. 5: ORA-01940: cannot drop a user that is currently connected

可以这样处理,先查询出用户会话信息:

  1. 1: OPS$SYWU@sydb>select sid,serial# ,username from v$session where username='TEST1';
  1. 2:  
  1. 3: SID SERIAL# USERNAME
  1. 4: ---------- ---------- ------------------------------
  1. 5: 16 41 TEST1

在数据库系统上杀死该会话进程:

  1. 1: OPS$SYWU@sydb>alter system kill session '16,41';
  1. 2:  
  1. 3: System altered.

如果这样杀不死,可以先查询出进程信息,然后在操作系统上杀死进程:

  1. 1: OPS$SYWU@sydb>select spid, osuser,s.sid,s.username,s.program from
  1. 2: v$process p, v$session s where p.addr=s.paddr and s.username='TEST1';

linux 下用 kill杀死进程:

  1. 1: [sywu@wusuyuan ~]$ kill -s 9 2310

Windows 下用 oraKill(注:要在数据库端操作):
orakill sid spid;

sid 是:实例名,spid 是进程ID(注意中间不要加逗号);

最后在删除用户:

OPS$SYWU@sydb>drop user test1 cascade;




Oracle 用户的更多相关文章

  1. Oracle用户被锁原因及办法

    Oracle用户被锁原因及办法   在登陆时被告知test用户被锁 1.用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间 SQL> alter session set nl ...

  2. oracle 用户与表空间关系

    oracle用户与表空间关系用户=商家表=商品表空间=仓库1. 1个商家能有很多商品,1个商品只能属于一个商家2. 1个商品可以放到仓库A,也可以放到仓库B,但不能同时放入A和B3. 仓库不属于任何商 ...

  3. Oracle 用户管理与权限控制

    Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...

  4. 【密码】Oracle用户密码系列

    [密码]Oracle用户密码系列 1.1  BLOG文档结构图 1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识, ...

  5. oracle用户创建及权限设置及表空间

    建立表空间: create tablespace portx_data datafile 'D:\oracle_data\portx.dbf' size 50m autoextend on next ...

  6. 【oracle】解锁oracle用户,unlock

    解除oracle用户的锁定状态,例如oracle数据库建立测试实例时默认建立的scott用户,一开始是处于locked状态的,现在我们需要将其解锁,步骤如下: (1)在cmd中登录sqlplus,例如 ...

  7. oracle 用户的管理<二>

    oracle 用户的管理 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用. create user 用户名 ...

  8. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  9. oracle用户创建及权限设置

    权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...

  10. Oracle用户,权限,角色以及登录管理 scoot 授权

    Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em.除非你对它授予了sysdba的系统权限或者syspoer系统权限. sy ...

随机推荐

  1. 【转】WebAPI使用多个xml文件生成帮助文档

    来自:http://www.it165.net/pro/html/201505/42504.html 一.前言 上篇有提到在WebAPI项目内,通过在Nuget里安装(Microsoft.AspNet ...

  2. MongoDB day04

    文件存储 文件存储到数据库的方式 1. 存储路径 将文件在本地的路径以字符串形式存储到数据库 优点 : 节省数据库空间 缺点 : 当数据库或者文件位置发生变化时文件丢失. 2. 存储文件本身 以二进制 ...

  3. Linux常用命令英文缩写

    命令缩写: ls:list(列出目录内容) cd:Change Directory(改变目录) su:switch user 切换用户      (ubuntu 使用管理员权限 是 sudo) rpm ...

  4. PoJ 1595 PrimeCuts

    Prime Cuts Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9339   Accepted: 3562 Descri ...

  5. JAVA线程分析定位排查

    java开发中有的时间经常遇到某个线程消耗CPU高的问题,但是不清楚这个线程在做什么. 于是网上看了一些文章,找到了一个比较靠谱的办法(Linux下,Windows同理) : 首先使用top确认是否消 ...

  6. Linux基础综合练习

    Linux基本操作综合练习 1.建立用户zhangsan,密码使用明文123456: 命令:useradd -p 123456 zhangsan 解释: 参数 -p 添加明文密码 useradd添加用 ...

  7. Linux HDD information (SATA/SCSI/SAS/SSD)

    举例一: [reistlin@reistlin.com ~]$ cat /proc/scsi/scsi | grep Model Vendor: ATA Model: OCZ-VERTEX2 3.5 ...

  8. Novell云计算

    老牌操作系统NetWare,淡出人们的视野,已记不清是哪一年的事了.不过,它的拥有者-NOVELL公司,却没有像自己曾经红极一时的OS那样被人遗忘.相反,在今天云计算的大潮中,Novell华丽转身,摇 ...

  9. mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置

    转自:https://lihaiming.iteye.com/blog/2248059 在ibatis中不需要关注这些参数 而转到mybatis后 如果字段值为空 必须设置jdbcType如inser ...

  10. ffmpeg源码分析四:transcode_step函数 (转4)

    原帖地址:http://blog.csdn.net/austinblog/article/details/25099979 该函数的主要功能是一步完整的转换工作,下面看看源代码: static int ...