近期在对生产数据库表空间进行扩容,目的是春节期间保证表空间的使用率,不会出现紧急告警信息。

  1、查看表空间使用率的SQL语句

set pagesize 200
col tablespace_name for a16
col SUM_SIZE(M) for 99999999
col USED_SIZE(M) for 99999999
col USED_RATE(%) for 99999999
col FREE_SIZE(M) for 99999999
SELECT d.tablespace_name, sum_blocks "SUM_BLOCKS",
sum_size || 'M' "SUM_SIZE(M)",
sum_size - nvl(free_size, 0) || 'M' "USED_SIZE(M)",
nvl(free_size,0) || 'M' "FREE_SIZE(M)",
round((1 - nvl(free_size, 0) / sum_size) * 100, 2) || '%' "USED_RATE(%)"
FROM (SELECT tablespace_name, round(SUM(bytes) / (1024 * 1024), 2) sum_size,
SUM(blocks) sum_blocks
FROM dba_data_files
GROUP BY tablespace_name) d,
(SELECT tablespace_name,
round(SUM(bytes) / (1024 * 1024), 2) free_size
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE d.tablespace_name = f.tablespace_name(+)
ORDER BY 5 DESC;

  2、查看数据文件存放位置以及数据文件类型

SELECT file_name, a.autoextensible, a.status, a.online_status
FROM dba_data_files a; #建议关闭自动扩展,自动扩展后,空间太庞大,不易于管理和维护

  3、查看表空间是否是BIGFILE类型的表空间

  

SELECT a.tablespace_name, a.bigfile, a.extent_management,
a.segment_space_management
FROM dba_tablespaces a; #查看表空间是否是BIGfile文件,BIGFile类型表空间有个最大的SIZE限制,如果数据文件超过这个最大限制,则是很危险的。

  

  Oracle10g引进了一个新的表空间类型(BIGFILE),相对于bigfile的类型就是smallfile,它不像传统的表空间那样最多由1022个文件组成;一个BIGFILE表空间只包含一个数据文件,根据选择的块的大小,最大从32TB至128TB。

  查看表空间类型有:smallfile和bigfile,查看默认表空间类型:

  

select * from database_properties a where a.PROPERTY_NAME= 'DEFAULT_TBS_TYPE';

  修改默认表空间类型:

  

ALTER DATABASE SET DEFAULT bigfile tablespace;#修改默认表空间类型为Bigfile

  4、查看卷组信息

  查看VG是否有空间能够进行分区给逻辑卷。

  

命令:
  lsvg -o #已经激活的卷组
  lsvg datavg #查看datavg卷组基本信息
  lsvg -l datavg #查看datavg具体有哪些逻辑卷组成 AIX 查看检索新的物理磁盘
  lspv #查看现有磁盘信息
  cfgmgr -v #进行系统扫盘
  powermt display dev=all #查看是否有多链路磁盘
  extendvg 'datavg' 'hdisk14 hdisk15' #将物理磁盘hdisk14,hdisk15加入到datavg里
  mklv oradata_lv datavg 100 #创建一个叫oradata_lv的逻辑卷,并分配给它100个PP --从lsvg -l datavg的显示结果可看到,PPs:LPs=1:1说明大小是一致的
  
  

   5、新增裸设备

  新增裸设备的逻辑卷,最好是使用smitty mklv命令,使用mklv命令一般容易出错。

  

aix的裸设备是lv
1)smit lv 输入名字,如system_r500M
2)选择vg 选择datavg
3)输入lp个数 count(lp)= 总计大小/PP Size
4)然后输入设备类型raw(不要选择),创建成功后,返回/dev
5)查看ls -l,多了rsystem_r500M名称的设备,但属主是root 跟system
6)需要修改system_r500M和rsystem_r500M宿主权限
#chown oracle:oinstall system_r500M
#chown oracle:oinstall rsystem_r500M
7)新增卷组
  smitty mkvg
使用命令添加:
#mkvg -f -y'datavg01' -s'512' '-n' hdisk12 hdisk13 hdisk14
  -f:强制卷组在指定的物理卷上创建
  -y:卷组名称
  -s:设置每个物理分区的兆字节数
  -n:指定在系统重新启动时,卷组不是自动地可获得。缺省值是自动激活卷组。
  -C:创建“提高的并发卷组”,仅使用-C和hacmp ES,在没有Hacmp ES产品的卷组和系统上不可用。

使用命令创建裸设备:

  

#mklv -t raw -y system_r500M -a m -e x -o y datavg 100
-t: 逻辑卷类型 raw代表裸设备,还支持jfs2,jfs等
-y:指定逻辑卷名代替系统生成的名称
-a:设定内部物理卷分配策略 m:在每个物理卷的外部中间扇区内分配逻辑分区,这是默认值。
-e:确定内部物理卷分配策略 x:根据最大物理卷数量分配 m:根据最小物理卷数量分配逻辑分区,这是缺省值。
-o:指定打开/关闭重叠I/O串行化
-w:打开active镜像写一致性以确保在通常的I/O处理中逻辑卷副本之间的数据一致性。p:打开,只适用于大卷组 n:没有镜像一致性

  6、给表空间添加数据文件

  

