ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 对测试环境的管理和优化(1)

对测试环境的管理和优化(1)

原创 Linux操作系统 作者:coolhe 时间:2011-09-05 11:41:23 0 删除 编辑
这段时间开发和测试人员牢骚漫天,说是执行过程慢,让我看看。
我对测试环境分析之后,发现:
1. 系统磁盘上已经没有什么空间了200G的空间只剩下5G;
2. 那些慢的过程所涉及的表数据量都在1000万以上,而且没有分区。
3. 测试环境的那些数据文件都是固定容量,不是自增长,而且每个数据文件都很大。
4. 实际的数据文件占有磁盘可用空间才100G,也就说有90G的空间都是浪费的。

下面就是方法。
1. 空出浪费空间。
2. 删除一些无用的表。
3. 对大表进行创建分区,进行管理。
4. 检查过程sql,并建立相关索引。
 
-------------------
先做1、2布,以下是相关的使用脚本

■创建数据文件的SQL语句及说明

Sql代码 复制代码 收藏代码
  1. CREATE TABLESPACE  创建一个表空间和组成它的数据文件   
  2. CREATE TEMPORARY TABLESPACE 创建一个临时表空间和组成它的临时数据文件(临时数据文件是一种特殊类型的数据文件)   
  3. ALTER TABLESPACE ... ADD DATAFILE 创建并添加一个数据文件到表空间   
  4. ALTER TABLESPACE ... ADD TEMPFILE  创建并添加一个临时数据文件到临时表空间   
  5. CREATE DATABASE  创建一个数据库和关联的数据文件  

 

 

■创建表空间
 

Sql代码 复制代码 收藏代码
  1. SQL> create tablespace myts04 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04dbf' size 2m   
  2. autoextend on  
  3. next 1m   
  4. maxsize 5m  

 

■向空间里添加数据文件并指定自动增长方式
 

Sql代码 复制代码 收藏代码
  1. SQL> alter tablespace myts02             
  2. add datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' size 4m     
  3. AUTOEXTEND ON    
  4. NEXT 4K       
  5. MAXSIZE 5M;  

 

■更改原有数据文件为自动增长方式
 

Sql代码 复制代码 收藏代码
  1. SQL> ALTER DATABASE             
  2.   2  DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'                    
  3.   3  AUTOEXTEND ON                          
  4.   4  NEXT 2K              
  5.   5  MAXSIZE 5M;  

 

■取消自动增长方式
 

Sql代码 复制代码 收藏代码
  1. SQL> alter database                                   
  2.   2  datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'     
  3.   3  autoextend off;  

 

■改变原数据文件大小
  

Sql代码 复制代码 收藏代码
  1. SQL> alter database                                
  2.   2  DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' resize 5m;  


  也可以利用RESIZE子句来缩小数据文件,不过必须保证缩小后的数据文件足够容纳其中已有的数据

■在ARCHIVELOG模式下使数据文件脱胎机
 

Sql代码 复制代码 收藏代码
  1. SQL> alter database                
  2.   2  datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline;  

 

 

■在NOARCHIVELOG模式中使数据文件脱机
  要注意,这会使数据文件脱机并立即删除它,所以,很可能导致丢失数据文件,这种方法一般只用于临时表空间
  的临时数据文件.

 

  

Sql代码 复制代码 收藏代码
  1. SQL> alter database               
  2.   2  datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline drop;  

   
  在这之后,如果要使数据文件联机,必须进行介质恢复,否则会有错误提示. 
  
■修改表空间中所有数据文件的可用性
 

Sql代码 复制代码 收藏代码
  1. ALTER TABLESPACE ... DATAFILE { ONLINE | OFFLINE }   
  2. ALTER TABLESPACE ... TEMPFILE { ONLINE | OFFLINE }  


  表空间本身的联机或脱机状态不改变()
 
■修改整个表空间的可用性

Sql代码 复制代码 收藏代码
  1. ALTER TABLESPACE ...  { ONLINE | OFFLINE }  

 

 

■同一个表空间的数据文件的重命名
  当改变数据文件的位置和名称时,Oracle只是在控制文件和数据字典中改变了数据文件的指针,并没有物理
  地创建新的数据文件,也没有重定位和重命名任何操作系统文件.DBA必须自己在操作系统层复制文件,并重
  定位或重命名数据文件.
   
 

Sql代码 复制代码 收藏代码
  1. SETUP1 SQL> alter tablespace myts04 offline normal;   
  2.         将表空间设置为脱机状态是为了关闭该表空间中所有的数据文件,以便在停止数据库服务时不会造成   
  3.         数据出现问题   
  4.   
  5.  SETUP2 SQL> shutdown immediate   
  6.         如果不停止数据库服务就重命名数据文件,会出现错误提示.      
  7.   
  8.  SETUP3 将数据文件myts04_1.dbf重新命名为myts04_01.dbf、myts04_2.dbf重新命名为myts04_02.dbf      
  9.   
  10.  SETUP4 SQL> startup   
  11.   
  12.  SETUP5 SQL> alter tablespace myts02   
  13.              rename datafile   
  14.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_1.dbf',   
  15.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_2.dbf'  
  16.              to  
  17.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_01.dbf',   
  18.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_02.dbf';   
  19.  SETUP6 SQL> alter tablespace myts04 online;  

 

■多个表空间的数据文件的重定位和重命名
 

Sql代码 复制代码 收藏代码
  1. SETUP1 SQL> alter tablespace myts01 offline normal;   
  2.         SQL> alter tablespace myts02 offline normal;   
  3.   
  4.  SETUP2 SQL> shutdown immediate   
  5.   
  6.  SETUP3 将myts01表空间的数据文件myts01_1.dbf重新命名为myts01_01.dbf、   
  7.         将myts02表空间的数据文件myts02_1.dbf重新命名为myts02_01.dbf、   
  8.   
  9.  SETUP4 SQL> startup   
  10.   
  11.  SETUP5 SQL> alter database  
  12.              rename file   
  13.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_1.dbf',   
  14.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_1.dbf'  
  15.              to  
  16.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_01.dbf',   
  17.              '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_01.dbf';   
  18.   
  19.  SETUP6 SQL> alter tablespace myts01 online;     
  20.              alter tablespace myts02 online;    

 

■查询数据文件信息
 

Sql代码 复制代码 收藏代码
  1.  DBA_DATA_FILES   
  2. DBA_TEMP_FILES   
  3. DBA_EXTENTS   
  4. USER_EXTENTS   
  5. DBA_FREE_SPACE   
  6. USER_FREE_SPACE   
  7. V$DATAFILE   
  8. V$DATAFILE_HEADER  

 

■查看数据文件与表空间

Sql代码 复制代码 收藏代码
  1. SELECT f.tablespace_name "表空间",    
  2. Decode(d.EXTENT_MANAGEMENT,'DICTIONARY','字典','本地')  "表空间类型",   
  3. TRUNC(SUM(f.bytes/1024000),2 ) || 'MB' "自由空间",   
  4. MIN(f.bytes) "最小字节"MAX(f.bytes) "最大字节",   
  5. AVG(f.bytes) "平均字节",COUNT(f.tablespace_name) "分布在"  
  6. FROM dba_free_space f, dba_tablespaces d    
  7. Where f.tablespace_name = d.tablespace_name    
  8. GROUP BY f.tablespace_name ,d.EXTENT_MANAGEMENT  

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3090/viewspace-706658/,如需转载,请注明出处,否则将追究法律责任。

上一篇: DBA手记(推荐)
请登录后发表评论 登录
全部评论

注册时间:2009-04-14

  • 博文量
    118
  • 访问量
    566698