zoukankan      html  css  js  c++  java
  • oracle相关操作,存储、临时表空间、用户操作、启动过程

    表空间:此空间是用来进行数据存储的(表、function、存储过程等),所以是实际物理存储区域。
    临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。

    1. 查询表空间剩余字节大小
    SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"
    FROM DBA_FREE_SPACE
    WHERE TABLESPACE_NAME = '&tablespace_name'
    GROUP BY TABLESPACE_NAME;

    注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACE
    SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
    FROM DBA_TEMP_FREE_SPACE
    WHERE TABLESPACE_NAME = '&tablespace_name';

    2. 查询表空间所有数据文件路径
    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"
    FROM DBA_DATA_FILES
    WHERE TABLESPACE_NAME = '&tablespace_name';
    注:如果是临时表空间,请查询DBA_TEMP_FILES
    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
    FROM DBA_TEMP_FILES
    WHERE TABLESPACE_NAME = '&tablespace_name';

    3. 为空间不足的表空间增加数据文件
    ALTER TABLESPACE &tablespace_name ADD DATAFILE '&datafile_name' SIZE 2G;
    注:如果要为临时表空间扩容,使用下面的语句
    ALTER TABLESPACE &tablespace_name ADD TEMPFILE '&datafile_name' SIZE 2G;

    4.查看临时表空间的大小 和 数据文件路径
    SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
    FROM DBA_TEMP_FILES
    WHERE TABLESPACE_NAME = 'TEMP';
    或者
    select name, bytes/1024/1024 as "大小(M)" from v$tempfile order by bytes;

    5.重建并修改默认临时表空间办法:
    --查询当前数据库默认临时表空间名
    select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
    --创建新的临时表空间
    create temporary tablespace temp02 tempfile 'E:oracleoradatalimsTEMP02.DBF' size 1024M autoextend on;
    --修改默认表空间为刚刚建立的临时表空间
    alter database default temporary tablespace temp02;
    --查看用户所用临时表空间的情况
    SELECT USERNAME,TEMPORARY_TABLESPACE FROM DBA_USERS;
    --删除原来的临时表空间
    drop tablespace temp including contents and datafiles;
    --查看所有表空间名确认临时表空间是否已删除
    select tablespace_name from dba_tablespaces;

    --查找用户
    select * from dba_users;
    --查找工作空间的路径
    select * from dba_data_files;
    --删除用户
    drop user 用户名称 cascade;
    --删除表空间
    drop tablespace 表空间名称 including contents and datafiles cascade constraint;
    --删除用户,及级联关系也删除掉
    drop user LYK cascade;
    --删除表空间,及对应的表空间文件也删除掉
    drop tablespace LYK including contents and datafiles cascade constraint;

    dba、sysdba这两个系统角色有什么区别呢
    在说明这一点之前我需要说一下oracle服务的创建过程
    ·创建实例
    ·启动实例
    ·创建数据库(system表空间是必须的)
    启动过程
    ·实例启动
    ·装载数据库
    ·打开数据库
    sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,
    只要实例启动了,它就已经存在,以sysdba身份登陆,装载数据库、打开数据库
    只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础,dba只是个角色而已.

  • 相关阅读:
    Solidity字符串类型
    Solidity中如何判断mapping中某个键是否为空呢?
    CentOS7 内核模块管理
    Centos7 搭建pptp服务器
    Python实现批量执行华为交换机脚本
    CentOS7 硬盘检测
    华为交换机SOCK CPU占用率高处理方法
    CentOS7 iptables安装及操作
    CentOS7 修复grub.cfg文件
    CentOS7 修复MBR引导
  • 原文地址:https://www.cnblogs.com/soabstract/p/8624452.html
Copyright © 2011-2022 走看看