一:Oracle表空间

1,Oracle表空间与SQL Server文件组对比

  SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级别的数据”提到了过表分区的概念,其实表分区说到本质上就是按一定条件把不同数据放在不同的数据文件里,这些数据文件在物理上是相对独立的,在逻辑上又是一个整体。特别强调一下,在SQL Server中,建表时是默认把所有的表都保存在PRIMARY默认文件组 ,当数据库中表很多,并且数据量很大时,会导致数据库性能严重下降,对于一些大数据的处理,有必要将一些大表数据放到不同的文件组中,以提高数据库的性能。这也是优化SQL Server 数据库的一个重要手段。

  从SQL Server转到Oracle也许会感到不适,因为Oracle里没有文件组和数据文件的概念。但是有表空间的概念,表空间是Oracle的逻辑结构,一个Oracle数据库可以有一个或者多个表空间,一个表空间又对应着多个物理的数据库文件。其实SQL Server的文件组转到Oracle就是表空间,Oracle的表空间转到SQL Server就是文件组。这篇博文重点来讨论Oracle的表空间。

2,创建,修改,删除Oracle表空间

  Oracle的表空间分了几种类型,临时表空间,用户表空间,还原表空间,大文件表空间等,我选择临时表空间和用户表空间为例来演示怎么在Oracle中创建表空间,创建表空间,一般都是DBA干的事情,所以我选择sys的用户登录创建表空间。

2.1,创建临时表空间,用TEMPFILE 关键字,下边几个参数要重点注意一下。

  SIZE *[K,M]表空间的初始大小,单位可以是[K,M]

  MAXSIZE *[K,M]表空间的最大存储值,maxsize unlimited 是指表空间的大小不受限制。

  AUTOEXTEND ON NEXT *[K,M] 设置表空间自动扩展

  EXTENT MANAGEMENT LOCAL本地管理表空间。

  extent是“区间”的意思,在oracle数据库中:extent management 有两种方式 extent management local(本地管理); extent management dictionary(数据字典管

理)默认的是local本地管理表空间有自动分配(AUTOALLOCATE)和统一大小分配(UNIFORM)两种空间分配方式,自动分配方式(AUTOALLOCATE)是由系统来自动决定extents

大小,而统一大小分配(UNIFORM)则是由用户指定extents大小。这两种分配方式都提高了空间管理效率。uniform:默认为1M大小,在temp表空间里为默认的,但是不能被应用

在undo表空间.

--创建
CREATE TEMPORARY TABLESPACE tsTempTest
TEMPFILE
'E:\DataBase\tsTempTest01.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M,
'E:\DataBase\tsTempTest02.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M,
'E:\DataBase\tsTempTest03.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL; --增加
ALTER TABLESPACE tsTempTest
ADD TEMPFILE
'E:\DataBase\tsTempTest04.DBF' SIZE 64M AUTOEXTEND ON NEXT 32M maxsize unlimited; --删除
DROP TABLESPACE tsTempTest INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

2.2,创建用户表空间,参数与临时表空间基本一致

--创建
CREATE TABLESPACE tsUserTest
datafile
'E:\DataBase\tsUserTest01.dbf' size 64M AUTOEXTEND ON NEXT 32M maxsize unlimited ,
'E:\DataBase\tsUserTest02.dbf' size 64M AUTOEXTEND ON NEXT 32M maxsize unlimited ,
'E:\DataBase\tsUserTest03.dbf' size 64M AUTOEXTEND ON NEXT 32M maxsize unlimited extent management local ; --增加
ALTER TABLESPACE tsUserTest
ADD DATAFILE
'E:\DataBase\tsUserTest04.DBF' SIZE 64M AUTOEXTEND ON NEXT 32M maxsize unlimited; --删除
DROP TABLESPACE tsUserTest INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

二:Oracle用户

1,创建用户:

创建用户时,需要注意如下几个参数。

