博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户管理
阅读量:5924 次
发布时间:2019-06-19

本文共 7174 字,大约阅读时间需要 23 分钟。

创建用户操作的核对清单

1.确定用户需要在其中存储对象的表空间。

2.确定每个表空间的限额。

3.指定一个缺省表空间与临时表空间。

4.创建用户。

5.向用户授予权限与角色

查看表空间

1 SQL> desc dba_tablespaces 2  Name                       Null?    Type 3  ----------------------------------------- -------- ---------------------------- 4  TABLESPACE_NAME               NOT NULL VARCHAR2(30) 5  BLOCK_SIZE                   NOT NULL NUMBER 6  INITIAL_EXTENT                     NUMBER 7  NEXT_EXTENT                        NUMBER 8  MIN_EXTENTS                   NOT NULL NUMBER 9  MAX_EXTENTS                        NUMBER10  PCT_INCREASE                        NUMBER11  MIN_EXTLEN                        NUMBER12  STATUS                         VARCHAR2(9)13  CONTENTS                        VARCHAR2(9)14  LOGGING                        VARCHAR2(9)15  FORCE_LOGGING                        VARCHAR2(3)16  EXTENT_MANAGEMENT                    VARCHAR2(10)17  ALLOCATION_TYPE                    VARCHAR2(9)18  PLUGGED_IN                        VARCHAR2(3)19  SEGMENT_SPACE_MANAGEMENT                VARCHAR2(6)20  DEF_TAB_COMPRESSION                    VARCHAR2(8)21  RETENTION                        VARCHAR2(11)22  BIGFILE                        VARCHAR2(3)23 24 SQL> select tablespace_name,contents,extent_management(区管理方式) from dba_tablespaces;25 26 TABLESPACE_NAME            CONTENTS       EXTENT_MAN27 ------------------------------ --------- ----------28 SYSTEM                   PERMANENT            LOCAL29 UNDOTBS1               UNDO                    LOCAL30 SYSAUX                   PERMANENT                         LOCAL31 TEMP                   TEMPORARY                             LOCAL32 USERS                   PERMANENT                             LOCAL33 USERDATA               PERMANENT                         LOCAL34 WF1                   PERMANENT                                 LOCAL35 WF2                   PERMANENT                                 LOCAL

获取用户信息

可以通过查询以下视图来获取有关用户的信息:

1.DBA_USERS

2.DBA_TS_QUOTAS

使用以下查询查找用于所有用户的default_tablespace。

1 SQL> COL USERNAME FOR A10; 2 SQL> COL DEFAULT_TABLESPACE FOR A20; 3 SQL> COL TEMPORARY_TABLESPACE FOR A20; 4 SQL> SELECT USERNAME,DEFAULT_TABLESPACE,PROFILE FROM DBA_USERS; 5  6 USERNAME   DEFAULT_TABLESPACE    PROFILE 7 ---------- -------------------- ------------------------------ 8 MGMT_VIEW  SYSTEM        DEFAULT 9 SYS       SYSTEM        DEFAULT10 SYSTEM       SYSTEM        DEFAULT11 DBSNMP       SYSAUX        MONITORING_PROFILE12 SYSMAN       SYSAUX        DEFAULT13 BOOBOOKE   USERS        DEFAULT14 OUTLN       SYSTEM        DEFAULT15 MDSYS       SYSAUX        DEFAULT16 ORDSYS       SYSAUX        DEFAULT17 CTXSYS       SYSAUX        DEFAULT18 ANONYMOUS  SYSAUX        DEFAULT

删除用户

如果方案中含有对象,请使用 CASCADE 子句删除该方案中的所有对象。DROP USER aaron CASCADE;不能删除当前与 Oracle 服务器连接的用户。

原则:

1.在删除用户前,CASCADE 选项将删除方案中的所有对象。如果方案中包含任何对象,则必须指定该选项。

2.不能删除当前与Oracle 服务器连接的用户

1 删除BOOBOOKE:2 SQL> show user3 USER is "SYS"4 SQL> drop user boobooke cascade;5 6 User dropped.

创建新用户:数据库验证

