本系列链接导航:

[独孤九剑]Oracle知识点梳理(一)表空间、用户

[独孤九剑]Oracle知识点梳理(二)数据库的连接

[独孤九剑]Oracle知识点梳理(三)导入、导出

[独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

[独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View

[独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence

[独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

[独孤九剑]Oracle知识点梳理(八)常见Exception

[独孤九剑]Oracle知识点梳理(九)数据库常用对象之package

[独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

1、表空间

  Oracle 的结构是 区/段、表空间、用户、表...(区段是Oracle存储方面的概念,编码人员不需要了解过多)。当我们安装完Oracle后,默认就会拥有一个数据库,之后的所有操作,都是在这个默认的数据库中进行的。

  注: 这里要与SqlServer的数据库(database)概念区别开,SqlServer中的数据库是我们最常操作的,给我们的印象是每个数据库是相互隔离的,不同用户(user)登录后可看到所有数据库并进行操作;而Oracle中我们的操作都是在同一个数据库(database或叫数据库实例)中进行的,起到隔离作用的是用户(user),不同用户(user)登录后,只能看到自己所拥有的对象(如表、视图、过程、函数等);当然,以上的前提是权限最小的情况下。

  用户(user)拥有多个表(Table)、视图(View)、存储过程(Procedure)、函数(Function)、包(packgae)等;用户及其包含的对象要存储到某一个表空间中;一个表空间可以存储多个用户信息。

1.1、操作表空间  

  Oracle的表空间分为:

  • 永久表空间(也叫数据表空间,存放永久性数据,如表、索引等)
  • 临时表空间(不能存放永久性对象,用于保存数据库排序,分组时产生的临时数据)
  • UNDO表空间(保存数据修改前的镜像)

1.1.1、操作永久表空间

a) 创建(表空间文件为1个)

 create tablespace tablespaceName
logger -- 可将表空间的创建信息记录到Oracle的日志中
3 datafile 'tablespaceName.dbf' --保存文件的路径,习惯上将表空间的名称用于文件的名称
                     --(可设置绝对路径,相对路径的话会保存到默认目录下)
4 size 64m --最初的数据文件大小
5 autoextend on --开启自增长
6 next 64m maxsize 1024m --每次增长64m,最大1024m
7 extent management local; --extent management 有两种方式 local(本地管理,默认);
                                  --dictionary(数据字典管理)

b) 创建(表空间文件为多个)

 create tablespace tablespaceName
logger
datafile
'tablespaceName01.dbf' size 64m autoextend on next 64m maxsize unlimited, --设置自增长且无上限
'tablespaceName02.dbf' size 64m autoextend on next 64m maxsize unlimited,
'tablespaceName03.dbf' size 64m autoextend on next 64m maxsize unlimited
extent management local;

c) 表空间增加文件

 alter tablespace tablespaceName
add datafile 'tablespaceName04.dbf'
3 size 64m autoextend on
next 64m maxsize unlimited;

d) 删除表空间

 drop tablespace tablespaceName including contents and datafiles cascade constraints;

1.1.2、创建临时表空间

a) 创建(表空间文件为1个)

 create tablespace tablespaceName
logger -- 可将表空间的创建信息记录到Oracle的日志中
3 tempfile 'tablespaceName.dbf' --保存文件的路径,习惯上将表空间的名称用于文件的名称
                     --(可设置绝对路径,相对路径的话会保存到默认目录下)
4 size 64m --最初的数据文件大小
5 autoextend on --开启自增长
6 next 64m maxsize 1024m --每次增长64m,最大1024m
7 extent management local; --有两种方式 local(本地管理,默认)、dictionary(数据字典管理)

b) 创建(表空间文件为多个)

 create tablespace tablespaceName
  logger
  tempfile
  'tablespaceName01.dbf' size 64m autoextend on next 64m maxsize unlimited, --设置自增长且不设置上线
  'tablespaceName02.dbf' size 64m autoextend on next 64m maxsize unlimited,
  'tablespaceName03.dbf' size 64m autoextend on next 64m maxsize unlimited
  extent management local;

c) 给表空间增加文件

 alter tablespace tablespaceName
  add tempfile 'tablespaceName04.dbf' size 64m autoextend on next 64m maxsize unlimited;

d) 删除表空间

 drop tablespace tablespaceName including contents and datafiles cascade constraints;

1.1.3、创建UNDO表空间

a) 创建

 create undo tablespace tablespaceName datafile 'tablespaceName.dbf' size 64m;

b) 修改系统默认UNDO表空间(有UNDOTBS修改为自己创建的)

 alter system set undo_tablespace=tablespaceName;

c) 删除UNDO表空间

 drop tablespace "tablespaceName" including contents and datafiles;

