一、Oracle RAC 调整表空间数据文件大小

  1、先查找出表空间对应的数据文件路径:

  select file_name,tablespace_name from dba_data_files ;

  2、确认目前数据文件的大小即表空间的大小

  select tablespace_name ,sum(bytes)/1024/1024 total from dba_data_files group by tablespace_name;

  3、查看表空间的目前使用情况

    select a.tablespace_name,total,free,total-free used from
    ( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
      group by tablespace_name) a,
    ( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
      group by tablespace_name) b
    where a.tablespace_name=b.tablespace_name

  4、通过默认参数pctfree=10%,pctused确定表空间的大小是否满足后续的使用

  5、通过调整数据文件的大小来增加表空间

  alter database datafile '+DATA1/ora11g/datafile/system.262.760023469' resize 3G;

  6、确认表空间大小是否更改成功

二、移动表到指定的表空间

  1、首先,使用下面的命令移动:

  alter table table_name move tablespace tablespace_name;

  2、然后,如果有索引的话必须重建索引:

  alter index index_name rebuild tablespace tablespace_name;

  注:当然,可以使用spool来帮助实现多个表的操作.
    set header off;
    spool /export/home/oracle/alter_tables.sql;
    select 'alter table   ' || object_name || '  move tablespace users'
    from dba_object
    where owner = 'XXX' and object_type = 'TABLE';
    spool off;
  之后执行此sql脚本即可.
  同样对于index也做同样的操作.

  如果要使用sql脚本批量执行的话可能会丢失一下索引信息,使得原来建立在别的表空间上的 索引失效

三、批量处理的方法步骤:

  首先考虑使用shell执行sql脚本,生成对应的批量执行sql脚本,然后再执行sq脚本。

  1、changeSpace.sql脚本:这个主要是生成对应的Alter语句

    set echo off
    set feedback off
    set newpage none
    set verify off
    set term off
    set trims on
    set heading  off
    set timing off
    set verify off
    spool AlterchangeSpace.sql
  
    

    select 'alter table  '||owner||'.'||table_name||'  move '||' tablespace '||' FAB '||';' from (
      select * from dba_tables where owner='FAB' and tablespace_name not in ('FAB')
    ); 
    spool off
    
    2、执行changeSpace.sql的脚本changeSpaceFirst.sh:
    

      echo "begin `date '+%Y%m%d %H:%M:%S'`"
      . ${HOME}/yz/env.sh
      . ${MIGRATE_PATH}/cfg/par_set.sh
      if [ $? -eq 1 ]
      then
      echo "初始化环境ERROR!"
      return 1
      fi
 
      sqlplus $dbusr/$dbpwd@$dbsid << !
 
      @changeSpace.sql;
 
      exit
      !
      echo "end `date '+%Y%m%d %H:%M:%S'`"
    此时生成了对应的AlterChangeSpace.sql脚本:
  3、利用changeSpaceSecond.sh执行AlterChangeSpace.sql脚本:
    

      echo "begin `date '+%Y%m%d %H:%M:%S'`"
      . ${HOME}/yz/env.sh
      . ${MIGRATE_PATH}/cfg/par_set.sh
      if [ $? -eq 1 ]
      then
      echo "初始化环境ERROR!"
      return 1
      fi
 
      sqlplus $dbusr/$dbpwd@$dbsid << !
 
      @AlterchangeSpace.sql;
 
      exit
      !
      echo "end `date '+%Y%m%d %H:%M:%S'`"
  注:基于原来表空间的建立在移动表上的索引必须重建
    alter index index_name rebuild tablespace tablespace_name;
    批量执行索引的重建方法类似于批量移动表
    生成alter的select语句如下;
 
    select 'alter index '|| t.object_name ||' rebuild tablespace FAB;' from dba_objects t,dba_indexes q
      where t.owner='FAB'
        and t.object_type='INDEX'  
        and q.index_name=t.object_name
        and q.index_type!='LOB';
 

