oracle中表空间

  表空间是oracle对物理数据库上相关数据文件的逻辑映射。一个数据库逻辑上被划分成一个或若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(system表空间)。每个表空间由同一磁盘上的一个或者多个文件组成,这些文件就是数据文件。一个数据文件只能属于一个表空间。在表空间中可以建立多个用户。

1)表空间的建立

  基本语法格式:

      create tablesapce 表空间名称
      datafile '文件的路径(服务器上的路径)'
      size 大小
      autoextend on自动扩展
      next 每次扩展的大小

例如:

  create  tablespace firstspace
  datafile 'e:\firstspace.dbf'
  size 100m
  autoextend on
  next 10m;

2)查看表空间

  查看oracle数据库所有的表空间

  SELECT  tablespace_name FROM dba_tablespaces;

3)删除表空间包括物理文件

   DROP TABLESPACE firstspace1 INCLUDING CONTENTS AND DATAFILES;

4)创建用户

  在一个表空间中可以创建多个用户。

  语法格式:

    create user username

    identified by userpassword

    default tablespace tablespacename(用于指定该用户属于哪个表空间)

  4.1新创建的用户是没有权限的,

在oracle中有三种用户角色:connect 角色,resource 角色,dba角色。

三种角色有不同的权限

connect角色:它是授予最终用户的最基本的权利,它大概有如下这些权利:

    alter session ---修改会话的权利

    create cluster ---建立聚簇

    create database link ---建立数据库连接

    create sequence ---建立序列

    create session--- 建立会话

    create synonym---建立同义词

    create view ---建立视图

resource角色:一般是授予开发人员的。它有如下权利:

    create cluster ---建立聚簇

    create procedure---建立存储过程

    create sequence ---建立序列

    create table---建立表

    create trigger---建立触发器

    create type---建立类型

dba角色:dba拥有全部的特权,是系统的最高权限,只有dba才可以创建数据库结构,并且系统权限也需要DBA授权,并且dba用户可以操作全体用户的任意表,包括删除表等。

进入sys进行给用户授权:

    sqlplus sys/admin as sysdba

    授予dba权限: grant dba to user(用户名);

    撤回权限:revoke dba from user;

给用户授权完成过后,查看当前用户权限:  select * from user_role_privs;

完成建立表空间以及经过授权过后,就可以进行相应操作了。

5)这时用新用户登录进去可以在进行以下操作

  5.1 查看当前用户拥有的表: select * from user_tables;

  5.2 查看DBA用户拥有的表:select * from dba_tables;不过没啥意义。

  5.3 查看当前表空间的使用情况:select * from user_users;

6)删除用户

  6.1) drop user username ;//当你这个用户里面没有任何对象时,没有任何内容使用这个删除用户。

  6.2) drop user username cascade;//强制删除这个用户,不管你里面有没有对象。

oracle中的表空间以及和表空间有关的操作的更多相关文章

  1. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  2. Oracle中使用游标获取指定数据表的所有字段名对应的字符串

    操作步骤:打开PLSQL Developer后,直接执行下面的语句就可以出来 --Oracle中使用游标获取指定数据表的所有字段名对应的字符串 declare mytablename VARCHAR( ...

  3. oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息

    来源于网上整理 总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1.查询出所有的用户表select * fro ...

  4. Oracle中关于清除数据和释放表空间

    一.表的重命名 flashback table test2 to before drop rename to test3;--[to test3]将表重命名 drop table test3 purg ...

  5. 在Oracle中恢复被DROP掉的表

    在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦.如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观!以前只知道Windows有个回 ...

  6. Oracle中的自连接(self join)-当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接。

    http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自 ...

  7. Oracle中根据列名找到所属的表

    oracle中如何根据一个字段名查找出所属的表名? 用如下语句, select * from user_tab_columns where column_name='列名', 例子:select * ...

  8. Oracle中清除BIN$开头的垃圾表的解决办法

    10g的新特性flashback闪回区 在10g中bin开头表示已经删除的放在回收站的表,oracle在删除表时并没有彻底的删除,而是把表放入回收站!purge recyclebin清空回收站即可. ...

  9. Oracle中清除BIN$开头的垃圾表的解决办法 [转]

    oracle drop table的时候,不会彻底删除该表,它将drop的表放到了自己的回收站里,放到回收站的表就是我们看到的形如bin$/rt62vkdt5wmrjfcz28eja==$0的表,其中 ...

  10. Oracle中增加,修改,删除表中的列

    有些时候,当一个表已经建好,并且已经使用后,发现需要对表结构进行修改,这个时候就要对表中的列进行增删查改操作. 为表增加新列: ALTER TABLE table_name ADD ( column_ ...

随机推荐

  1. JQuery实现表格动态增加行并对新行添加事件

    实现功能: 通常在编辑表格时表格的行数是不确定的,如果一次增加太多行可能导致页面内容太多,反应变慢:通过此程序实现表格动态增加行,一直保持最下面有多个空白行. 效果: 一:原始页面 二:表1增加新行并 ...

  2. Filter、Listener、Interceptor、Controller in a Request

    从以下程序运行Log 可以看出在一个Request 执行过程中 MyListener>>requestInitialized  >>>  MyFilter>> ...

  3. C++入门经典-例5.13-内存安全,被销毁的内存

    1:当指针所指向的内存被销毁时,该区域不可复用.若有指针指向该区域,则需要将该指针置为空值(NULL)或者指向未被销毁的内存. 内存销毁实质上是系统判定该内存不是变成人员正常使用的空间,系统也回将它们 ...

  4. LeetCode124----二叉树中最大路径和

    给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不需要经过根节点. 示例 1: 输入: [1,2,3] 1 / \ 2 ...

  5. SELECT list is not in GROUP BY clause and contains nonaggregated

    安装了mysql5.7,用group by 查询时抛出如下异常 SQLSTATE[42000]: Syntax error or access violation: 1055 Expression # ...

  6. Oracle 数据自动备份 通过EXP备份

    先写个批处理文件(.bat),具体如下:@echo off@echo ================================================@echo  windows环境下 ...

  7. docker top 和 docker exec ps 命令查看的PID区别

    区别在于 docker top 查看到的 PID 属于宿主机的 PID.我们可以通过  宿主机执行 ps -ef 查看结果 也可以进去容器执行 top 和 ps查看结果

  8. 在 vue 中用 transition 实现轮播效果

    概述 今天我接到一个需求:轮播效果.本来我是打算使用 Swiper 实现的,但是想起来貌似 transition 也能实现.于是就试了下,真的可以,还挺简单的,于是就记录下来,供以后开发时参考,相信对 ...

  9. ArcGISDynamicMapServiceLayer 和 ArcGISTiledMapServiceLayer 区别

    ArcGISDynamicMapServiceLayer(动态地图服务)通常用于实时显示经常变化的数据,支持控制单个图层可见性,可动态投影.但缺点是显示效果较差,整个服务出图较慢:ArcGISTile ...

  10. nginx下配置vue前端项目

    server { listen 80; server_name _; root /opt/h5/index/; location / { index index.html index.htm inde ...