alter tablespace system add datafile '/dev/rsystem_500M' size 450M;

  7、rac+hacmp环境下添加裸设备

  

操作步骤:
a:创建concurrent LV
smit hacmp
—>system manageent (c-spoc)
—>HACMP Concurrent logical Volume Management
—>concurrent logical volume
—>add a concurrent logical volume
—>选择所在vgname
—>选在所在pv name
—>输入lp数量
注:
  physical volume name:可不选
logical volume name:system_500M(这里不用写上字符设备的R,不然以后不好区分)
logical volume type:raw
OK,其他默认即可
b:更改各节点的属主,一般情况下数据文件会创建在/dev下,会产生r开头的文件和没有r开头的2个文件。
chown oracle:dba /dev/rsystem_500M 是r开头的设备。
注:补充一句,r开头的文件为字符设备,最小的传输单位8bit,而没有r开头的文件是块设备就是我们所说的block设备,他传输的最小单位是512byte。
c:为表空间扩展数据文件。 一定要要在各节点上都要修改裸设备的宿主权限,否则另一个节点回报错误,没有权限去写。解决办法需要重启机器才可以,这对于生产库来说是很危险的。切记!!

AIX用裸设备给表空间添加数据文件的更多相关文章

  1. Oracle的表空间和数据文件

    一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...

  2. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  3. 【基础】Oracle 表空间和数据文件

    多个表空间的优势:1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失3 ...

  4. Oracle管理表空间和数据文件详解

    介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括 ...

  5. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

  6. ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件

    ORACLE RMAN备份及还原   RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...

  7. bay——RAC 表空间时数据文件误放置到本地文件系统-介质恢复.txt

    RAC添加新表空间时数据文件误放置到本地文件系统的修正 于是我想11G 也兼容这些操作的方法,但是11G的新特性有一点就是可以直接支持ASM文件系统直接可以和本地文件系统进行文件的拷贝了,也就是有三种 ...

  8. 管理表空间和数据文件<六>

    数据库管理 -- 管理表空间和数据文件  介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...

  9. Oracle-11g 从表空间删除数据文件

    从表空间删除数据文件前提条件 如果欲从表空间中删除数据文件,那么该数据文件必须为空,否则将报出"ORA-03262: the file is non-empty"的错误.   从表 ...

随机推荐

  1. Sequel简介

    Sequel: Ruby数据库工具包 简介 Sequel是Ruby中用于访问SQL数据库的一个简单.灵活.强大的工具包. Sequel能够保证线程安全,提供了连接池功能以及简洁的SDL用于创建SQL查 ...

  2. phpstorm扩展

    1, CodeGlance 代码地图插件 &lt;img src="https://pic1.zhimg.com/50/v2-721f173bafcb9b60853819c32780 ...

  3. 利用System.IO.Compression操作压缩文件

    引用: using System.IO.Compression; using (FileStream zipToOpen = new FileStream(@"D:\json.zip&quo ...

  4. Spring MVC 实现web Socket向前端实时推送数据

    最近项目中用到了webSocket服务,由后台实时向所有的前端推送消息,前端暂时是不可以发消息给后端的,数据的来源是由具体的设备数据收集器收集起来,然后通过socket推送给后端,后端收到数据后,再将 ...

  5. Docker数据管理(数据卷&数据卷容器)

    生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷(Data Volumes):容 ...

  6. 判断产品Key的正则表达式(格式: ABCD1-ABCD2-ABCD3-ABCD4-ABCD5)

    正则表达式: ^[A-Za-z0-9]{5}-[A-Za-z0-9]{5}-[A-Za-z0-9]{5}-[A-Za-z0-9]{5}-[A-Za-z0-9]{5}$ 改进: ^([A-Za-z0-9 ...

  7. C++运行时动态类型

    RTTI 运行时类型识别(RTTI)的引入有三个作用: 配合typeid操作符的实现: 实现异常处理中catch的匹配过程: 实现动态类型转换dynamic_cast typeid操作符的实现 静态类 ...

  8. lucene源码分析(3)facet实例

    简单的facet实例 public class SimpleFacetsExample { private final Directory indexDir = new RAMDirectory(); ...

  9. redis High Availability---Redis Sentinel翻译

    注意,本文档为最新(11月21日),旧版本的可以参考:http://redis.io/topics/sentinel-old 不鼓励使用旧版本的文档. Redis Sentinel是一个用来管理Red ...

  10. yum安装 指定安装目录

    yum -c /etc/yum.conf --installroot=/usr/local --releasever=/ install love