zoukankan      html  css  js  c++  java
  • 【数据库管理】Oracle 11g管理数据文件和临时文件

    一 数据文件数据字典视图
    下面的数据字典和动态性能视图提供了关于数据文件的信息:
    • dba_data_files;
    • dba_extents / user_extents;
    • dba_free_space / user_free_space;
    • v$datafile / v$datafile_header;
    二 创建数据文件/向表空间添加数据文件
    可以使用下面的方法创建数据文件,也可以向表空间添加数据文件:
    • create tablespace:创建表空间;
    • create temporary tablespace:创建本地管理的临时表空间;
    • alter tablespace ...add datafile:向表空间添加数据文件;
    • alter tablespace ...add tempfile:向临时表空间添加数据文件;
    • create database:创建数据库;
    • alter database .. create datafile:创建一个新的空的数据文件;
    三 更改数据文件的大小
    1 启用和禁用数据文件的自动扩展
    SQL> alter tablespace test2 add datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' size 30M
      2  autoextend on next 512K
      3  maxsize 150M;
    
    Tablespace altered.
    
    SQL> alter database datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' autoextend off;
    
    Database altered.
    2 手动设置数据文件大小
    SQL> alter database datafile '/u01/app/oracle/oradata/orcl/test1_01.dbf' resize 100M;
    
    Database altered.
    四 修改数据文件的可用性
    --以下操作是数据库处于归档模式
    SQL> alter database datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' offline;
    
    Database altered.
    
    SQL> alter database datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' online;
    alter database datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' online
    *
    ERROR at line 1:
    ORA-01113: file 8 needs media recovery
    ORA-01110: data file 8: '/u01/app/oracle/oradata/orcl/test2_02.dbf'
    
    
    SQL> recover datafile 8;
    Media recovery complete.
    SQL> alter database datafile '/u01/app/oracle/oradata/orcl/test2_02.dbf' online;
    
    Database altered.
    
    SQL> alter tablespace test2 datafile offline;
    
    Tablespace altered.
    
    SQL> alter tablespace test2 online;
    alter tablespace test2 online
    *
    ERROR at line 1:
    ORA-01113: file 7 needs media recovery
    ORA-01110: data file 7: '/u01/app/oracle/oradata/orcl/test2_01.dbf'
    
    
    SQL> recover tablespace test2;
    Media recovery complete.
    五 重命名和重定位数据文件
    1 重命名数据文件(单个表空间)
    --将表空间离线,数据库必须处于打开状态
    SQL> alter tablespace test2 offline;
    
    Tablespace altered.
    --使用操作系统命令重命名数据文件
    SQL> host mv /u01/app/oracle/oradata/orcl/test2_01.dbf /u01/app/oracle/oradata/orcl/test2_001.dbf
    
    SQL> host mv /u01/app/oracle/oradata/orcl/test2_02.dbf /u01/app/oracle/oradata/orcl/test2_002.dbf
    --使用alter tablespace的rename datafile重命名数据文件
    SQL> alter tablespace test2 
      2  rename datafile '/u01/app/oracle/oradata/orcl/test2_01.dbf',
      3  '/u01/app/oracle/oradata/orcl/test2_02.dbf'
      4  to
      5  '/u01/app/oracle/oradata/orcl/test2_001.dbf',
      6  '/u01/app/oracle/oradata/orcl/test2_002.dbf';
    
    Tablespace altered.
    --立即对数据库进行备份(此步骤略)
    --将表空间置为在线状态
    SQL> alter tablespace test2 online;
    
    Tablespace altered.
    
    SQL> 
    2 重定位数据文件(单个表空间)
    SQL> col file_name for a50
    SQL> col online_status for a10
    SQL> select file_name,bytes/1024/1024 M,online_status
      2  from dba_data_files
      3  where tablespace_name='TEST2';
    
    FILE_NAME						    M ONLINE_STA
    -------------------------------------------------- ---------- ----------
    /u01/app/oracle/oradata/orcl/test2_001.dbf		   50 ONLINE
    /u01/app/oracle/oradata/orcl/test2_002.dbf		   30 ONLINE
    --将表空间置为离线
    SQL> alter tablespace test2 offline;
    
    Tablespace altered.
    --将数据库文件移到新的位置
    SQL> host mv /u01/app/oracle/oradata/orcl/test2_001.dbf /home/oracle/
    --重命名数据库文件
    SQL> alter tablespace test2 
      2  rename datafile '/u01/app/oracle/oradata/orcl/test2_001.dbf'
      3  to '/home/oracle/test2_001.dbf';
    
    Tablespace altered.
    --立即对数据库进行备份(此步骤略)
    --将表空间置为在线状态
    SQL> alter tablespace test2 online;
    
    Tablespace altered.
    3 重命名和重定位数据文件(多个表空间)
    --将表空间置为离线状态,或将数据文件置为离线状态,或将数据库至于mounted状态
    SQL> alter tablespace test1 offline;
    
    Tablespace altered.
    
    SQL> alter tablespace test2 offline;
    
    Tablespace altered.
    --使用操作系统命令移动数据文件,并重命名
    SQL> host mv /u01/app/oracle/oradata/orcl/test1_01.dbf /home/oracle/
    
    SQL> host mv /u01/app/oracle/oradata/orcl/test2_002.dbf /home/oracle/
    --使用操作系统命令重命名数据文件
    SQL> host mv /home/oracle/test2_001.dbf /home/oracle/test2_01.dbf 
    
    SQL> host mv /home/oracle/test2_002.dbf /home/oracle/test2_02.dbf
    --重命名数据库文件
    SQL> alter database rename file '/u01/app/oracle/oradata/orcl/test1_01.dbf','/u01/app/oracle/oradata/orcl/test2_002.dbf'
      2  ,'/home/oracle/test2_001.dbf'                              
      3  to '/home/oracle/test1_01.dbf','/home/oracle/test2_02.dbf','/home/oracle/test2_01.dbf';
    
    Database altered.
    --将表空间置为在线状态
    SQL> alter tablespace test1 online;
    
    Tablespace altered.
    
    SQL> alter tablespace test2 online;
    
    Tablespace altered.
    六 删除数据文件
    --当表空间只有一个数据文件时,不能使用删除文件命令删除文件
    SQL> alter tablespace test1 drop datafile '/home/oracle/test1_01.dbf';
    alter tablespace test1 drop datafile '/home/oracle/test1_01.dbf'
    *
    ERROR at line 1:
    ORA-03261: the tablespace TEST1 has only one file
    --删除数据文件
    SQL> alter tablespace test2 drop datafile '/home/oracle/test2_02.dbf';
    
    Tablespace altered.



  • 相关阅读:
    不敢想,做个博客竟如此简单!
    我有一台服务器,能干啥?
    精品 IDEA 插件大汇总!值得收藏
    怒肝半月!Python 学习路线+资源大汇总
    怒肝 Linux 学习路线,这回不难
    多环境
    分享 10 个高星的创意项目!
    js的attribute
    选择大厂该做哪些准备?|小白进入大厂现状
    小白程序猿了解大厂的开发模式
  • 原文地址:https://www.cnblogs.com/alen-liu-sz/p/12975651.html
Copyright © 2011-2022 走看看