目录

Oracle的用户

用户:User,通俗的讲就是访问oracle数据库的账号。

在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。每个用户都有一个口令,使用正确的username/password才能登录到数据库进行数据存取。

Oracle 成功安装后默认拥有下面几个系统用户

  • sys/system:管理员账户,sys的权限为最高,必须以管理员的身份(sysdba|sysoper)登陆这用户
  • sysman:也是管理员级别的用户,用于操作企业管理器
  • Scott:默认是被锁定的,我们需要去解锁他,才可以被登陆

    注意:前三个用户使用统一密码,而scott用户的默认密码为tiger

通过系统用户来登陆SQLPlus

Example1

[oracle@jmilk ~]$ sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Thu May 26 00:13:57 2016

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

Enter user-name: system/fanguiju

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

Example2

SQL> connect sys/fanguiju
ERROR:
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER #表示sys不能以普通的身份登陆,必须指定以管理员sysdba的身份登陆 Warning: You are no longer connected to ORACLE.
SQL> connect sys/fanguiju as sysdba

Example3

connect sys/fanguiju @Server as sysdba
#当数据库和数据库服务没有安装在同一台服务器时,需要指定登陆的@ServerName来指定登陆到的服务器。

system和sys的区别

【system】用户可以使用normal身份登陆。

【sys】用户需要使用“SYSDBA”或者“SYSOPER”的身份登陆。

查看登陆的用户

Example1:Show user指令,查看登陆的当前用户

SQL> conn /as sysdba
Connected.
SQL> show user
USER is "SYS"

Example2:使用数据字典dba_users

数据字典是数据库提供的内建二维表,用于查看数据库信息。

dba_users 数据字典的字段,可以查看Oracle RDBMS中DEMO数据库中的管理员账户信息。

SQL> desc dba_users;                    #显示数据字典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 from dba_users; USERNAME
------------------------------
MGMT_VIEW
SYS
SYSTEM
DBSNMP
SYSMAN
SCOTT
OUTLN
MDSYS
ORDSYS
EXFSYS
DMSYS USERNAME
------------------------------
WMSYS
CTXSYS
ANONYMOUS
XDB
ORDPLUGINS
SI_INFORMTN_SCHEMA
OLAPSYS
TSMSYS
BI
PM
MDDATA USERNAME
------------------------------
IX
SH
DIP
OE
HR 27 rows selected.

启用和锁定一个用户

启用用户

一个用户要登陆的前提条件就是这个用户不能被锁定

ALTER USER username ACCOUNT unlock

Example

SQL> alter user scott account unlock;

User altered.

锁定用户

ALTER USER username ACCOUNT LOCK

创建用户

基本语法

CREATE USER username IDENTIFIED BY password  DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace PROFILE profile QUOTA integer|UNLIMITED ON tablespace

各选项含义如下

  • IDENTIFIED BY password:指定用户密码;
  • DEFAULT TABLESPACE tablespace:默认表空间;
  • TEMPORARY TABLESPACE tablespace:临时表空间;
  • PROFILE profile|DEFAULT:用户资源文件;
  • QUOTA integer[K|M]|UNLIMITED ON tablespace:用户在表空间上的空间使用限额,可以指定多个表空间的限额。

    Example
CREATE USER us1 IDENTITIED BY abc123
DEFAULT TABLESPACE user01
TEMPORARY TABLESPACE temp
PROFILE DEFAULT
QUOTA 1000M ON user01;

创建新用户后登陆出现错误:ORA-01045

原因:A connect was attempted to a userid which does not have create session privilege. 用户没有创建会话的权限。

解决方法:为没有权限的用户赋予权限:

Grant create session to USERNAME;

修改用户

修改用户的语法是与创建用户的语法类似的,主要是 CREATE USER 变成 ALTER USER。

基本语法

ALTER USER username IDENTIFIED BY password  DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace PROFILE profile QUOTA integer|UNLIMITED ON tablespace

删除用户

删除用户,是将用户及用户所创建的schema对象从数据库删除。

Example

SQL>DROP USER us1;
#若用户us1含有schema对象,则无上述语句将执行失败,须加入关键字CASCADE才能删除,意思是连并其对象一起删除,如下:
SQL>DROP USER us1 CASCADE;

角色权限

  • SYSOPER角色的权限(公司的运营主管),即数据库操作员权限,权限包括:

    • 打开数据库服务器
    • 关闭数据库服务器
    • 备份数据库
    • 恢复数据库
    • 日志归档
    • 会话限制
  • SYSDBA角色的权限(看成公司的CEO)权限包括:

    • 打开数据库服务器
    • 关闭数据库服务器
    • 备份数据库
    • 恢复数据库
    • 日志归档
    • 会话限制
    • 管理功能
    • 创建数据库
  • NORMAL权限类似企业的普通员工,如:SCOTT

