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

目录

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

    • 1、创建数据表空间
    • 2、创建临时表空间
    • 3、创建 UNDO 表空间
    • 4、表空间的扩展与修改大小
    • 5、表空间重命名
    • 6、表空间的删除
    • 7、更改表空间的读写模式
    • 8、更改表空间的在线模式

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

1、创建数据表空间

查询有关表和视图:【使用版本Oracle 11gR2】

1.查看表空间信息

dba_tablespaces

v$tablespace

2.查看数据文件

dba_data_files

v$datafile

3.查看临时表空间

dba_temp_files

v$tempfile

当前的数据文件位置

SQL> col file_name format a60;
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/system.271.978829205
+DGSYSTEM/kyeupdb/datafile/sysaux.272.978829265
+DGSYSTEM/kyeupdb/datafile/undotbs1.273.978829323
+DGSYSTEM/kyeupdb/datafile/users.275.978829391
+DGSYSTEM/kyeupdb/datafile/ts_example.277.978855421
+DGSYSTEM/kyeupdb/datafile/kye01.dbf
6 rows selected.
  • 创建单个数据文件的表空间
SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TS_EXAMPLE
KYE_TBS01

7 rows selected.
SQL> create tablespace kye_tbs02 datafile ‘+DGSYSTEM/kyeupdb/datafile/kye02.dbf‘ size 2M
  2  autoextend off
  3  segment space management auto;

Tablespace created.

autoextend off —不自动扩展

segment space management auto —自动段管理 推荐

  • 创建多个数据文件
SQL> CREATE TABLESPACE kye_tbs03 LOGGING DATAFILE
 ‘+DGSYSTEM/kyeupdb/datafile/kye03_1.dbf‘ SIZE 2M AUTOEXTEND OFF,
 ‘+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf‘ SIZE 2M AUTOEXTEND OFF
  EXTENT MANAGEMENT LOCAL
  SEGMENT SPACE MANAGEMENT AUTO;

Tablespace created.

SQL> create tablespace kye_tbs04 logging datafile
  2  ‘+DGSYSTEM/kyeupdb/datafile/kye04_1.dbf‘ size 2M autoextend on next 1M maxsize 20M,
  3  ‘+DGSYSTEM/kyeupdb/datafile/kye04_2.dbf‘ size 2M autoextend on next 1M maxsize 20M
  4  extent management local
  5  segment space management auto;

Tablespace created.
  • 创建大表空间
SQL> create bigfile tablespace kye_bigtbs1 datafile
  2  ‘+DGSYSTEM/kyeupdb/datafile/kye_bigfile1.dbf‘ size 1G;

Tablespace created.

2、创建临时表空间

SQL> create temporary tablespace kye_tmptbs1
  2  tempfile ‘+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf‘
  3  size 5M autoextend off;

Tablespace created.

3、创建 UNDO 表空间

SQL> create undo tablespace kye_undotbs1
  2  datafile ‘+DGSYSTEM/kyeupdb/datafile/kye_undo1.dbf‘
  3  size 10m autoextend off;

Tablespace created.

4、表空间的扩展与修改大小

  • 表空间的扩展
--- 查看此时创建的表空间

SQL> col name format a30;
SQL> select * from v$tablespace;

       TS# NAME               INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
     0 SYSTEM             YES NO  YES
     1 SYSAUX             YES NO  YES
     2 UNDOTBS1           YES NO  YES
     3 TEMP               NO  NO  YES
     4 USERS              YES NO  YES
     5 TS_EXAMPLE             YES NO  YES
     7 KYE_TBS01              YES NO  YES
     8 KYE_TBS02              YES NO  YES
     9 KYE_TBS03              YES NO  YES
    10 KYE_TBS04              YES NO  YES
    11 KYE_BIGTBS1            YES YES YES

       TS# NAME               INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
    12 KYE_TMPTBS1            NO  NO  YES
    13 KYE_UNDOTBS1           YES NO  YES

13 rows selected.
SQL> col file_name format a55;
SQL> select file_name from dba_data_files;

