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


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

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

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

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


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

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

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

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

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

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

3.创建用户:

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

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

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

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

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

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

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

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

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

4.更改用户:

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

4.1 更改用户默认表空间:

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

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

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

4.2 更改用户临时表空间:

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

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

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

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

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

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

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

也可以通过password 命令修改:

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

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

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

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

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

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



5.删除用户:

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

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

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

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

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

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

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

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

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

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

linux 下用 kill杀死进程:

   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. Easyui combotree 获取自定义ID属性方法

    1.设置属性 <input id="cc" class="easyui-combotree" data-options="url:'tree_d ...

  2. jquery.easyui.tabs 中的首个tabs被最后tabs覆盖的问题解决方法

    这是由于tabs对href重载的的问题导致,因此我们需要将href更改为其它自定义的属性即可避免此问题的发生. 解决方法如下: 第一步页面端: 循环体开始 <li> <div> ...

  3. node中的socket.io制作命名空间

    如果开发者想在一个特定的应用程序中完全控制消息与事件的发送,只需要使用一个默认的"/"命名空间就足够了.但是如果开发者需要将应用程序作为第三方服务提供给其他应用程序,则需要为一个用 ...

  4. MessageBox 函数

    函数原型: int WINAPI MessageBox( _In_opt_ HWND hWnd, _In_opt_ LPCTSTR lpText, _In_opt_ LPCTSTR lpCaption ...

  5. 禁用Java JDK的自动更新

  6. Redis实战——简单介绍

    出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...

  7. Oracle11gR2导入导出实战之物化视图prebuilt

    源实例上创建表 物化视图 oracle@localhost admin]$ sqlplus system/oracle@orcl2 SQL*Plus: Release 11.2.0.4.0 Produ ...

  8. linux下使用adb查看android手机的logcat

    root@ubuntu:/home/song# adb logcat -s VLC

  9. Android MVP模式简单易懂的介绍方式 (一)

    Android MVP模式简单易懂的介绍方式 (一) Android MVP模式简单易懂的介绍方式 (二) Android MVP模式简单易懂的介绍方式 (三) 最近正在研究Android的MVP模式 ...

  10. django-rest-swagger

    前提工作 pip3 install --user django>=2.0.0 pip3 install --user django-rest-swagger 安装完成之后,创建一个django项 ...