IDENTIFIED BY *** ,用户的密码。

DEFAULT TABLESPACE  *** 默认用户表空间。

TEMPORARY TABLESPACE *** 默认临时空间。

CREATE USER xcj01 IDENTIFIED BY xcj01
DEFAULT TABLESPACE tsUserTest
TEMPORARY TABLESPACE tsTempTest;

2,修改密码:

alter user xcj01
identified by xcj01;

3,删除用户以及跟用户关联的对象:

drop user xcj01 CASCADE;

三:Oracle用户授权

1,Oralce的特殊权限

1.1,系统权限unlimited tablespace是隐含在dba, resource角色中的一个系统权限. 当用户得到dba或resource的角色时, unlimited tablespace系统权限也隐式受权给用户.

1.2,系统权限unlimited tablespace不能被授予role, 可以被授予用户.

1.3,系统权限unlimited tablespace不会随着resource, dba被授予role而授予给用户.

2,特殊角色

2.1,DBA角色,是授权数据库管理员的权限

2.2,CONNECT角色, 是授予最终用户的典型权利,最基本的  一个(CREATE SESSION)

2.3,RESOURCE角色,是授予开发人员的  默认有八个权限(CREATE SEQUENCE,CREATE TRIGGER,CREATE CLUSTER,CREATE PROCEDURE,CREATE TYPE,CREATE OPERATOR,CREATE TABLE,CREATE INDEXTYPE)

2.4,exp_full_database角色,拥有导出数据库的权限

2.5,imp_full_database角色,拥有导入数据库的权限

3,用户授权示

--授权
GRANT
CONNECT,
RESOURCE,
--DBA,
--unlimited tablespace,
CREATE SESSION,
CREATE ANY SEQUENCE,
CREATE ANY TABLE,
CREATE ANY VIEW ,
CREATE ANY INDEX,
CREATE ANY PROCEDURE,
CREATE ANY DIRECTORY,
ALTER SESSION,
ALTER ANY SEQUENCE,
ALTER ANY TABLE,
--ALTER ANY VIEW , --不能修改视图
ALTER ANY INDEX,
ALTER ANY PROCEDURE,
--ALTER ANY DIRECTORY, --不能修改目录
--DROP SESSION, --不能删除Session
DROP ANY SEQUENCE,
DROP ANY TABLE,
DROP ANY VIEW ,
DROP ANY INDEX,
DROP ANY PROCEDURE,
DROP ANY DIRECTORY,
SELECT ANY TABLE,
SELECT ANY DICTIONARY,
INSERT ANY TABLE,
UPDATE ANY TABLE,
DELETE ANY TABLE,
DEBUG ANY PROCEDURE,
DEBUG CONNECT SESSION,
exp_full_database,
imp_full_database
TO xcj01;

四:查询用户的权限

以下的查询中,基本都要以DBA的角色进行查询,如果权限不够,有可能查询不出来数据。

 1,查看用户拥有那些角色

select * from dba_role_privs a where a.grantee='XCJ01';
--或
select * from dba_sys_privs a where a.grantee='XCJ01';

2,查看角色拥有那些权限

select ROLE, PRIVILEGE from role_sys_privs where role='RESOURCE';   --RESOURCE,CONNECT,DBA
--或
select grantee,privilege from dba_sys_privs where grantee='RESOURCE';

3,为用户取消角色

revoke resource from XCJ01;

 4,为用户取消权限

revoke unlimited tablespace from XCJ01;

5,最后附加一个非常有用的技巧:查看Oracle的版本号。

select * from v$version where rownum <=1; 

五:总结

这些是Oracle的入门级知识,不是什么高深的理论,但是是经过项目的实践提炼,不管DBA还是开发人员都能用到,写出来与大家共勉。

http://www.cnblogs.com/xcj26/p/3759167.html