FILE_NAME
-------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/system.271.978829205
+DGSYSTEM/kyeupdb/datafile/sysaux.272.978829265
+DGSYSTEM/kyeupdb/datafile/undotbs1.273.978829323
+DGSYSTEM/kyeupdb/datafile/users.275.978829391
+DGSYSTEM/kyeupdb/datafile/ts_example.277.978855421
+DGSYSTEM/kyeupdb/datafile/kye01.dbf
+DGSYSTEM/kyeupdb/datafile/kye02.dbf
+DGSYSTEM/kyeupdb/datafile/kye03_1.dbf
+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf
+DGSYSTEM/kyeupdb/datafile/kye04_1.dbf
+DGSYSTEM/kyeupdb/datafile/kye04_2.dbf

FILE_NAME
-------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/kye_bigfile1.dbf
+DGSYSTEM/kyeupdb/datafile/kye_undo1.dbf

13 rows selected.

SQL> alter tablespace kye_tbs01 add datafile ‘+DGSYSTEM/kyeupdb/datafile/kye01_1.dbf‘ size 2m autoextend off;

Tablespace altered.

SQL> alter tablespace kye_tmptbs1 add tempfile ‘+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf‘ size 2m autoextend off;

Tablespace altered.
  • 修改大小

SQL> col name format a55;
SQL> select name,bytes/1024/1024 from v$tempfile;

NAME                            BYTES/1024/1024
------------------------------------------------------- ---------------
+DGSYSTEM/kyeupdb/tempfile/temp.274.978829379              1024
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf                5
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf                  2

SQL> alter database tempfile ‘+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf‘ resize 6m;

Database altered.

SQL> select name,bytes/1024/1024 from v$tempfile;

NAME                            BYTES/1024/1024
------------------------------------------------------- ---------------
+DGSYSTEM/kyeupdb/tempfile/temp.274.978829379              1024
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf                6
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf                  2

5、表空间重命名

SQL> alter tablespace kye_bigtbs1 rename to kye_bigtbs;

Tablespace altered.

6、表空间的删除

drop tablespace 表空间名字;--直接删除表空间,而不删除对应的数据文件

