--表空间管理为主、附带 权限管理、数据字典

/*
  表空间是逻辑结构,数据文件是物理结构
  一个表空间对应多个段segment 段可以对应多个数据文件、跨磁盘
  一个段对应多个盘区 extent  一个盘区只能位于一个数据文件上
  一个盘区对应多个 数据块 block
*/

--通过数据字典查询 表空间
    select * from dba_data_files; --可以看出 一个表空间对应多个数据文件

/*
    默认表空间
    example 存放各种样例
    sysaux system的辅助空间。主要用于存储数据字典之外的其他数据对象,这样可以减少system表空间的负荷
    system 存放数据字典,包括表、视图、存储过程的定义等
    temp 存放sql语句处理的表和索引的信息。数据排序就用这个表空间
    undotbs1 存放撤销数据的表空间
    users 通常用于存放 应用系统所使用的数据库对象

    SYSTEM 表空间
    进行数据库操作所必须要求的表空间
    包含数据字典的信息、存储过程和数据库触发子的定义
    包括系统回滚段
    可以存储用户数据,但最好不要存储用户数据

    非SYSTEM 表空间
    可以包括回滚段、临时段、应用数据、应用索引和用户空间
    提供了一种更加灵活的数据库管理基础
*/
    ) from dba_segments  group by owner;

--创建表空间语法
    create tablespace  <tablespace name>
    data files 数据文件名以及大小
    storage  设置表空间的存储参数 (存储子句)
    bring online after creation 表空间在线
    leave offline after creation 表空间离线

--查看表空间信息
    select * from dba_tablespaces;

--查看数据文件的信息
    select file_name,tablespace_name from dba_data_files;

--创建表空间 例句
    create tablespace user_space
    datafile 'D:\app\Administrator\oradata\bonc\DB_TEST.DBF'
    size 30M
    default storage
    (
          initial 10k
          next 50k
          minextents
          maxextents
          pctincrease
    )
    online;
--创建临时表空间 例句
    CREATE TEMPORARY TABLESPACE DB_TEMP
    TEMPFILE 'D:\app\gloryzheng\oradata\dbz\DB_TEMP.DBF'
    SIZE 320M
    AUTOEXTEND ON
    NEXT 320M MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL;

--删除表空间
    drop tablespace user_space including  contents cascade  constraints;

--使表空间在线
    set tablespace users online;

--修改表空间
    alter tablespace user_space
    add datafile 'D:\app\Administrator\oradata\bonc\DB_TEST2.DBF'
    rename datafile 'D:\app\Administrator\oradata\bonc\DB_TEST.DBF' to 'D:\app\Administrator\oradata\bonc\DB_TEST1.DBF'
    default storage
    online
    offline
     normal
     temporary
     immediate;
    begin backup
    end;

--删除用户并级联删除
    drop user tourdb cascade;

--为tourdb 创建表空间
    CREATE TABLESPACE DB_ZHENG
    LOGGING
    DATAFILE 'D:\app\Administrator\oradata\orcl\DB_ZHENG.DBF'
    SIZE 320M
    AUTOEXTEND ON
    NEXT 320M MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL;

--创建用户并指定表空间
    CREATE USER tourdb IDENTIFIED BY ch7YH3vd
    ACCOUNT UNLOCK
    DEFAULT TABLESPACE DB_DATA
    TEMPORARY TABLESPACE DB_TEMP;

--修改密码
    alert user scott identified by tiger;
--增加表空间的配额
    alter user gloryzheng quota unlimited  on  DB_ZHENG;
    alter user gloryzheng quota 10m on db_zheng;

--查看当前用户的权限
    select * from user_sys_privs where privilege like '%grant%';
--查看所有用户的权限
    select * from user_tab_privs where owner like'%gloryzheng%';
--查看字符集
    select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERSET';
--数据库服务器字符集
    select * from nls_database_parameters;
--客户端字符集
    select * from nls_instance_parameters;
--session字符集
    select * from nls_session_parameters;

--在环境变量中 新建 系统变量 变量名:NLS_LANG 变量值 为服务器字符集中 NLS_LANGUAGE的值+.+NL_CHARACTERSET的值 即可解决字符集问题

