`
lcm1984
  • 浏览: 8299 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle中的用户、角色、权限(一)

阅读更多

一、用户的创建

 

在oracle中,用户与schema是一一对应的关系,在创建一个用户的同时也就创建了一个相应的schema。所谓的schema就是指该用户下所有对象的集合。在创建一个用户的时候,若不显示指定表空间跟临时表空间,则会使用系统的默认表空间跟临时表空间。一般在创建用户的时候都会指定一个表空间,否则有可能使用系统的默认表空间(system表空间)。


通过database_properties数据字典可以查询数据库的默认表空间、临时表空间及其他信息:

 

SQL> desc database_properties;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 PROPERTY_NAME                             NOT NULL VARCHAR2(30)
 PROPERTY_VALUE                                     VARCHAR2(4000)
 DESCRIPTION                                        VARCHAR2(4000)

SQL> select property_name,property_value from database_properties;
PROPERTY_NAME                  PROPERTY_VALUE
------------------------------ ------------------------------
DICT.BASE                      2
DEFAULT_TEMP_TABLESPACE        TEMPTS
DEFAULT_PERMANENT_TABLESPACE   TBS_1
DBTIMEZONE                     +08:00
DEFAULT_TBS_TYPE               SMALLFILE
NLS_LANGUAGE                   AMERICAN
NLS_TERRITORY                  AMERICA
NLS_CURRENCY                   $
NLS_ISO_CURRENCY               AMERICA
NLS_NUMERIC_CHARACTERS         .,
NLS_CHARACTERSET               ZHS16GBK
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD-MON-RR
NLS_DATE_LANGUAGE              AMERICAN
NLS_SORT                       BINARY
NLS_TIME_FORMAT                HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY              $
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE
NLS_NCHAR_CHARACTERSET         AL16UTF16
NLS_RDBMS_VERSION              10.2.0.1.0
GLOBAL_DB_NAME                 ORCL
EXPORT_VIEWS_VERSION           8

27 rows selected.

 

 

通过dba_tablespaces数据字典可以查询到数据库中已创建的表空间的相关信息:

 

SQL> desc dba_tablespaces;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                           NOT NULL VARCHAR2(30)
 BLOCK_SIZE                                NOT NULL NUMBER
 INITIAL_EXTENT                                     NUMBER
 NEXT_EXTENT                                        NUMBER
 MIN_EXTENTS                               NOT NULL NUMBER
 MAX_EXTENTS                                        NUMBER
 PCT_INCREASE                                       NUMBER
 MIN_EXTLEN                                         NUMBER
 STATUS                                             VARCHAR2(9)
 CONTENTS                                           VARCHAR2(9)
 LOGGING                                            VARCHAR2(9)
 FORCE_LOGGING                                      VARCHAR2(3)
 EXTENT_MANAGEMENT                                  VARCHAR2(10)
 ALLOCATION_TYPE                                    VARCHAR2(9)
 PLUGGED_IN                                         VARCHAR2(3)
 SEGMENT_SPACE_MANAGEMENT                           VARCHAR2(6)
 DEF_TAB_COMPRESSION                                VARCHAR2(8)
 RETENTION                                          VARCHAR2(11)
 BIGFILE                                            VARCHAR2(3)


SQL> select tablespace_name,contents from dba_tablespaces;

TABLESPACE_NAME                CONTENTS
------------------------------ ---------
SYSTEM                         PERMANENT
UNDOTBS                        UNDO
SYSAUX                         PERMANENT
TBS_1                          PERMANENT
MYTBS                          PERMANENT
TEMPTS                         TEMPORARY

6 rows selected.

 

 

通过以下语句可以创建一个用户:

 

SQL> create user mytbs identified by mytbs default tablespace mytbs;

User created.

 

 

此时可以通过查询dba_users数据字典来查询数据库中已建立的用户的相关信息:

 

SQL> desc dba_users
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 USERNAME                                  NOT NULL VARCHAR2(30)
 USER_ID                                   NOT NULL NUMBER
 PASSWORD                                           VARCHAR2(30)
 ACCOUNT_STATUS                            NOT NULL VARCHAR2(32)
 LOCK_DATE                                          DATE
 EXPIRY_DATE                                        DATE
 DEFAULT_TABLESPACE                        NOT NULL VARCHAR2(30)
 TEMPORARY_TABLESPACE                      NOT NULL VARCHAR2(30)
 CREATED                                   NOT NULL DATE
 PROFILE                                   NOT NULL VARCHAR2(30)
 INITIAL_RSRC_CONSUMER_GROUP                        VARCHAR2(30)
 EXTERNAL_NAME                                      VARCHAR2(4000)

SQL> select username,password from dba_users;

USERNAME                       PASSWORD
------------------------------ ------------------------------
DBSNMP                         E066D214D5421CCC
DIP                            CE4A36B8E06CA59C
TSMSYS                         3DF26A8B17D0F29F
SYSTEM                         D4DF7931AB130E37
SYS                            4DE42795E66117AE
MYTBS                          C7618B865F241C60
OUTLN                          4A3BA55E08595C81

7 rows selected.
 

在oracle中也支持操作系统认证的用户,具体创建方法如下:

 

--显示oracle中的默认操作系统认证用户的用户名前缀
--即os_authent_prefix参数
SQL> show parameter os 

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_index_cost_adj             integer     100
os_authent_prefix                    string      ops$
os_roles                             boolean     FALSE
remote_os_authent                    boolean     FALSE
remote_os_roles                      boolean     FALSE
timed_os_statistics                  integer     0

SQL> create user ops$test identified externally default tablespace test;

User created.

 

同时在linux下建立test用户,并设置相应的环境变量(ORACLE_SID、ORACLE_HOME、PATH等):

 

[root@localhost etc]# useradd test -g dba -G dba
[root@localhost etc]# id test
uid=501(test) gid=500(dba) groups=500(dba)
[root@localhost etc]# passwd test
Changing password for user test.
New UNIX password: 
BAD PASSWORD: it is too short
Retype new UNIX password: 
passwd: all authentication tokens updated successfully.

[root@localhost test]# cp /home/oracle/.bash_profile /home/test/
cp:是否覆盖‘/home/test/.bash_profile’? yes

[root@localhost test]# su - test
[test@localhost ~]$ id
uid=501(test) gid=500(dba) groups=500(dba) 
[test@localhost ~]$ echo $ORACLE_SID
orcl
[test@localhost ~]$ sqlplus /

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 22 14:49:43 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-01045: user OPS$TEST lacks CREATE SESSION privilege; logon denied
--以上错误主要是因为我们没有赋给该用户相应的权限,在下文中将介绍权限
 

 

以上主要介绍了用户的创建,在创建用户的时候可以给该用户指定更多的参数,具体可以到oracle官方联机文档(Oracle SQL Reference)里查。当然,此时建立的用户并不能登录oracle,因为还没有相应的权限,在下一篇文章中将介绍这部分内容。

 

分享到:
评论

相关推荐

    Oracle权限、角色和用户1

    1. **CONNECT角色**:适用于常规用户,提供基本的数据库连接权限,允许用户创建和管理自己的会话,比如创建表、视图和序列等。但不包含创建数据库结构的权限,如创建新的表空间或数据文件。 2. **RESOURCE角色**:...

    Oracle用户权限角色设置

    Oracle用户权限角色设置,用来在新建的数据库中添加新的用户,并为其设置权限。

    使用PLSQL 创建Oracle数据库用户并设置权限

    1. 角色权限:角色权限是指用户在数据库中的角色,例如 connect、resource 等。 2. 系统权限:系统权限是指用户在数据库中的系统权限,例如 unlimited tablespace 等。 3. 配额权限:配额权限是指用户在数据库中的...

    Oracle用户、权限、角色管理

    ### Oracle用户、权限、角色管理深度解析 在Oracle数据库的管理中,用户、权限和角色的管理是确保数据安全和高效使用的关键环节。本文将详细阐述Oracle中的用户管理、权限设置,以及角色管理的重要概念和操作流程。...

    oracle中将一个用户的所有表的权限授予另一个用户的方法

    - **角色权限**:角色是一组权限的集合,可以被授予或撤销,简化权限管理。 ### 授予表权限的PL/SQL脚本 在给定的部分内容中,我们可以看到一个PL/SQL块示例,其目的是遍历当前用户的对象,并将特定类型的权限授予...

    oracle 用户、权限和角色管理

    oracle 用户、权限和角色管理,oracle 人员必看。

    oracle查看用户权限

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何在Oracle数据库中查看不同类型的用户权限。本文将按照以下顺序展开: 1. 查看所有用户 2. 查看用户或角色系统权限(直接赋值给用户或角色的系统...

    查看ORACLE用户权限

    在Oracle数据库管理中,了解和控制用户权限是至关重要的任务之一。这不仅涉及到数据库的安全性,也直接影响到数据的完整性和系统的高效运行。通过查询Oracle中的特定视图,我们可以详细了解用户的权限分配情况,包括...

    10 oracle管理权限和角色 PPT

    在Oracle中,权限和角色的概念是为用户提供访问控制机制,允许管理员精细地控制用户对数据库对象的访问权限,同时简化权限的分配过程。 1. 权限(Privileges):权限是Oracle中允许用户执行特定操作的能力。例如,...

    Oracle用户角色及权限管理.docx

    Oracle数据库的用户角色及权限管理是数据库管理员(DBA)日常工作中不可或缺的部分,它涉及到数据库的安全性和访问控制。本文将详细阐述Oracle中的用户、角色和权限的概念以及如何进行管理。 首先,Oracle数据库中...

    oracle-用户与权限的管理

    ### Oracle用户与权限管理详解 Oracle数据库作为一款广泛应用于企业级环境中的关系型数据库管理系统,其用户管理和权限分配机制是确保数据安全性与访问控制的关键环节。以下是对Oracle中用户、权限与角色管理的深入...

    oracle用户权限、角色管理详解

    Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,

    oracle用户的权限详细说明以及赋权的操作

    以上就是Oracle用户权限的详细说明,以及创建用户并为其分配权限的操作方法。作为数据库管理员,理解这些基础知识是管理好Oracle数据库的前提。通过命令行工具和数据库管理系统提供的视图,DBA可以有效地实现权限...

    oracle用户创建及权限设置

    ### Oracle用户创建及权限设置详解 #### 一、Oracle用户管理概述 在Oracle数据库中,用户管理和权限控制是非常重要的组成部分,它们确保了数据的安全性和访问的合理性。通过创建不同的用户并赋予相应的权限,可以...

    oracle笔记控制用户权限及练习

    oracle笔记控制用户权限及练习,控制用户权限,授权,收回权限等操作,有具体的代码案例!

    使用PLSQL创建Oracle数据库User用户并设置权限

    使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。

    oracle权限函数

    在Oracle数据库管理中,权限管理是一项重要的任务,它涉及到对用户、角色及对象等数据库实体的访问控制。通过合理地分配权限,可以有效地保护数据的安全性和完整性,同时确保业务流程的正常运行。下面我们将详细介绍...

    oracle查看用户、权限、角色的命令和视图

    在Oracle数据库管理中,了解如何查看用户、权限和角色对于维护数据库的安全性和功能至关重要。以下是对给定文件中提到的命令和视图的详细解析,旨在深入理解Oracle中用户、权限和角色的管理。 ### 1. 查看所有用户 ...

    AIX 系统及 Oracle 数据库用户权限管理

    - **角色的管理**:角色是一组相关特权的集合,用于简化权限管理。Oracle预定义了多个角色,如CONNECT、RESOURCE、DBA等。 ##### 2.3 管理Oracle用户的方法 - **初始配置**:首先登录到数据库的系统用户oracle。 -...

Global site tag (gtag.js) - Google Analytics