drop tablespace 表空间名字 including contents and datafiles; --加上该选项 则连同数据文件 一起删除了(常用

SQL>  drop tablespace kye_tbs04 including contents and datafiles;

Tablespace dropped.

SQL> drop tablespace kye_bigtbs including contents and datafiles cascade constraints;

Tablespace dropped.

7、更改表空间的读写模式

SQL> alter tablespace kye_tbs03 read only;

Tablespace altered.

SQL> alter tablespace kye_tbs03 read write;

Tablespace altered.

也可以修改表:

SQL> create table kye001 (id int,name varchar2(22));

Table created.

SQL> alter table kye001 read only;

Table altered.

SQL> alter table kye001 read write;

Table altered.

8、更改表空间的在线模式

alter tablespace kye_tbs01 offline;

Tablespace altered.

SQL> alter tablespace kye_tbs01 online;

Tablespace altered.

在上面的测试中可以看出,直接可以设置表空间离线,但是在下面的操作中可以对数据文件直接设置成离线吗?

可以对数据文件进行操作:

alter database datafile 9 offline;
alter database datafile ‘+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf‘ online;
alter database datafile 9 offline for drop;

在对数据文件操作的时候会出现错误:

除非启用了介质恢复, 否则不允许立即脱机.在NOARCHIVELOG模式,不可以立即离线数据文件。

原文地址:https://www.cnblogs.com/kyeup/p/9286699.html

时间: 2024-10-09 02:05:48

Oracle 表空间的日常维护与管理的相关文章

Oracle表空间、用户、授权管理

1.查询表空间位置 select * from dba_data_files; -->d:\app\administrator\oradata\orcl\***.dbf 2.查看临时表空间位置 select * from v$tempfile -->d:\app\administrator\oradata\orcl\***_tmp.dbf 3.创建临时表空间 create temporary tablespace icmamp_temp tempfile 'd:\app\administrat

Oracle 表空间管理

Oracle磁盘管理中的最高逻辑层是表空间,Oracle11g中必须创建的4个表空间是SYSTEM,SYSAUX, TEMP, UNDOTBS1. 2 SYSTEM:存储数据字典等,pl/sql代码等. 2 SYSAUX:存储与数据库选项相关的数据 2 TEMP:用于大的排序操作 2 UNDUTBS1:为读一致性和恢复的目的,存储事务信息. 表空间的下一层是段,一个段只能驻留在一个表空间中:一个或多个区可以组成一个段,每个区只能驻留在一个数据文件中:一组连续的数据块可以组成一个区.如果要查询表空

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

Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运行,temp表空间会一直增长.直到耗尽硬盘空间. 下面操作会占用大量的temporary:    1.用户运行imp/exp 导入导出操作时,会使用大量的temporary段    2.用户在Create 或者 rebuild index时    3.运行create table ...... as

oracle表空间维护常用命令

---查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name ---如何查看oracle表空间是否自动扩展 (increment_by是块数[8192byte/块]) select file_name,tablespace_name,bytes/1024/1024 "

Oracle 表空间

Oracle磁盘空间管理中的最高逻辑层是表空间(TABLESPACE),它的下一层是段(SEGMENT),并且一个段只能驻留在一个表空间内.段的下一层就是盘区,一个或多个盘区(EXTENT)可以组成一个段,并且每个盘区只能驻留在一个数据文件中.如果一个段跨越多个数据文件,它就只能由多个驻留在不同数据文件中的盘区构成.盘区的下一层就是数据块,它也是磁盘空间管理中逻辑划分的最底层,一组连续的数据块可以组成一个盘区. 如果要查询表空间与对应的数据文件的相关信息,可以DBA_DATA_FILES数据字典

oracle表和对象基础维护笔记

一 oracle表和对象基础维护笔记 1.1 常见概念 1.2 创建表 1.3 表常见字段 1.4 增加或删除字段 1.5 更新字段 1.6 重命名表 1.7 改变表存储表空间和存储参数 1.8 删除表 1.9 表注释 1.10 分区表的管理 1.11 常用数据字典 二 约束 2.1 非空约束 2.2 主键约束 2.3 唯一性约束 2.4 外键约束 2.5 约束管理 三 索引 3.2 创建索引 3.3 改变索引存储参数 3.4 重建索引 3.5 索引碎片整理 3.6 删除索引 3.7 数据字典

Oracle表空间,用户,用户授权

一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客"怎样玩转千万级别的数据"提到了过表分区的概念,其实表分区说到本质上就是按一定条件把不同数据放在不同的数据文件里,这些数据文件在物理上是相对独立的,在逻辑上又是一个整体.特别强调一下,在SQL Server中,建表时是默认把所有的表都保存在PRIMARY默认文件组 ,当数据库中表很多,并且数据量很大时,会

Oracle 表空间详解

目录 目录 表空间概述 表空间的分类 默认表空间 查看默认的永久表空间 查看默认的TEMP表空间 查看默认的表空间类型 逻辑结构到物理结构的映射 对表空间的操作 查看表空间使用情况 查看数据库拥有的表空间 查看表空间中的数据文件 查看用户拥有的表空间 创建表空间 修改表空间 修改用户的默认和临时表空间 修改表空间的状态 修改表空间的数据文件 删除表空间 用户表空间限额 表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库对象(如:数据文件)的逻辑空间,是Oracle

SQL创建Oracle表空间、用户以及给用户赋权的方法

//创建表空间 Create tablespace examination//创建表空间examination datafile 'c:\Oracle\zhangwei\examination.dbf'//与表空间关联的文件存放位置(要预先手动建好文件夹) size 100m//文件初始大小,千万不要写成mb(这里以下可略) autoextend on//文件大小可自动拓展 next 30m//每次拓展30m maxsize unlimited//不限制文件大小的上限 logging//生成对于