1 设置初始口令 2 CREATE USER aaron 3 IDENTIFIED BY soccer 4 DEFAULT TABLESPACE data 5 DEFAULT TEMPORARY TABLESPACE temp 6 QUOTA 15M ON data 7 QUOTA 10M ON users 8 PASSWORD EXPIRE; 9 10 CREATE USER user11 IDENTIFIED {
BY password | EXTERNALLY}12 [ DEFAULT TABLESPACE tablespace ]13 [ TEMPORARY TABLESPACE tablespace ]14 [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace15 [ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace 16 ]...]17 [ PASSWORD EXPIRE ]18 [ ACCOUNT { LOCK | UNLOCK }]19 [ PROFILE { profile | DEFAULT }]

其中:

User:是用户名

IDENTIFIED BY password:指定用户在登录时需通过数据库验证,还必须提供口令

EXTERNALLY:指定用户需通过操作系统验证

DEFAULT 或 TEMPORARY TABLESPACE:为用户标识缺省或临时表空间

QUOTA:定义表空间中允许用户拥有对象所具有的最大空间(可将限额定义为整数字节或千字节/兆字节。关键字UNLIMITED用于指定用户拥有的对象可使用表空      间内的全部可用空间。缺省情况下,用户在任何表空间上都没有限额。)

PASSWORD EXPIRE:强制用户在使用SQL*Plus 登录到数据库时重置口令(该选项仅在用户通过数据库进行验证时有效)。

ACCOUNT LOCK/UNLOCK:可用于显式锁定或解除锁定用户帐户(UNLOCK为缺省设置)

PROFILE:用于控制资源使用和指定用户的口令控制机制。

创建用户BOOBOOKE

要求:

1.使用profile为默认;

2.默认表空 users,限额 10M;

3.临时表空间默认 temp;

4.强制用户在使用SQL*Plus 登录到数据库时重置口令

注:未分配角色

1 SQL> show user 2 USER is "SYS" 3 SQL> CREATE USER BOOBOOKE IDENTIFIED BY oracle_123 4   2  DEFAULT TABLESPACE users 5   3  quota 10M on users 6   4  password expire; 7  8 User created. 9 10 SQL>

创建新用户:操作系统验证

1.OS_AUTHENT_PREFIX 初始化参数用于指定用户名的格式

2.缺省为 OPS$

1 设置初始口令:2 CREATE USER aaron3 IDENTIFIED EXTERNALLY4 DEFAULT TABLESPACE USERS5 TEMPORARY TABLESPACE temp6 QUOTA 15m ON data7 PASSWORD EXPIRE;

操作系统验证:

  用 CREATE USER命令的 IDENTIFIED EXTERNALLY子句指定用户必须通过操作系统进行验证。当用户直接登录到运行Oracle 服务器的计算机上时,该选项通常很有用。

操作系统验证的用户名:

  OS_AUTHENT_PREFIX 初始化参数用来指定操作系统验证的用户名的格式。该参数的缺省值为 OPS$,以便与 Oracle 服务器的早期版本向后兼容。要将前缀设置为NULL值,请将该初始化参数指定为:OS_AUTHENT_PREFIX =" "。此处指定允许操作系统用户aaron无需经过Oracle 服务器验证即可访问数据库。因此,若要使用SQL*Plus 登录到系统,则UNIX 用户 aaron必须从该操作系统输入下列命令:$ sqlplus /

注:使用 OS_AUTHENT_PREFIX=OPS$ 时:提供了灵活的用户验证方式,既可通过操作系统进行验证,也可通过Oracle 服务器进行验证。在这种情况下,DBA 可通过输入下列格式的命令创建用户:

1 CREATE USER ops$user2 IDENTIFIED BY password ...

1.登录到运行 Oracle 服务器的计算机上的用户无需提供口令。如果用户从远程客户机连接,则可提供口令以实现连接。

2.设置另一个初始化参数 REMOTE_OS_AUTHENT=TRUE,指定用户可通过远程操作系统进行验证。缺省值 FALSE表示用户只能通过运行 Oracle 服务器的计算

机进行验证。应小心使用该参数,因为可能存在安全隐患。

3.如果数据库中的某些用户通过操作系统进行验证,则更改 OS_AUTHENT_PREFIX 可防止这些用户登录到数据库。

在操作系统上添加用户:bbker

