Oracle数据库中表空间的基本管理操作小结


本文整理自网络,侵删。

DB存储层次结构

(画了个草图,将就看一下...XD)

管理表空间


        -system 存放数据字典信息,必须的,创建数据库时第一个创建

        -sysaux 10g新,必须的,辅助分担system的负荷,系统管理如oem等三方工具等

        -undo 存储回滚段信息,提供事务回滚功能

        -temp 存放用户排序的临时数据

        -index 存放用户表上的索引信息

        -other 不同用户表数据

获取表空间和数据文件信息

        表空间信息:DBA_TABLESPACES        V$TABLESPACE
        数据文件信息:DBA_DATA_FILES        V$DATAFILE
        临时数据文件信息: DBA_TEMP_FILE        V$TEMPFILE

创建表空间

    create [smallfile|bigfile] tablespace <identName> datafile '<path&name>' [extent management local uniform] size <n>k|m|g|t

        通常不需要
        确定使用bigfile还是smallfile,T级别以上的一般使用bigfile
        smallfile|bigfile 不加使用默认值,

select property_name,property_value from database_properties where property_name like '%TBS%';

可以更改默认值,alter database set default bigfile tablespace.'
        需要有dba_role,sysdba或者sysoper的相关权限
        extent management local uniform本地管理表空间(LMT),使用bitmap描述空间分布情况,减少数据字典中的竞争,不需要为每个段单独设置存储参数。同版本下字典管理表空间(DMT)转为LMT:

DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

不同版本下DMT转为LMT,在源机上exp导出表空间,在目标机上建立表结构,执行imp加ignore=y参数忽略表结构导入数据

        一个tablespace下可以容纳1024个datafile

表空间状态

    select tablespace_name,file#,v.status,v.enabled from dba_files d,v$datafile v where d.file_id=v.file#;

    alter tablespace <tablespace_name> read only|read write|offline|online;

        tablespace                online                        read only
        system                        必须online                必须read write
        sysaux                        可以offline                必须read write
        undo                        必须online                必须read write

        只读表空间上的对象可以被删除

        alter tablespace <old> rename to <new>;表空间重命名,system/sysaux/database_properties中定义的默认用户表空间/默认临时表空间/undo中undo_tablespace定义的不能重命名


表空间的大小

    alter database set default smallfile|bigfile tablespace;

        一个大表数据文件可以包括4G个os blocks,小表数据文件4m个os blocks

        自动扩张:

alter tablespace datafile '<path & name>'|file# autoextend on|off [next <size>|maxsize <size‪>];
         select tablespace_name, file_name, autoextensible from dba_data_files;

        手动扩张:

alter tablespace datafile '<path & name>'|file# resize <size>;
         alter tablespace datas add datafile '<path & name>' size <size>;

(增加表空间中的数据文件)

表空间文件的重命名(归档模式)

        将需要重命名数据文件的表空间离线--->操作系统级移动数据文件或改名--->执行

alter tablespace rename file '<old>' to '<new>';

--->将表空间Online

阅读剩余部分

相关阅读 >>

直接拷贝数据文件实现oracle数据迁移

oracle表空间查看sql使用情况

oracle 11g用户修改密码及加锁解锁方法教程

oracle启动时出现ora-32004报错的解决方法

oracle关于时间日期的操作

oracle怎么查询当前时间

centos7下oracle12c的安装与配置图文教程(详细)

oracle数据库中表空间的基本管理操作小结

oracle 库中有表 但是查询显示表不存在的问题

sqlplus 命令登录 oracle数据库的多种方法

更多相关阅读请进入《oracle》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...