oracle RAC调整数据文件大小并移动表到指定的表空间的更多相关文章

  1. 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)

    初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...

  2. 【转】Oracle当中扫描数据的方法

    本文将对oracle当中扫描数据的存取方法进行介绍. 1) 全表扫描(Full Table Scans, FTS) 为实现全表扫描,Oracle读取表中所有的行,并检查每一行是否满足语句的WHERE限 ...

  3. 数据库访问的弹性化---WebLogic和Oracle RAC的整合:Active GridLink

        1.  什么是Active GridLink Data Source 从Oracle WebLogic Server 10.3.4版本开始引进了一种单数据源实现来支持Oracle RAC集群. ...

  4. Oracle查看表空间及修改数据文件大小

    Oracle查看表空间及修改数据文件大小 第一步:查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from ...

  5. oracle错误(ORA-01691),单个数据文件大小限制问题

    1.问题:数据库从其他库同步一张大表时,出现错误 ERROR at line : ORA-: illegal parameter value in OCI lob function ORA-: pre ...

  6. 解决 Oracle exp导出表数据时空表不能导出的问题

    一.不能导出空表的原因 1.Oracle11g默认对空表不分配segment,故使用exp导出Oracle11g数据库时,空表不会导出. 2.设置deferred_segment_creation 参 ...

  7. ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法

    ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块  --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...

  8. Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)

    应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...

  9. BarTender中如何调整数据输入表单的大小?

    BarTender中的表单设计,是一个简单而又复杂的操作.简单的是它提供很多实用的工具,帮助用户实现更多的功能,复杂的是要对其进行排版设计,这就要看小伙伴们的个人要求高低了. 自定义数据输入表单时,你 ...

随机推荐

  1. IE6、火狐不支持a:visited

    今天做个样式,想让超链接点击后变成灰色,可发现IE里是没问题,可火狐就全灰色的.我测试了好几遍,发现不是顺序的问题.当然可以在火狐里地址栏里输入about:config.可总不能让用户去那里改吧.以下 ...

  2. MySQL 查询结果保存为CSV文件

    MySQL支持将查询结果直接导出为文本格式,格式如下: into outfile '导出的目录和文件名'                  指定导出的目录和文件名 fields terminated ...

  3. HTML&CSS基础学习笔记1.15-合并单元格

    合并单元格 之前的文章中,我们已经能够创建一个简单地表格了,如果我们需要把横向的某两个相邻单元格<td>或者纵向的某两个相邻单元格<td>合并,我们该怎么做呢?我们要知道的知识 ...

  4. flask开发restful api系列(2)

    继续上一章所讲,上一章我们最后面说道,虽然这个是很小的程序,但还有好几个要优化的地方.先复制一下老的view.py代码. # coding:utf-8 from flask import Flask, ...

  5. 窗口!窗口!- Windows程序设计(SDK)003

    窗口!窗口! 让编程改变世界 Change the world by program 内容节选: 在前边两节课的例子中,我们通过 MessageBox 函数创建一个消息框程序,消息框其实就是用来跟用户 ...

  6. syscall 中断号

    #ifndef __ASM_ARM_UNISTD_H #define __ASM_ARM_UNISTD_H #define __NR_OABI_SYSCALL_BASE 0x900000 #if de ...

  7. org/hamcrest/SelfDescribing

    今天在Idea下使用JUtil的时候,运行@Test,报错:org/hamcrest/SelfDescribing 解决办法: (1)换成junit-4.8.jar (2)junit-4.11.jar ...

  8. iOS自动打发布包-备用

    #!/bin/bash #  autoPublishH.sh#  ##  Created by 刘志托 liu on 12-2-8.#  Copyright (c) 2012年 null. All r ...

  9. Katana 还是Owin ? 本地自承载

    使用Owin 将Web项目脱离 IIS确实很特别..... 由此 ,可以衍生出,一个新的通信渠道,本地Server的自承载. 1 Node.js 2 Python 3 Ruby 4 Owin (C#- ...

  10. cache buffers chains latch

    cache buffers chains latch 从 Oracle 8i Database 开始, 散列锁存器<-------(1:m)------>hash bucket<-- ...