返回顶部
首页 > 资讯 > 数据库 >oracle 用户管理
  • 738
分享到

oracle 用户管理

2024-04-02 19:04:59 738人浏览 独家记忆
摘要

1. 用户进程Ps –elf | greporacleocl |grep–v grep 2. 数据库进程Ps –elf |greporacleorcl 3. 

1. 用户进程

Ps elf | greporacleocl |grepv grep

oracle 用户管理 

2. 数据库进程

Ps elf |greporacleorcl

oracle 用户管理 

3. 守护进程

Ps elf |grep oha

oracle 用户管理 

大池:在SGA中,大池是一个可选的缓冲区域,管理员可以根据需要对其进行配置,在大规模输入输出及备份过程中需要大池作为缓存空间,例如,大数据操作、数据库备份与恢复之类的操作。

Java池:Java池是一个可选的缓冲区,但是在安装java或者java程序时必须设置Java池,它用于编译Java语言编写指令。

 

六大核心进程:

 

DBWn进程:用来将buffer cache中的脏数据写入到硬盘中数据文件中。

 

什么是脏数据,例如我执行如下语句

sql> update emp set sal=sal+100;

此时修改过的数据存放在内存中,并没有保存到硬盘上的数据文件中,这些数据缓存在buffer cache中,该事务还没有提交(commit),这样修改过还没有写入硬盘数据文件的数据我们称之为脏数据。其实此时在打开一个会话,使用SCOTT用户连接查看emp表中数据是未修改过的数据。所以在oracle中这样的操作是异步写入,多个进程可以同时写入,多个账户就会有多个DBWn进程,其实进程名叫DMW,后面的n是产生的进程标识

SQL> update scott.emp set sal=sal+100;

已更新14行。

SQL>

oracle 用户管理 

LGWR:日志写入进程只有一个

oracle 用户管理 

当用户commit(提交事务)时触发lgwr进程

当red log buffer空间的三分之一空间被使用完时会触发lgwr进程

把脏数据写入磁盘之前,该LGWR进程将日志信息先写入到日志文件中,每隔3秒中执行这样的动作。

LGWR进程不能有多个,因为日志是顺序是写入的,不能做并行写入,否则无法做数据恢复。

CKPT进程:检查所有数据文件和控制文件的头部是否一致,是确保在数据缓冲区中所有修改过的数据块都被写入到数据文件中的一种机制,就是确保数据完整性的一种机制。但检查点完成后,CKPT进程负责更新数据文件和控制文件的头部信息,并保存检查点信息,以保证数据库日志文件和数据文件的同步。其原理是在数据库恢复时,只需找到CKPT保存的最后一次检查点,就可以根据它确定在日志文件中恢复数据的起始位置,重新执行之后的日志信息即可。

SMON进程:如果数据文件和控制文件头部不一致,就会触发SMON进程。在实例启动时SMON进程会检查所有数据文件的同步信息与控制文件中记录的检查点信息是否一致,不一致就启动实例恢复操作。其实CKPT进程是给SMON进程使用的。

PMON进程:进程监控进程,PMON进程管理用户会话,这个进程会在某个会话出现问题时执行的适当的操作。例如用户的个人计算机在登录到数据库时重新启动,PMON就能能够检测到这个问题,而且还会整理用户正在进行的任何操作。


1.1. oracle存储结构

数据文件相关知识

想查看系统中有多少个数据文件我们可以通过动态数据字典或静态数据字典来查看:通过静态数据字典查看数据文件

 oracle 用户管理

通过动态数据字典来查看数据文件

 

oracle 用户管理

 

直接查看数据文件的内容是看不到的,必须通过一个逻辑的结构即表空间来查看数据文件的内容。表空间是一个逻辑存储结构,而数据文件是一个物理的结构。

如何查看表空间

oracle 用户管理 

也可以通过dba_tablespaces查看表空间

oracle 用户管理 

数据字典是一个逻辑的存储结构,而数据文件是一个真实的存储结构,如果有了表空间,而没有数据文件是不可以,表空间和数据文件是相对应的,如果没有数据文件,表空间不可能独立存在,如果只有表空间没有数据文件也是不行的,就好比如果电脑没有硬盘,你不能再逻辑上看到C盘D盘,在这里硬盘就相当于是数据文件,而C盘就相当于是表空间。我们可以把多个数据文件组成一个表空间,然后在表空间里面存储数据,表空间和数据文件是对应的,一个表空间可以是由一个或多个数据文件组成的,但是一个数据文件只能在一个表空间当中,我们如何查看表空间和数据文件之间的对应关系呢?

