Oracle表空间管理和用户管理介绍

目录
  • Oracle介绍
  • 1. Oracle表空间
  • 2. Oracle用户权限管理
  • 3. 查看用户及权限信息
  • 总结

Oracle介绍

Oracle(甲骨文)公司
1977年,三人合伙创办(Software Development Laboratories,SDL)
1979年,更名为Relational Software Inc.,RSI
1983年,为了突出核心产品 ,RSI更名为Oracle
2002年04月26日,启用“甲骨文”作为中文注册商标

1. Oracle表空间

表空间是Orcale数据库逻辑解构的一个重要组件,表空间可以存放各种应用对象,如表、索引等。每一个表空间由一个或多个数据文件组成。

1.1:表空间的分类

表空间可分为三类

类别 说明
永久性表空间 一般保存表、视图、过程和索引等的数据。Oracle会默认安装一些永久性表空间,如:SYSTEM、USERS等
临时性表空间 只用于保存系统中短期活动的数据,如排序数据等
撤销表空间 用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的。

1.2:表空间的目的

(1)对不同用户分配不同的表空间,对不同的模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理。

(2)可以将不同数据文件创建到不同的磁盘中,有利于管理磁盘空间,有利于提高I/O性能,有利于备份和恢复数据等。

1.3:创建表空间

创建表空间,语法如下。

 CREATE TABLESPACE tbs1  					 --表空间名称
 DATAFILE 'E:\TeachCase\OracleDB\tbs1.DBF'   -- 数据文件存放的位置
 SIZE 1M									 -- 初始大小
 AUTOEXTEND ON;								 -- 自动增长(开,关的话就是 OFF)

1.4:删除表空间

Drop TABLESPACE tbs1 --表空间名称;

注意:当表空间没有被 DROP 时,不能从磁盘上删除,只有执行了 DROP TABLESPACE 命令之后才可以删除数据文件,不然的话Oracle会无法执行。

2. Oracle用户权限管理

    当创建一个新数据库时,Orcale将创建一些默认的数据库用户,如Sys、System 和 Scott等。
2.1:Sys
Sys用户是Oracle中的一个超级用户。数据库中所有数据字典和视图都存储在SYS模式中。Sys用户主要用来维护系统信息和管理实例,Sys用户只能以SYSOPER或SYSDBA角色登录系统。
2.2:System
System用户是Oracle中默认的系统管理员,它拥有DBA权限。该用户拥有Oracle管理工具使用的内部表和视图。System用户不能以SYSOPER或SYSDBA角色登录系统,只能以默认方式登录。
2.3:Scott
Scott用户是Oracle数据库的一个示范用户,一般在数据库安装时创建。Scott用户模式包含3个示范表,其中一个是Emp表。使用USERS表空间存储模式对象。
2.4:创建自定义用户
通常情况下,处于安全考虑,对不同的数据表需要设置不同的访问权限。此时,就需要创建不同的用户。
一个新建的用户能够访问并操作数据库,须经过以下步骤:

第一步:创建用户

CREATE USER accp			-- 指定用户名
IDENTIFIED BY accp			-- 指定登录密码
DEFAULT TABLESPACE tbs1		-- 指定默认表空间,如果不指定将用SYSTEM表空间作为默认表空间
TEMPORARY TABLESPACE TEMP;		-- 指定临时表空间(可选)

第二步:分配角色

GRANT CONNECT TO accp		-- CONNECT角色将允许用户连接数据库
GRANT RESOURCE TO accp		-- RESOURCE角色允许用户使用数据库中的空间

第三步:赋予操作权限

GRANT CREATE SEQUENCE TO accp	-- 允许用户创建序列
GRANT SELECT ON EMP TO accp	    -- 赋予用户查询 EMP 表的权限(从scott用户授权给accp用户)
GRANT ALL ON EMP TO accp;		-- 赋予操作表的所有权限

这样,用户才算创建成功。以下还有一些扩展操作。

修改口令

ALTER USER accp			-- 指定修改的用户名
IDENTIFIED BY aptech		-- 指定新密码

删除用户

DROP USER accp [CASCADE];
-- 当该用户下有任何的模式对象(表,试图)时,必须加 CASCADE,否则不能删除用户

Oracle 服务说明

OracleServiceORA9				-- 启动数据库,必须启动
OracleOraHome90TNSListener		-- 启动服务器的监听程序,从外部客户端连接数据库所必须
OracleOraHome90HTTPServer		-- 启动Oracle HTTP服务器,从网络服务数据库所必须,如用iSQL*plus访问数据库

3. 查看用户及权限信息

1.查看所有用户:

select * from dba_user;
select * from all_users;
select * from user_users;

2.查看用户系统权限:

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

3.查看用户对象权限:

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

4.查看所有角色:

select * from dba_roles;

5.查看用户所拥有的角色:

select * from dba_role_privs;
select * from user_role_privs;

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

select username,default_tablespace from user_users;

总结