1.2、创建用户

  用户(user)的创建过程需要:a)设置用户名、密码;b)设置数据表空间;c)设置临时表空间;d)设置权限,几个步骤。

  • 创建用户,设置用户名、密码、表空间
 create user userName identified by password
  defalut tablespace dataTablespaceName
  temporary tablespace tempTablespaceName; -- a、b、c
  • 设置权限
 grant connect,resource,exp_full_database,imp_full_database to userName;    --d
  • 用户的修改及删除

 --修改密码
alter user userName identified by password2; --删除用户及其拥有对象
drop user userName cascade;

1.2.1、权限和角色

  在创建用户的过程中,有设置权限的操作。Oracle的内置了多个角色,角色拥有不同权限。

a) Oralce的特殊权限

  1. 系统权限unlimited tablespace是隐含在dba, resource角色中的一个系统权限. 当用户得到dba或resource的角色时, unlimited tablespace系统权限也隐式受权给用户.
  2. 系统权限unlimited tablespace不能被授予role, 可以被授予用户.
  3. 系统权限unlimited tablespace不会随着resource, dba被授予role而授予给用户.

b) 特殊角色

  1. dba角色,是授权数据库管理员的权限
  2. connect角色, 是授予最终用户的典型权利,最基本的 一个(CREATE SESSION)
  3. resource角色,是授予开发人员的 默认有八个权限(CREATE SEQUENCE,CREATE TRIGGER,CREATE CLUSTER,CREATE PROCEDURE,CREATE TYPE,CREATE OPERATOR,CREATE TABLE,CREATE INDEXTYPE)
  4. exp_full_database角色,拥有导出数据库的权限
  5. imp_full_database角色,拥有导入数据库的权限

c) 用户授权常用参数:

     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 --删除会话
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存储过程
debug connect session
exp_full_database --导出
imp_full_database --导入

1.3、用户权限查询(需要拥有dba角色)

1.3.1、查看用户拥有那些角色

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

1.3.2、查看角色拥有那些权限

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

1.3.3,为用户取消角色

revoke resource from userName;

1.3.4,为用户取消权限

revoke unlimited tablespace from userName;

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

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

  当不同版本数据库的导入导出操作是,需要标记版本号

[独孤九剑]Oracle知识点梳理(一)表空间、用户的更多相关文章

  1. [独孤九剑]Oracle知识点梳理(十)%type与%rowtype及常用函数

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  2. [独孤九剑]Oracle知识点梳理(九)数据库常用对象之package

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  3. [独孤九剑]Oracle知识点梳理(八)常见Exception

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  4. [独孤九剑]Oracle知识点梳理(七)数据库常用对象之Cursor

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  5. [独孤九剑]Oracle知识点梳理(六)数据库常用对象之Procedure、function、Sequence

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  6. [独孤九剑]Oracle知识点梳理(五)数据库常用对象之Table、View

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  7. [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  8. [独孤九剑]Oracle知识点梳理(三)导入、导出

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

  9. [独孤九剑]Oracle知识点梳理(二)数据库的连接

    本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...

随机推荐

  1. PAT 天梯赛 L1-043. 阅览室 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L1-043 思路 将每一次 借出和归还 都用 MAP 标记 如果归还的时候 已经被标记过了 那么 ANS ++ 并且 ...

  2. swift的值类型和引用类型

    前言 最近在学设计模式中,发现 Swift 中的 struct,class 以及 enum 在一般的使用中能够做到互相替换,因此探究其背后的逻辑就十分有必要.而这一问题又引出了 Swift 中的值类型 ...

  3. ODS

    一般在带有ODS的系统体系结构中,ODS都设计为如下几个作用: 1.在业务系统和数据仓库之间形成一个隔离层 一般的数据仓库应用系统都具有非常复杂的数据来源,这些数据存放在不同的地理位置.不同的数据库. ...

  4. Python学习进程(4)运算符

        本节主要介绍Python的运算符.     (1)Python语言支持的运算符类型: .算术运算符 .比较(关系)运算符 .赋值运算符 .逻辑运算符 .位运算符 .成员运算符 .身份运算符 . ...

  5. Dubbo框架入门介绍

    背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进. 单一应用架构 当网站流量很小时,只需一个 ...

  6. 跨平台移动开发 App-Framework DEMO 演示

    穿越到2015 回到->MarkFan的程序员客栈 App-Framework   DEMO 演示 点击APK包下载 点击Demo代码下载 官方网站 :http://app-framework- ...

  7. java屏幕截取

    CaptureScreen.java ```import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; i ...

  8. INSPIRED启示录 读书笔记 - 第39章 打造平台产品的经验

    最具挑战性的工作 产品管理中难度最大,也最能体现产品经理实力的是定义成功的平台产品.所谓平台产品是指一类基础软件,应该开发者能在其基础上开发应用程序 平台产品要面对三种不同的客户 1.应用软件供应商: ...

  9. vRA7 Software Component

    将自定义Property传递给Software Component 示例: vRA7 支持 Software Components,并且还可以在用户的申请页面中,做一个下拉菜单,让用户选择需要安装的S ...

  10. c# 图片 与 BASE64 字符串 互相转换。

    using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System. ...