oracle 用户管理 

也可以查看表空间的大小

oracle 用户管理 

也可以在上述的表空间中创建新的数据文件。如果表空间不够用了,只需创建相应的数据文件即可。表空间大小就是组成数据文件的大小的总和,最终数据文件存放在硬盘里的,但是我们可以把数据文件存放在不同的硬盘里面,只要在一个表空间即可,这样就解决了硬盘大小对文件的限制,可以将多个硬盘中的数据文件组成一个表空间。

所以在表空间中DBA会存放很多的表,视图,索引,同义词等对象。

段:例如在xx表空间DBA创建了一个名为test的表,这张表表空间所占用的空间,我们称之为段。根据段中存储的对象的不同分为了数据段,索引段,回退段,临时段等

可以查看段的信息

oracle 用户管理 

对于段又有个更小的单位,称之为“区”

区(extent):区是磁盘空间分配的最小单位,磁盘按区划分,每次至少分配一个区,区由连续的数据块组成,段主要由一个或多个区构成,当段创建时,它至少包含一个区,当段中所有空间已经使用完成时,系统自动为该段分配一个新区,区不能跨数据文件存在,只能存在于一个数据文件中。

段是由区组成的,段必须是区的整数倍,假如一张表是25MB,一个区大小是4MB,那么段的大小是28MB,如果在表里添加了3MB的数据,此时段的空间还能容纳表,现在表的大小是28MB,如果又添加了1MB,此时29MB,那么段的空间是32MB.

oracle 用户管理 

查看EXAMPLE表空间的区和段的分布情况

oracle 用户管理 

在oracle数据库中最小的存储单位是块(block)--8KB,oracle数据库中的数据存储于数据块中。数据块是oracle服务器所能读取或写入的最小存储单元,oracle服务器以数据块为单位管理数据文件的存储空间,数据块的取值范围为2-64KB,其默认大小与oracle版本有关。

oracle 用户管理 

查看操作系统的最小存储单元

[root@orclsrv ~]# tune2fs -l /dev/sda1

通过OEM也可以查看这些信oracle 用户管理

 

创建表空间和数据文件

SQL> create tablespace xx datafile '/u01/xx.dbf' size 100m autoextend on

2  next 5m maxsize 200m;

 

表空间已创建。

oracle 用户管理 

修改表空间的名字为yy

oracle 用户管理 

oracle 用户管理 

为了好管理,我们希望表空间的名字和数据文件的名字一致。

解决办法:

1. 使用操作系统命令将数据文件拷贝一份

2. 把表空间offline

3. 然后对数据文件重命名

oracle 用户管理oracle 用户管理 

将表空间offline

oracle 用户管理 

oracle 用户管理 

对数据文件重命名

oracle 用户管理 

查看修改情况

oracle 用户管理 

将表空间online

oracle 用户管理 

提示需要恢复/u01/yy.dbf

oracle 用户管理 

将表空间online

oracle 用户管理 

oracle 用户管理 

如何扩展表空间大小

1. 直接改变数据文件大小

oracle 用户管理 

oracle 用户管理 

2. 给表空间增加数据文件

如果表空间所在的分区的空间不够用了

oracle 用户管理 

oracle 用户管理 

oracle 用户管理 

删除表空间

oracle 用户管理 

创建临时表空间

oracle 用户管理 

oracle 用户管理 

创建临时表空间

oracle 用户管理 

oracle 用户管理 

删除临时表空间与删除表空间的命令是一样的。

oracle 用户管理 

1.2. oracle 用户管理

如果想查看oracle系统中存在用户可以查看dba_users视图

oracle 用户管理 

如果使用sqlplus查询需要提前格式化

SQL> col username for a20

SQL> col account_status for a20

SQL> col default_tablespace for a20

SQL> set linesize 120

SQL> set pagesize 120

SQL> select username,account_status,default_tablespace from dba_users;

 

USERNAME     ACCOUNT_STATUS  DEFAULT_TABLESPACE

-------------------- -------------------- --------------------

MGMT_VIEW     OPEN SYSTEM

SYSOPENSYSTEM

SYSTEM     OPENSYSTEM

DBSNMP     OPENSYSAUX

SYSMAN     OPENSYSAUX

SCOTTOPENUSERS