Oracle表空间,用户,用户授权的更多相关文章

  1. oracle 表空间,用户的创建及授权,表空间基本操作

    参考地址:https://www.cnblogs.com/zhaideyou/articles/5845271.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可 ...

  2. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  3. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  4. linux系统下创建oracle表空间和用户权限查询

    创建用户和表空间: 1.登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户) 2.以sysdba方式来打开sqlplus,命令 ...

  5. Oracle 表空间、用户

    一.表空间 临时表空间 创建临时表空间范例 CREATE TEMPORARY TABLESPACE duke_temp /* 临时表空间名称:duke_temp */ tempfile 'C:\ora ...

  6. Linux下Oracle表空间及用户创建

    记录详细过程以备使用 Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 Connected as sys@i ...

  7. 查看Oracle表空间以及用户与其默认表空间情况

    Oracle中一个表空间可能是多个用户的默认表空间,下面语句统计了用户及其默认表空间情况,如果用户多个,用户之间通过逗号分隔. select t.default_tablespace, to_char ...

  8. Oracle表空间和用户常用语句

    --删除空的表空间,但是不包含物理文件drop tablespace tablespace_name;--删除非空表空间,但是不包含物理文件drop tablespace tablespace_nam ...

  9. Oracle创建表空间、用户、授权

    在创建好数据实例(数据库)好后的基础上,后续做的事情如下: ---创建表空间 create tablespace LIS2011DATA logging datafile 'd:\oracle\pro ...

随机推荐

  1. js爬虫心得

    第一步:分析要爬的网站:包括是否需要登陆.点击下一页的网址变化.下拉刷新的网址变化等等 第二步:根据第一步的分析,想好爬这个网站的思路 第三步:爬好所需的内容 保存 爬虫过程中用到的一些包: (1)c ...

  2. php常用数组函数回顾一

    数组对于程序开发来说是一个必不可少的工具,我根据网上的常用数组函数,结合个人的使用情况,进行数组系列的总结复习.里面当然不只是数组的基本用法,还有相似函数的不同用法的简单实例,力求用最简单的实例,记住 ...

  3. js中arguments的用法

    了解这个对象之前先来认识一下javascript的一些功能: 其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载.Javascrip中国每个函数都会有一个Argume ...

  4. Bootstrap学习(1)

    文档顶部写上H5的DOCTYPE声明 head部分: <meta> (1)编码方式 (2)在IE运行最新的渲染模式  <meta http-equiv="x-ua-comp ...

  5. Unity3D心得分享

    本篇文章的内容以各种tips为主,不间断更新 系列文章 =========================== "Unity测试系列"文章索引 Unity-Animator深入系列 ...

  6. hdu5737(2016多校联赛第2场D)

    题意:给2组数据a和b数组,每次有2种操作:(+,l,r,x)把a数组第l个到第r个元素全置为x,(?,l,r)查询[l,r]之间哪些位置满足a[i]>=b[i](i>=l &&a ...

  7. cocoapods使用一直Updating local specs repositories的解决方案

    pod install 换成pod install --verbose --no-repo-update这个命令,前面的命令被墙了 ,<pre id="best-content-226 ...

  8. 【leetcode❤python】 204. Count Primes

    #-*- coding: UTF-8 -*- #Hint1:#数字i,i的倍数一定不是质数,因此去掉i的倍数,例如5,5*1,5*2,5*3,5*4,5*5都不是质数,应该去掉#5*1,5*2,5*3 ...

  9. mysql 存储过程和事件调度

    存储过程(procedure): 建立一个存储过程需要知道的基础知识 1.确定输入/输出的参数和类型: IN tname varchar(20) 其中 IN 表示输入参数,tname  是参数名 va ...

  10. OpenLayers图形与列表互动

    项目上遇到这样一种需求:查询数据库后得到结果(带地理位置的)列表,每个结果在地图上都是一个四边形,四边形之间有交叉,有重叠,需要实现地图上的四边形和结果列表的互动.抛开其他逻辑功能,互动需求可以表示为 ...