注意:sys和system是Oracle Database的系统用户,而SYSDBA、SYSOPER、NORMAL为登陆的方式,即用户以什么角色来登陆到数据库服务器。

常用的用户相关数据字典

ORACLE中数据字典视图分为3大类,用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。

  • USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
  • ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
  • DBA_*:有关整个数据库中对象的信息

这里的*可以为TABLES, INDEXES, OBJECTS, USERS等。

查看所有用户

select * from dba_users;       #查看所有的系统用户
select * from all_users;
select * from user_users; #查看所有的普通用户

查看用户系统权限

select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;

查看用户对象权限

select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

查看所有角色

select * from dba_roles;

查看用户所拥有的角色

select * from dba_role_privs;
select * from user_role_privs;

查看当前用户的缺省表空间

select username,default_tablespace from user_users;

查看某个角色的具体权限:

grant connect,resource,create session,create view to TEST;

查看RESOURCE具有那些权限

SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCE';

Example:限制user1用户只允许100个并发连接

SQL> alter system set resource_limit=true;
System altered
SQL> create profile profile_user1 limit sessions_per_user 100;
Profile created
SQL> ALTER USER user1 profile profile_user1;
User altered

Oracle 用户概念与基本操作的更多相关文章

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

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

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

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

  3. Oracle用户、权限、角色管理

    Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限.(是针对表或视图而言的).   二.系统权 ...

  4. Oracle用户、授权、角色管理

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  5. [转载]oracle游标概念讲解

    原文URL:http://www.2cto.com/database/201203/122387.html ORACLE游标概念讲解 什么是游标?  ①从表中检索出结果集,从中每次指向一条记录进行交互 ...

  6. InfluxDB概念和基本操作 二

    InfluxDB概念和基本操作   InfluxDB基本概念 数据格式 在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value ...

  7. Oracle用户和模式,表空间

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

  8. Oracle基本概念与数据导入

    Oracle基本概念 实例 一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成.一 ...

  9. Oracle 用户、授权、角色管理

    Oracle 用户管理 一.创建用户的Profile文件SQL> create profile student limit // student为资源文件名FAILED_LOGIN_ATTEMP ...

随机推荐

  1. 使用DataV制作实时销售数据可视化大屏(实验篇)

    课时1:背景介绍 任务说明 ABC是一家销售公司,其客户可以通过网站下单订购该公司经营范围内的商品,并使用信用卡.银行卡.转账等方式付费.付费成功后,ABC公司会根据客户地址依据就近原则选择自己的货仓 ...

  2. 面试题:Nginx负载均衡的算法怎么实现的?为什么要做动静分离?

    面试题 Nginx负载均衡的算法怎么实现的?Nginx 有哪些负载均衡策略?Nginx为什么要做动静分离? 面试官心理剖析 主要是看应聘人员对Nginx的基本原理是否熟悉,需要应聘人员能够根据实际业务 ...

  3. nginx的安装和负载均衡例子(RHEL/CentOS7.4)

    首先安装RHEL/CentOS7.4 mini ,然后关闭防火墙和 selinux ,更新系统(参看配置linux使用本地yum安装源和Redhat7/CentOS7 关闭防火墙和 selinux两个 ...

  4. nginx的配置系统

    nginx的配置系统由一个主配置文件和其他一些辅助的配置文件构成.这些配置文件均是纯文本文件,全部位于nginx安装目录下的conf目录下. 配置文件中以#开始的行,或者是前面有若干空格或者TAB,然 ...

  5. 关于tomcat中的三个端口的作用及其相关细节

    [一]端口内容 tomcat的端口号相关信息: Tomcat admin port——管理端口,允许你远程配置tomcat HTTP——正常的http协议 AJP——Apache JServ Prot ...

  6. 【awk】 判断是不是纯ascii串

    筛选出纯ascii串: awk '{ l = length($0); for (i = l; i > 0; i--) { if (substr($0,i,1) > "\177&q ...

  7. 前后端分离使用 Token 登录解决方案

    前后端分离使用 Token 登录解决方案:https://juejin.im/post/5b7ea1366fb9a01a0b319612

  8. 阿里巴巴高级Java面试题(首发,70道)

    整理的70道阿里的Java面试题,都来挑战一下,看看自己有多厉害.下面题目都带超详细的解答,详情见底部. 1.java事件机制包括哪三个部分?分别介绍. 2.为什么要使用线程池? 3.线程池有什么作用 ...

  9. Spark Streaming + Kafka 整合向导之createDirectStream

    启动zk: zkServer.sh start 启动kafka:kafka-server-start.sh $KAFKA_HOME/config/server.properties 创建一个topic ...

  10. luoguP1315 观光公交 题解(NOIP2011)(贪心)

    P1315 观光公交 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cm ...