--授权用户 对表操作
    --会话权限
    grant create session to gloryzheng, tour,tourdb,bkepler;
    --授权查询任何表
    grant select any table to gloryzheng, tour,tourdb,bkepler;
    --授权查询任何字典
    grant select any dictionary to gloryzheng, tour,tourdb,bkepler;
    --创建表权限
    grant create any table to gloryzheng, tour,tourdb,bkepler;
    --删除表权限
    grant drop any table to gloryzheng, tour,tourdb,bkepler;
    --授予插入表的权限
    grant insert any table to gloryzheng, tour,tourdb,bkepler;
    --授予创建存储过程的权限
    grant create procedure to gloryzheng;
    --授予dba角色
    grant dba to gloryzheng,tour,tourdb,bkepler;
    --回收dba角色
    revoke dba from gloryzheng, tour,tourdb,bkepler;
    --删除角色
    drop role xxx 

--查看用户相关 数据字典
    select table_name from user_tables; 或  select *from tab;--查看用户所拥有的表
    select view_name from user_views; --查看用户所拥有的视图
    select trigger_name from user_triggers;--查看用户所拥有的触发器
    select sequence_name from user_sequence;--查看用户拥有的序列
    select index_name from user_indexs;--查看用户拥有的索引
    select *from session_privs;--查看用户所拥有的权限
    conn scott/tiger;--切换用户
    conn scott/tiger as sysdba;--将用户赋予某种角色登录
    conn system/unis;  select username from dba_users;--查看所有用户

--登录SQL Plus
    sqlplus 用户名/密码@db1 as sysdba;

--导出用户文件 用户名/密码为登录现有数据库所用
  /db1 file=d:/scott.dmp 

--如果导出表时 用户是dba角色 那么导入表时 用户也应该是dba角色 用户名、密码为目标数据库所有
  imp 用户名/密码@SID (目标数据库名) file=dmp文件路径 fromuser=导出用户名 touser=导入用户名

--查询表空间使用情况
    SELECT Upper(F.TABLESPACE_NAME)         "表空间名",
           D.TOT_GROOTTE_MB                 "表空间大小(M)",
           D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
           To_char(, ), '990.99')
           || '%'                           "使用比",
           F.TOTAL_BYTES                    "空闲空间(M)",
           F.MAX_BYTES                      "最大块(M)"
    FROM   (SELECT TABLESPACE_NAME,
                     ), ) TOTAL_BYTES,
                     ), ) MAX_BYTES
            FROM   SYS.DBA_FREE_SPACE
            GROUP  BY TABLESPACE_NAME) F,
           (SELECT DD.TABLESPACE_NAME,
                     ), ) TOT_GROOTTE_MB
            FROM   SYS.DBA_DATA_FILES DD
            GROUP  BY DD.TABLESPACE_NAME) D
    WHERE  D.TABLESPACE_NAME = F.TABLESPACE_NAME
    ;

--查询表空间的free space
     , ) AS MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name;

--查询表空间的总容量
      as MB from dba_data_files group by tablespace_name;

--查询表空间使用率
    --例句1
    SELECT total.tablespace_name,
           )           AS Total_MB,
           ) AS Used_MB,
            , )
           || '%'                       AS Used_Pct
    FROM   (SELECT tablespace_name,
                     AS MB
            FROM   dba_free_space
            GROUP  BY tablespace_name) free,
           (SELECT tablespace_name,
                     AS MB
            FROM   dba_data_files
            GROUP  BY tablespace_name) total
    WHERE  free.tablespace_name = total.tablespace_name;
    --例句2
    SELECT a.tablespace_name                        "表空间名",
           total                                    "表空间大小",
           free                                     "表空间剩余大小",
           ( total - free )                         "表空间使用大小",
           )  "使用率   %"
    FROM   (SELECT tablespace_name,
                   Sum(bytes) free
            FROM   DBA_FREE_SPACE
            GROUP  BY tablespace_name) a,
           (SELECT tablespace_name,
                   Sum(bytes) total
            FROM   DBA_DATA_FILES
            GROUP  BY tablespace_name) b
    WHERE  a.tablespace_name = b.tablespace_name;
    --例句3
    SELECT TABLESPACE_NAME "TABLESPACE",
           To_char(, ), '99990.00')
           || ''           "TOTAL",
           To_char(, ), '99990.00')
           || 'G'          "FREE",
           To_char(, ), '99990.00')
           || 'G'          "USED",
           To_char( , '99990.00')
           || '%'          "PERCENT"
    FROM   (SELECT A.TABLESPACE_NAME                             TABLESPACE_NAME,
                     ))              BYTES,
                     ))               FREE,
                     )) USED
            FROM   (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                           Sum(BYTES)      BYTES
                    FROM   DBA_DATA_FILES
                    GROUP  BY TABLESPACE_NAME) A,
                   (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                           Sum(BYTES)      FREE
                    FROM   DBA_FREE_SPACE
                    GROUP  BY TABLESPACE_NAME) B
            WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME);
            --WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
     * USED / BYTES) DESC;
    --例句4
    select tablespace_name,
           max_gb,
           used_gb,
            * used_gb / max_gb) pct_used
      from (select a.tablespace_name tablespace_name,
                   )) , ),
                         ) used_gb,
                   , ), ) max_gb
              from (select f.tablespace_name,
                           sum(f.bytes) bytes_alloc,
                           sum(decode(f.autoextensible,
                                      'YES',
                                      f.maxbytes,
                                      'NO',
                                      f.bytes)) maxbytes
                      from dba_data_files f
                     group by tablespace_name) a,
                   (select f.tablespace_name, sum(f.bytes) bytes_free
                      from dba_free_space f
                     group by tablespace_name) b
             where a.tablespace_name = b.tablespace_name(+)
            union all
            select h.tablespace_name tablespace_name,
                   )) , ), ) used_gb,
                   round(sum(decode(f.autoextensible,
                                    'YES',
                                    f.maxbytes,
                                    'NO',
                                    f.bytes)) , ),
                         ) max_gb
              from v$temp_space_header h, v$temp_extent_pool p, dba_temp_files f
             where p.file_id(+) = h.file_id
               and p.tablespace_name(+) = h.tablespace_name
               and f.file_id = h.file_id
               and f.tablespace_name = h.tablespace_name
             group by h.tablespace_name)
    ;

