首页 > 数据库 >Oracle表空间管理

Oracle表空间管理

时间:2022-11-21 18:56:38浏览次数:33  
标签:管理 app dbf 空间 oradata oracle SQL Oracle u01

Oracle表空间管理

1. 查看表空间信息

SQL> SELECT tablespace_name, status, contents, logging, extent_management, allocation_type,

 segment_space_management from dba_tablespaces;

TABLESPACE_NAME STATUS     CONTENTS   LOGGING            EXTENT_MANAGEMENT    ALLOCATION_TYPE    SEGMENT_SPAC
--------------- ---------- ---------- ------------------ -------------------- ------------------ ------------
SYSTEM          ONLINE     PERMANENT  LOGGING            LOCAL                SYSTEM             MANUAL
SYSAUX          ONLINE     PERMANENT  LOGGING            LOCAL                SYSTEM             AUTO
UNDOTBS1        ONLINE     UNDO       LOGGING            LOCAL                SYSTEM             MANUAL
TEMP            ONLINE     TEMPORARY  NOLOGGING          LOCAL                UNIFORM            MANUAL
USERS           ONLINE     PERMANENT  LOGGING            LOCAL                SYSTEM             AUTO
SQL> SELECT file_name, file_id, tablespace_name from dba_data_files;

FILE_NAME                                             FILE_ID TABLESPACE_NAME
-------------------------------------------------- ---------- ---------------
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_system          1 SYSTEM
_kq1w7f1j_.dbf

/u01/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux          3 SYSAUX
_kq1w8j7q_.dbf

/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_          7 USERS
kq1w90kc_.dbf

/u01/app/oracle/oradata/ORCL/datafile/o1_mf_undotb          4 UNDOTBS1
s1_kq1w8zf8_.dbf

FILE_NAME                                             FILE_ID TABLESPACE_NAME
-------------------------------------------------- ---------- ---------------

2.使用OMF关闭表空间

OMF(Oracle Managed Files): ORACLE数据文件托管服务

2.1 关闭OMF

因为已经打开了OMF,所以先关闭OMF, 要关闭只需将DB_CREATE_FILE_DEST参数置空即可

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='';

System altered.

SQL> CREATE TABLESPACE tbs_1;
CREATE TABLESPACE tbs_1
                      *
ERROR at line 1:
ORA-02199: missing DATAFILE/TEMPFILE clause

可以看到创建表空间失败了(注:开启OMF创建表空间只需指定名称)

2.2 打开OMF

只需将DB_CREATE_FILE_DEST参数置空即可

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u01/app/oracle/oradata/';

System altered.

SQL>

2.2.1使用OMF创建表空间

创建表空间

SQL> CREATE TABLESPACE "USER1";

Tablespace created.

SQL>

查看表空间


SQL> SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES;

FILE_NAME                                                         TABLESPACE_NAME
----------------------------------------------------------------- ---------------
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_kq1w7f1j_.dbf  SYSTEM
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_kq1w8j7q_.dbf  SYSAUX
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_kq1w8zf8_.db UNDOTBS1
f

/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_kq1w90kc_.dbf   USERS
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_user1_kqn9dkxd_.dbf   USER1

SQL>


3. 管理表空间

3.1 创建表空间

SQL> CREATE SMALLFILE  # 指定是小文件还是大文件
  2  TABLESPACE "USER1"   #表空间的名字
  3  DATAFILE '/u01/app/oracle/oradata/orcl/user1.dbf' # 指明数据文件的存放位置
  4  SIZE 100M # 数据文件的大小
  5  AUTOEXTEND ON NEXT 100M # 每次自动增长多大的表空间
  6  LOGGING # 是否开启日志记录
  7  DEFAULT NOCOMPRESS # 默认没有压缩
  8  ONLINE # 是否联机
  9  EXTENT MANAGEMENT LOCAL AUTOALLOCATE #自动区分配
  10 SEGMENT SPACE MANAGEMENT AUTO; # 是否自动段管理

Tablespace created.

SQL>
  • 数据文件: smallfile,小文件;bigfile 大文件

  • 表空间类型:默认持久(permanent),还有临时表空间(Temporary), 撤销表空间 undo ;

  • 是否联机:Online和Offlie

  • 是否开启日志记录:LOGGING和NOLOGGING, 如果开启,对数据对象的更改会保存到redo日志,否则不保存;

    如果没有开启而使用了SQL * Loader进行数据的Insert插入,该操作不会记录到redo日志,所以一旦丢失数据,是不可恢复的。

    创建未启用日志对象时,希望它们是可恢复的,则必须备份这些对象。

  • 是否自动区分配:分为自动和统一。

3.2 修改表空间

3.2.1 表空间脱机

脱机使用时,可以使用以下选项

正常:如果表空间的任何数据文件都没有错误条件,则该表空间可以正常脱机。

  • Oracle数据库通过在表空间的所有数据文件脱机时为其设置检查点来确保将所有数据写入磁盘。