1 oracle$ useradd bbker2 usermod: cannot lock /etc/passwd; try again later.3 注:网络上大多提示 删除/etc/目录下的passwd.lock文件,我在本机上并未发现此文件。google提示用sudo命令4 oracle$ sudo useradd bbker5 [sudo] password for oracle: oracle6 oracle$ sudo passwd bbker7 输入新的 UNIX 密码: bbker1238 重新输入新的 bbker1239 passwd:已成功更新
1 SQL> create user ops$bbker  2   2  IDENTIFIED EXTERNALLY 3   3  default tablespace users;  4  5 User created. 6  7 SQL> Grant create session to OPS$bbker; 8  9 Grant succeeded.10 11 oracle$ su - bbker12 bbker$ export PATH=$ORACLE_HOME/bin:$PATH13 bbker$ sqlplus /14 注:一直提示权限错误。oracle数据库是在oracle用户下安装的,当切换到bbker用户时,bbker对oracle数据库的访问权限做了限制,此次实验为达到目标。换个思路,在oracle用户下实现:操作系统验证

删除用户ops$bbker

1 SQL> drop user ops$bbker cascade;2 User dropped.

添加用户ops$oracle:

1 SQL> create user ops$oracle 2   2  identified externally 3   3  default tablespace users; 4  5 User created. 6  7 SQL> Grant create session to OPS$oracle; 8  9 Grant succeeded.10 11 SQL> select username from dba_users;12 13 USERNAME14 ------------------------------15 MGMT_VIEW16 SYS17 SYSTEM18 DBSNMP19 SYSMAN20 OPS$ORACLE21 BOOBOOKE22 OUTLN23 MDSYS24 ORDSYS25 CTXSYS26 27 SQL> !28 oracle$ sqlplus /29 30 SQL*Plus: Release 10.2.0.1.0 - Production on Sat May 12 19:03:58 201231 32 Copyright (c) 1982, 2005, Oracle.  All rights reserved.33 34 35 Connected to:36 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production37 With the Partitioning, OLAP and Data Mining options38 39 40 SQL> show user41 USER is "OPS$ORACLE"42 SQL> 43 --创建新用户 操作系统验证 成功

更改用户的表空间限额

在下列情况下需要修改用户的表空间限额:

1.当用户所拥有表的增长速度异常快时。

2.当应用程序得到增强而要求额外的表或索引时。

3.当重新安排对象并将其置入不同的表空间时。

修改用户的表空间限额:ALTER USER aaron QUOTA 0 ON USERS;

使用下列命令修改表空间限额或重新分配表空间:

1 ALTER USER user2 [ DEFAULT TABLESPACE tablespace]3 [ TEMPORARY TABLESPACE tablespace]4 [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace5 [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ] 6 ...]

  如果分配的限额为0,用户拥有的对象仍保留在撤消的表空间内,但不能给它们分配新的空间。例如,如果表空间 USERS内有一个10 MB 的表,若将该表空间的限额改为 0,则不能再为该表分配新区。任何未更改的选项保持不变。

注:对于UNLIMITED TABLESPACE权限应格外注意,因为它优先于限额设置。

 

 

 

 

 

转载地址:http://eqnvx.baihongyu.com/

你可能感兴趣的文章
《21天学通Java(第6版)》—— 2.7 总结
查看>>
《Apache Zookeeper 官方文档》-1简介
查看>>
《数据库技术原理与应用教程第2版》——3.3现实世界
查看>>
2016年智能手机7大趋势:虚拟现实上榜
查看>>
JAVA中的备忘录模式实例教程
查看>>
CentOS 7最小化安装后找不到‘ifconfig’命令——修复小提示
查看>>
单元测试,测试什么?
查看>>
无锁有序链表的实现
查看>>
Linux 中引号的那些事
查看>>
Spark学习之数据读取与保存(4)
查看>>
性能测试:自建数据库与RDS性能对比SQL Server案例排查分析
查看>>
Java7
查看>>
【知云】第九期:如何实现直播平台数据化精准运营?日志服务+大数据双剑合璧...
查看>>
iOS9开发之新增通知行为详解
查看>>
在Windows下搭建React Native Android开发环境
查看>>
数学里面希腊字母的读法
查看>>
C语言OJ项目参考(2874)包含B的字符串
查看>>
支持向量机
查看>>
滥用Accessibility service自动安装应用
查看>>
PHP基础
查看>>