OUTLN     EXPIRED & LOCKED  SYSTEM

FLOWS_FILES     EXPIRED & LOCKED  SYSAUX

MDSYS     EXPIRED & LOCKED  SYSAUX

ORDSYS     EXPIRED & LOCKED  SYSAUX

EXFSYS     EXPIRED & LOCKED  SYSAUX

 

Oracle 用户管理---

要想访问数据库,任何人都必须成为能够通过oracle身份验证的有效数据库用户,我们可以配置应用程序要求每个需要进行访问的个体都具有不同的数据库账户,也可以配置应用程序自身作为公共用户连接数据库并在内部处理应用程序级别的权限。无论选用哪种方法,在数据库内部都需要创建一个或多个允许操作数据的用户。

1.3. 用户与模式(schema)

创建用户的语法:

Create user用户名 identified by 密码 default tablespace表空间 quota 大小 on 表空间;

注意:在创建用户的时候虽然用户名写的时小写的,但是存储到数据字典的时候却是大写的,比如create user tom.如果非要使用小写的话,用户名需要使用双引号括起来 create user “tom”

创建的用户没有任何权限,连登陆数据库的权限都没有。

如果没有设置用户对某个表空间的配额,那么即使这个用户对该表空间有写权限,也是无法写入的。

举例说明:

查看HR用户的状态

oracle 用户管理 

修改HR用户的密码为oracle

oracle 用户管理 

手工设置过期;

oracle 用户管理 

用户

oracle 用户管理 

举例说明oracle的授予权限和撤销权限

在创建用户之前,创建一个表空间xxx

创建一个表空间xxx

createtablespace xxx datafile '/u01/xxx.dbf' size 100m autoextend on next 10m maxsize unlimited;

创建用户tom

create user tom identified by oracle;

查询创建的用户tom

oracle 用户管理 

虽然创建的时是小写tom,但存储到数据字典中的是大写,所以查询时也需要写大写

oracle 用户管理 

删除tom用户

Drop user tom;

create user"tom" identified by oracle;

oracle 用户管理 

删除tom用户

oracle 用户管理 

正确的删除方式应该是:

drop user"tom";

创建用户tom,默认的表空间是”XXX”,并没有指定配额,所以tom用户也无法在xxx表空间上创建对象

oracle 用户管理 

使用tom用户连接数据库的结果

oracle 用户管理 

SQL>conn sys/oracle as sysdba

Drop user tom; 删除tom用户

创建tom用户的同时指定默认的表空间是xxx,tom用户的磁盘配额是10m

可以使用dba_ts_quotas视图查看每个用户的磁盘配额

oracle 用户管理 

oracle 用户管理 

刚才我们测试创建的tom用户连创建会话的权限都

oracle 用户管理 

1.4. 为用户授予权限34

为tom用户授予session权限

SQL>conn sys/oracle as sysdba

SQL> grant create session to tom;

 

授权成功。

测试一下连接

oracle 用户管理 

测试tom用户是否能够创建表

oracle 用户管理 

为tom用户授予创建表的权限

oracle 用户管理 

创建aa表

oracle 用户管理 

测试tom用户能否为表插入记录,可以插入记录了。

oracle 用户管理 

1.5. 撤销权限

查看tom用户当前拥有的权限

oracle 用户管理 

撤销tom用户的create table 权限

oracle 用户管理 

测试tom用户能够查看SCOTT用户下的emp表

oracle 用户管理 

使用sys用户连接数据库

oracle 用户管理 

为tom用户授权select scott用户下的emp表的权限

oracle 用户管理 

使用tom用户连接数据库

oracle 用户管理

 

 

您可能感兴趣的文档:

--结束END--

本文标题: oracle 用户管理