临时(temporary):即使某个表空间的一个或多个文件存在错误,也可以使该表空间暂时脱机。

  • Oracle Database使尚未脱机的数据文件脱机,从而对它们执行检查点。

  • 如果您使用Temporary子句,但是没有文件变为脱机状态。则不需要介质恢复就可以使表空间恢复联机状态。

  • 如果表空间的一个或多个文件由于写入错误而被您临时把表空间脱机,则该表空间需要恢复,然后才能使其重新联机。

立即:表空间可以立即脱机,而Oracle数据库无需在任何数据文件上设置检查点。

  • 当您指定立即时,必须先恢复表空间的介质,然后才能使表空间联机。

  • 如果数据库以NOARCHIVELOG模式运行,则不能使用立即脱机。

3.2.2 向表空间增加数据文件

SQL> ALTER TABLESPACE "USER1" 
ADD DATAFILE '/u01/app/oracle/oradata/orcl/user_2.dbf' size 100M;

Tablespace altered.

SQL>

查看数据文件

SQL> SELECT NAME FROM V$DATAFILE;

NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_kq1w7f1j_.dbf
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_sysaux_kq1w8j7q_.dbf
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_undotbs1_kq1w8zf8_.dbf
/u01/app/oracle/oradata/orcl/user1.dbf
/u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_kq1w90kc_.dbf
/u01/app/oracle/oradata/orcl/user_2.dbf

6 rows selected.

SQL>

3.2.3 修改表空间数据文件

修改数据文件大小

SQL> ALTER DATABASE DATAFILE
  '/u01/app/oracle/oradata/orcl/user_2.dbf' RESIZE 120M;

Database altered.

SQL>

修改数据文件自动增长

SQL> ALTER DATABASE DATAFILE 
'/u01/app/oracle/oradata/orcl/user_2.dbf'
 AUTOEXTEND ON NEXT 50M MAXSIZE 200M;

Database altered.

SQL>

3.3 删除表空间

危险操作,可以先删除表空间,数据文件保存一段时间,确认无误后,再删除。

语法:SQL> DROP TABLESPACE dataspace_name [ INCLUDING CONTENTS [ AND DATAFILES ] [ CASCADE CONSTRAINTS ] ];

SQL> DROP TABLESPACE "USER1" INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

Tablespace dropped.

SQL>
SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

TABLESPACE_NAME
---------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

SQL>

标签:管理,app,dbf,空间,oradata,oracle,SQL,Oracle,u01
From: https://www.cnblogs.com/shiqiang-lee/p/16912388.html

相关文章

  • Oracle-创建表空间和用户
    1、创建临时表空间createtemporarytablespacedsjzx_temptempfile'/data/oracledata/dsjzx_cdb_temp.dbf'size100mautoextendonnext100mmaxsizeUNLIMITE......
  • 7:with上下文管理
    finally块由于是否发生异常都会执行,通常我们放释放资源的代码。其实,我们可以通过with上下文管理,更方便的实现释放资源的操作。with上下文管理的语法结构如下:withcon......
  • APP-SQLAP-97731:由于出现以外错误,请与您的系统管理员联系。而使计税失败,系统无法生成
    AP发票验证的时候,提示:OraclePayables由于以下原因而无法计税:出现意外错误。请与您的系统管理员联系。 没啥有用的信息,后来在发票头重点击税详细信息的时候报错:......
  • DM8数据库模式对象管理
    管理模式模式与用户之间的关系:模式定义:模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集模式对象:表、视图、约束、索引、序列、触......
  • Linux系统静默安装oracle数据库
    Linux系统静默安装oracle数据库 一.安装准备1.建立用户及组groupaddoinstallgroupadddbagroupaddoperuseradd-goinstall-Gdba,operoraclepasswdoracle2......
  • 如何进行需求管理?源自华为的需求管理实践分享
    通过本文你将了解:1、需求管理流程包括哪四个步骤;2、如何进行需求收集;3、如何进行需求分析?4、如何进行需求分发;5、如何进行需求验证;6、有哪些辅助软件需求管理的工具系统?......
  • Oracle笔记(八)复杂查询及总结
    一、复杂查询1、列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。1、确定所需要的数据表:emp表:可以查询出员工的数量;dept表......
  • Two Arrays (CF2F) (bitset+暴力优化空间(暴力根号优化) )
      大佬思路: TutorialforCF1641D-tommymio'sNotebook-洛谷博客(luogu.com.cn)思路:关键是转化这一步,不要以序列为单位去看,而是以序列的元素去看这个......
  • Redhat 7.4 安装oracle 11g
    以下是以redhat企业版7.4为例说明一、安装redhat7.4步骤备注:安装系统必须将swap虚拟交换内存分配到18G或者更高,这是oracle11g的配置要求1.1、选择红色框选项回车进......
  • [转]在安装oracle的时候遇到:由于以下错误,Enterprise Manager配置失败
    原文地址:在安装oracle的时候遇到:由于以下错误,EnterpriseManager配置失败-码迷移动版-m.mamicode.com先运行netca添加监听程序,然后用emca重建EM命令为:emca-configdbc......