Oracle 用户概念与基本操作
来源:互联网 发布:软件ui设计 编辑:程序博客网 时间:2024/04/26 14:16
目录
- 目录
- Oracle的用户
- 通过系统用户来登陆SQLPlus
- system和sys的区别
- 查看登陆的用户
- 启用和锁定一个用户
- 启用用户
- 锁定用户
- 创建用户
- 修改用户
- 删除用户
- 角色权限
- 常用的用户相关数据字典
Oracle的用户
用户:User,通俗的讲就是访问oracle数据库的账号。
在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。每个用户都有一个口令,使用正确的username/password才能登录到数据库进行数据存取。
Oracle 成功安装后默认拥有下面几个系统用户:
- sys/system:管理员账户,sys的权限为最高,必须以管理员的身份(sysdba|sysoper)登陆这用户
- sysman:也是管理员级别的用户,用于操作企业管理器
- Scott:默认是被锁定的,我们需要去解锁他,才可以被登陆
注意:前三个用户使用统一密码,而scott用户的默认密码为tiger
通过系统用户来登陆SQLPlus
Example1:
[oracle@jmilk ~]$ sqlplusSQL*Plus: Release 10.2.0.1.0 - Production on Thu May 26 00:13:57 2016Copyright (c) 1982, 2005, Oracle. All rights reserved.Enter user-name: system/fanguijuConnected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining options
Example2:
SQL> connect sys/fanguijuERROR: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 sysdbaConnected.SQL> show userUSER 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_VIEWSYSSYSTEMDBSNMPSYSMANSCOTTOUTLNMDSYSORDSYSEXFSYSDMSYSUSERNAME------------------------------WMSYSCTXSYSANONYMOUSXDBORDPLUGINSSI_INFORMTN_SCHEMAOLAPSYSTSMSYSBIPMMDDATAUSERNAME------------------------------IXSHDIPOEHR27 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 abc123DEFAULT TABLESPACE user01TEMPORARY TABLESPACE tempPROFILE DEFAULTQUOTA 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 alteredSQL> create profile profile_user1 limit sessions_per_user 100;Profile createdSQL> ALTER USER user1 profile profile_user1;User altered
- Oracle 用户概念与基本操作
- Oracle概念与基本操作
- 栈的概念与基本操作
- oracle创建用户与权限操作
- 基本操作及概念
- Oracle有关于用户的一些基本操作
- oracle 定义表空间 添加用户基本操作
- Oracle学习笔记1-用户操作及基本数据类型
- Oracle 10g创建数据库 用户等基本操作
- Oracle基本安全之用户、角色和权限操作
- ORACLE创建表空间以及增加用户基本权限操作
- oracle 表空间、用户等相关基本操作
- oracle命名空间和用户的基本操作
- oracle笔记1-基本用户、权限、表操作
- 数据库基本操作Mysql与Oracle
- oracle中基本操作与数据处理
- 算法导论笔记:13-01红黑树概念与基本操作
- PC-Lint的入门-- 一、概念与基本操作
- pcb文件的作用
- POJ 3233 Matrix Power Series
- 序列化的几种方式
- PL/SQL编程
- Matalab 中如何用一个cell存储多个字符串并将其一次性写入EXcel中
- Oracle 用户概念与基本操作
- Ardrone2 ROS Image和OpenCV Image相互转化
- 线程池
- 妙用PPT 2003刻录多媒体光盘
- JavaScript中创建对象的几种方法
- 点击类别,并通过Toast将类别的名字显示出来
- Objective-C中#import如何规避多文件结构导致的重复包含;以及@class作用
- MySQL性能优化的20条经验
- java泛型详解