管理表空间和数据文件概要


管理数据库存储结构

表空间和数据文件

Oracle DB在逻辑上将数据存储在表空间中,在物理上将数据存储在数据文件中

表空间:

-只能属于一个数据库

-包括一个或多个数据文件

-可进一步划分为逻辑存储单元

数据文件:

-只能属于一个表空间和一个数据库

-是存储方案对象数据的资料档案库

System表空间 存了大量的系统表,包括一些数据字典和动态性能视图等

Sysaux辅助表空间 作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创建

Temp临时表空间 临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象

UNDOTBS1还原表空间

Users表空间存放永久用户信息的

Example表空间

查看数据库里所有表空间的信息

Desc dba_data_files;

select file_name,tablespace_name from dba_data_files;

/u01/app/oracle/oradata/VDEDU/users01.dbf USERS

/u01/app/oracle/oradata/VDEDU/undotbs01.dbf UNDOTBS1

/u01/app/oracle/oradata/VDEDU/sysaux01.dbf SYSAUX

/u01/app/oracle/oradata/VDEDU/system01.dbf SYSTEM

/u01/app/oracle/oradata/VDEDU/example01.dbf EXAMPLE

select file_name,tablespace_name from dba_temp_files;

/u01/app/oracle/oradata/VDEDU/temp01.dbf TEMP

创建表空间

SQL> create tablespace test datafile '/u01/app/oracle/oradata/VDEDU/test01.dbf' size 100m autoextend on;

Tablespace created.

扩大表空间

SQL> Alter tablespace test add datafile ‘/u01/app/oracle/oradata/VDEDU/test02.dbf’size 100 m autoextend on;

创建临时表空间

Create temporary tablespace test tempfile '/u01/app/oracle/oradata/VDEDU/test01.dbf' size 100m autoextend on;

扩大临时表空间

Alter tablespace test add tempfile '/u01/app/oracle/oradata/VDEDU/test01.dbf' size 100m autoextend on;

Alter user hr default tablespace test;使hr用户默认使用表空间test

Alter user hr temporary tablespace temptest;指定使用临时表空间

SQL> select tablespace_name,bytes/1024/1024||'M' as "size" from dba_data_files;

TABLESPACE_NAME size

------------------------------ -----------------------------------------

USERS 5M

UNDOTBS1 110M

SYSAUX 580M

SYSTEM 760M

EXAMPLE 346.25M

TEST 100M

TEST 100M

TEST2 100M

TEST2 100M

TEST3 100M

TEST3 100M

Oracle11gR2创建表空间基本模版

Create smallfile tablespace <tablespace_name>

Datafile<路径和文件名>size<文件大小>

Autoextend on next<每次扩展多大>maxsize {unlimited|nM/G/T} logging

Extent management {local|dictionary} {autoallocate|uniform size<区固定大小>}

Segment space management {auto|manual}; (段扩展)

段管理模式

ASSM:automatic segment space management(自动段空间管理)

MSSM:manual segment space management(手工段空间管理)

Select tablespace_name,segment_space_management from dba_tablespaces;

SQL> create tablespace tbs01 datafile '/u01/app/oracle/oradata/VDEDU/tbs0101.dbf' size 10m autoextend on extent management local autoallocate;--区扩展本地管理自动分配大小

SQL> create tablespace tbs02 datafile '/u01/app/oracle/oradata/VDEDU/tbs0201.dbf' size 100m autoextend on extent management local uniform size 10m;--区扩展本地管理固定大小

SQL> create tablespace ASSMTBS1 datafile '/u01/app/oracle/oradata/VDEDU/assmtbs1_01.dbf' size 10m segment space management auto; --自动段空间管理

SQL> create tablespace MSSMTBS1 datafile '/u01/app/oracle/oradata/VDEDU/mssmtbs1_01.dbf' size 10m

segment space management manual;--手工段空间管理

logging实际上是对象的一个属性,用来表示在创建对象时是否记录redo日志,包括在做dml时是否记录redo日志。一般表上不建议使用nologging,在创建索引或做大量数据导入时,可以使用nologging

管理表空间的数据字典视图

Dba_tablespaces;

Dba_free_space;

Dba_segments;

Dba_data_files;

Dba_temp_files;

Dba_tablespace_groups;

V$datafile;

V$filestat;

查询用户使用的默认表空间是哪个

SQL> select username,default_tablespace from dba_users;

USERNAME DEFAULT_TABLESPACE

------------------------------ ------------------------------

HR HRTBS

优质内容筛选与推荐>>
1、排序问题评价指标
2、QTP连接Oracle
3、HTML5——6 table标签
4、SQL ----post漏洞测试注入
5、Python概念之装饰器、迭代器、生成器


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号