【Oracle】表空间管理的更多相关文章

  1. ORACLE表空间管理维护

    1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...

  2. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  3. oracle 表空间管理

    1.创建表空间 03:01:55 sys@ORADB11G> create tablespace TSPITR datafile '/u01/app/oracle/oradata/TSPITR0 ...

  4. ArcSDE for Oracle表空间管理——暂时(TEMP)表空间

    Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...

  5. ORACLE表空间管理方式segment和extent

    A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stor ...

  6. oracle 表空间管理相关(原创)

    通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...

  7. Oracle表空间管理相关

    以下以我自己的测试环境举例: 1.表空间的 block_size 为 8192字节,即8KBytes.从数据字典中查到 max_size 为 2147483645,即约为15.9TBytes. 2.在 ...

  8. Oracle undo 表空间管理 (摘DAVID)

    Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...

  9. Oracle 表空间的日常维护与管理

    目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...

  10. Oracle表空间概述及其基本管理

    最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...

随机推荐

  1. Python-WXPY实现微信监控报警

    概述: 本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序.博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的将工作和学习联系在一起. 博文中主要使用到的 ...

  2. 细说Handler

    今天来说说Android一个重要类吧:Handler (我写的博客风格不适合新手,因为我讨厌新手教学,我都是直奔主题,不交代前因后果) 大家都知道Handler的用法一般是线程间的通讯,当然,一个线程 ...

  3. 51nod_1605:棋盘问题

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1605 题目中最有用的点其实还是x必为奇数 #include& ...

  4. json-server mock数据

    前言: 项目开发中,影响项目进程的常常是由于在前后端数据交互的开发流程中停滞,前端完成静态页面的开发后,后端迟迟未给到接口.而现在,我们就可以通过根据后端接口字段,建立一个REST风格的API接口,进 ...

  5. 极简的Android RecyclerView Adapter(使用DataBinding)

    阅读本篇文章需要读者对Android Databinding和RecyclerView有一定的了解. 简介 我们知道,DataBinding的核心理念是数据驱动.数据驱动驱动的目标就是View,使用D ...

  6. Linux项目自动部署

    场景:linux中自动部署项目在工作中经常遇到,快速高效的部署项目能够大幅提高工作效率.现在将项目部署的过程记录下来,以供参考,其中用到的知识点现在还有很多不很清楚,后面要好好琢磨琢磨! 1 项目部署 ...

  7. (转) Spring Boot JDBC 连接数据库

    文本将对在Spring Boot构建的Web应用中,基于MYSQL数据库的几种数据库连接方式进行介绍. 包括JDBC.JPA.MyBatis.多数据源和事务. 1 JDBC 连接数据库 1.1 属性配 ...

  8. 安装完ubuntu16.4.0之后要做的一些优化

    1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 sudo apt-get remove libreoffi ...

  9. 初学Python(九)——函数

    初学Python(九)--函数 初学Python,主要整理一些学习到的知识点,这次是函数. 函数定义: # -*- coding:utf-8 -*- #函数的定义 def my_function(x) ...

  10. VMware的安装和使用

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. VMware的安装和使用 1. 虚拟机的安装 这里安装虚拟机VMware10,下载安装程序,双击安装-->为 ...