本文链接: https://lsjlt.com/news/40225.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • oracle 用户管理
    1. 用户进程Ps –elf | greporacleocl |grep–v grep 2. 数据库进程Ps –elf |greporacleorcl 3. ...
    99+
    2024-04-02
  • oracle 用户口令管理
    使用profile进行口令限制。建立数据库时oracle会自动建立称为default的profile文件,当建立没有指定profile选项时,oracle就会将default分配给用户。(1)账户锁定:密码...
    99+
    2024-04-02
  • Oracle DataBase 用户管理与权限管理
    概念:https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/introduction-to-oracle-database.html   数据库 -- 查看...
    99+
    2018-12-26
    Oracle DataBase 用户管理与权限管理 数据库入门 数据库基础教程
  • Oracle表空间管理和用户管理介绍
    目录Oracle介绍1. Oracle表空间2. Oracle用户权限管理3. 查看用户及权限信息总结Oracle介绍 Oracle(甲骨文)公司 1977年,三人合伙创办(Soft...
    99+
    2024-04-02
  • 【Oracle Database】数据库用户管理
    创建用户 SQL> create user soe identified by soe default tablespace soe temporary tablespace temp; User c...
    99+
    2024-04-02
  • oracle学习笔记-用户管理
    1:创建用户create user username identified by password;注意:密码开头要字母2:修改密码自己:password别人:password username  ...
    99+
    2024-04-02
  • Oracle体系结构和用户管理
    通过博文部署Oracle 12c企业版数据库已经可以部署Oracle数据库了,本篇博文主要介绍Oracle的体系结构,包括存储结构、内存结构和进程结构进行初步了解。对进一步学习Oracle数据库有很大的帮助...
    99+
    2024-04-02
  • MongoDB用户及权限管理(二):用户管理
    一、创建管理员账号下面开始创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。> use adminsw...
    99+
    2024-04-02
  • Oracle表空间管理和用户管理的示例分析
    这篇文章将为大家详细讲解有关Oracle表空间管理和用户管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Oracle介绍Oracle(甲骨文)公司1977年,三人合伙创办(Software D...
    99+
    2023-06-22
  • Oracle 11g R2如何进行用户管理
    这篇文章给大家分享的是有关Oracle 11g R2如何进行用户管理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如果想查看oracle系统中存在用户可以查看dba_users视...
    99+
    2024-04-02
  • Oracle管理:如何创建查询用户
    标题:Oracle管理:如何创建查询用户,需要具体代码示例 在Oracle数据库管理中,创建查询用户是一个常见的操作。查询用户是一个拥有只读权限的用户,可以查看数据库中的数据,但不能进...
    99+
    2024-03-03
    查询 oracle 创建
  • Oracle CDB管理实现多租户管理功能
    目录CDB的管理1.当前容器2.修改CDB的参数3.修改PDB的参数1.使用ALTER DATABASE 命令修改CDB的参数2.使用ALTER DATABASE命令修改CDB的UN...
    99+
    2022-12-08
    Oracle CDB管理 Oracle多租户管理
  • Oracle CDB管理实现多租户管理功能
    目录CDB的管理1.当前容器2.修改CDB的参数3.修改PDB的参数1.使用ALTER DATABASE 命令修改CDB的参数2.使用ALTER DATABASE命令修改CDB的UNDO模式4.CDB和PDB参数保存位置...
    99+
    2022-12-07
    Oracle CDB管理 Oracle多租户管理
  • Cassandra用户管理
    Cassandra用role代替用户和用户组,默认创建的role没有login和super权限;但是默认创建的user是有login的权限(1)角色#创建角色cassandra@cqlsh:keyspace...
    99+
    2024-04-02
  • MongoDB用户管理
    创建用户 语法:db.createUser({user:<name_string>, #字符串pwd:<password_strin>, #字符串roles:[{role:<...
    99+
    2024-04-02
  • mongodb 用户管理
    use db_order创建用户:db.createUser({user: "u_db_order",pwd: "password",roles: [ { role:...
    99+
    2024-04-02
  • MySQL用户管理
    MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么。MySQL 3.22.11开始引入两条语句使得这项工作更容易做:GRANT语句创建MySQL用户...
    99+
    2024-04-02
  • MySQL 用户管理
    合理的管理DB用户权限是一个DBA的基本工作,这里整理一下MySQL用户管理的相关内容。CREATE USER、DROP USER、RENAME USER 用来创建、删除、修改MySQL用...
    99+
    2024-04-02
  • MariaDB用户管理
    root>mysql -p Mariadb 的账户管理操作 CREATE USER:创建一个新账户并为其设置一个口令(可选操作): CREATE USER account [IDENTIFI...
    99+
    2024-04-02
  • 【MySQL】用户管理
    之前我们一直都使用root身份来对mysql进行操作,但这样存在安全隐患。这时,就需要使用MySQL的用户管理 目录 一、用户 1.1 用户信息 1.2 添加用户 1.3 删除用户 1.4 修改用户密码 二、用户权限 2.1 赋予授权 2...
    99+
    2023-09-15
    数据库 sql mysql linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作