到此这篇关于Oracle表空间管理和用户管理介绍的文章就介绍到这了,更多相关Oracle表空间 用户管理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • oracle表空间扩容详情

    目录 1.表空间容量指标查询 2.表空间扩容 方式1:手工改变已存在数据文件的大小 方式2:允许已存在的数据文件自动增长 方式3:增加数据文件 1.表空间容量指标查询 SELECT TABLESPACE_NAME "表空间", To_char(Round(BYTES / 1024, 2), '99990.00') || '' "实有", To_char(Round(FREE / 1024, 2), '99990.00') || 'G' "现有",

  • Oracle表空间设置和管理浅析

    前言 表空间是 Oracle 特有的一种逻辑结构,是管理和组织 Oracle 数据文件一种方式,一个Oracle 数据库能够有一个或多个表空间,而一个表空间则对应一个或多个物理的数据库文件.Oracle 的表空间分为永久空间和临时表空间,同时又分为 smallfile tablespace和 bigfile tablespace.表空间管理是 Oracle dba的一项重要日常工作. 今天小编就从永久表空间管理和临时表空间管理两个维度,详细介绍 Oracle表空间管理的具体操作. 永久表空间管理

  • Oracle表空间与权限的深入讲解

    目录 表空间 表空间的典型应用 默认表空间 表空间查询命令 创建表空间 创建临时表空间 删除表空间 用户与表空间的关系 权限分类 系统权限 给用户授权 撤销用户权限 角色 查看权限 总结 表空间 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库.所有的数据库对象都存放在指定的表空间中.但主要存放的是表,所以称作表空间. Oracle中很多优化都是基于表空间的设计理念而实现的,一个数据库可以包含多个表空间,一个表空间只能属于一个数据库.一个表空间包含多个数据文件,一个数据文件只能属于一个表空

  • Oracle如何设置表空间数据文件大小

    Oracle数据文件默认大小上限是32G,如果要数据文件大于32G,需要在数据库创建之初就设置好. 表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K,8K.16K.32K.64K等几种大小,ORACLE的物理文件最大只允许4194304个数据块(由操作系统决定),表空间数据文件的最大值为 4194304×DB_BLOCK_SIZE/1024M. 即: 4k最大表空间为:16384M=16G 8K最大表空间为:32768M=3

  • Oracle19c 创建表空间遇到的坑

    #常用的几个代码 --查询临时表空间 select name from v$tempfile; --查询表空间 select name from v$datafile; 修改用户的密码 alter user 用户名 identified by 密码; 昨天部署好oracle19c后,用以前oracle11g的笔记来创建表空间遇到了坑.这里写一下总结. 其实之所以遇到坑是因为相比于oracle11g,oracle19c多了一个CDB和PDB的概念(从12C开始出现). #确定表空间文件存储目录 [

  • Oracle表空间管理和用户管理介绍

    目录 Oracle介绍 1. Oracle表空间 2. Oracle用户权限管理 3. 查看用户及权限信息 总结 Oracle介绍 Oracle(甲骨文)公司 1977年,三人合伙创办(Software Development Laboratories,SDL) 1979年,更名为Relational Software Inc.,RSI 1983年,为了突出核心产品 ,RSI更名为Oracle 2002年04月26日,启用"甲骨文"作为中文注册商标 1. Oracle表空间 表空间是O

  • shell脚本操作oracle删除表空间、创建表空间、删除用户

    oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell使用非oracle用户执行该脚本参数说名$1:base表空间的用户名$2:同步表空间的用户名使用场景测试用,base表空间用于升级建立一些固化数据.同步表空间用于测试用,每次去和base表空间拉平数据 复制代码 代码如下: #!/bin/shoraclehome=$ORACLE_HOMEecho $oraclehomelocaldir="/oracle/data"echo $localdir#

  • Oracle 表空间查询与操作方法

    一.查询篇 1.查询oracle表空间的使用情况 select b.file_id 文件ID, b.tablespace_name 表空间, b.file_name 物理文件名, b.bytes 总字节数, (b.bytes-sum(nvl(a.bytes,0))) 已使用, sum(nvl(a.bytes,0)) 剩余, sum(nvl(a.bytes,0))/(b.bytes)*100 剩余百分比 from dba_free_space a,dba_data_files b where a.

  • 六分钟学会创建Oracle表空间的实现步骤

    经过长时间学习创建Oracle表空间,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西. 1.先查询空闲空间 复制代码 代码如下: select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space; 2.增加Oracle表空间 先查询数据文件名称.大小和路径的信息,语句如下: 复制代码 代码如下: select tablespace_name,file_id,bytes,file_name fr

  • Oracle表空间详解

    目录 1. 基本概念 2. 范围分区 3. Hash分区(散列分区) 4. 复合分区 1. 基本概念 Oracle表分区是将一个大型表分割成更小.更易于管理的部分的技术.分区后的表被称为分区表,其中每个分区都可以独立地进行维护.管理和查询.表分区可基于表中的一列或多列,称为分区键,分区键的值确定了每行数据属于哪个分区. 使用分区具有以下优点: (1)改善查询性能:由于表分区将数据分割成更小.更可管理的部分,对分区对象的查询可以仅搜索特定分区,提高检索速度.如在范围分区的情况下,可以更快地查询特定

  • oracle表空间的创建及dmp 文件的导入(推荐)

    --用oracle系统权限的账号 登陆 -- 1.创建用户 create user u_name identified by "u_password"; --2.赋予权限 grant dba, resource, connect to u_name; grant create session to u_name; grant create table to u_name; grant create view to u_name; grant create tablespace to u

  • Oracle表空间不足的两种解决办法

    首先查询表空间的大小以及文件路径地址 select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 解决方案一 //修改表空间大小(32000可改为想要的数值) alter database datafile '要修改的数据文件地址' resize 32000m; 解决方案二 //新增数据文件 ALTER

  • Oracle表空间查看sql使用情况

    DBA在日常工作中,最重要的一点就是查看表空间的使用情况,去了解是否有表空间满了的情况出现. 具体方法和步骤如下所示: 第一步:打开PLSQL 第二步:新建一个SQL窗口 第三步:输入代码: select a.tablespace_name tablespace_name ,nvl(ceil((1 - b.free / a.total) * 100), 100) "usage_of_tablespace%" ,nvl(b.free, 0) "left_space(M)&quo

随机推荐