oracle在各种环境下扩展表空间
一、查看表空间使用状况
查看表空间的是使用率可以通过多种方式查看,比如 oracle客户端管理器,OEM等等。这里使用命令方式查看:
SELECT tablespace_name, sum_m as "sum(M) " , sum_free as "sum_free(M) ",to_char(100*(sum_m-sum_free)/sum_m, '99.99') || '%' AS pct_free
FROM ( SELECT tablespace_name,sum(bytes)/1024/1024 AS sum_m FROM dba_data_files GROUP BY tablespace_name),
( SELECT tablespace_name AS ts_name, sum(bytes/1024/1024) AS sum_free FROM dba_free_space GROUP BY tablespace_name )
WHERE tablespace_name = ts_name (+)
Union
SELECT tablespace_name , sum_m as "sum(M) " , sum_free as "sum_free(M) " , to_char(100*(sum_m-sum_free)/sum_m, '99.99') || '%' AS pct_free
FROM (select tablespace_name, sum(bytes)/1024/1024 AS sum_m from dba_temp_files group by tablespace_name),
(select tablespace_name AS ts_name, sum(BYTES_FREE /1024/1024) AS sum_free from v$temp_space_header group by tablespace_name)
Where tablespace_name = ts_name (+)
order by pct_free;
二、数据库文件存储方式
Oracle的表空间存储方式主要有三种:
1. 文件系统(通常非/dev目录开头,如/oradata
2. 裸设备(通常是/dev/r****方式)
3. ASM(非/开头,以+开头)
如何查看表空间数据文件的存放位置,如下:
SQL>set linesize 200
SQL> col file_name format a50
SQL> col tablespace format a20
SQL> select file_id,file_name,tablespace_name from dba_data_files;
FILE_ID FILE_NAME TABLESPACE_NAME
1 +DATADG/primarydb/datafile/system.270.785597071 SYSTEM
2 +DATADG/primarydb/datafile/sysaux.269.785597073 SYSAUX
3 +DATADG/primarydb/datafile/undotbs1.264.785597075 UNDOTBS1
4 +DATADG/primarydb/datafile/users USERS
5 +DATADG/primarydb/datafile/test.261.785597131 TEST
6 +DATADG/primarydb/datafile/test.259.785597479 TEST
7 /oracle/lixz01.dbf LIXZ
8 /dev/ruser_data01 USER_DATA01
这个数据库中三种存储方式都有,1-6号数据文件存放在 ASM的+DATADG中,7号数据文件存放在文件系统中,8号数据文件存放在裸设备中。
注:一般 ORACLE不建议将数据文件以不同的方式存储,这里只是演示使用。
下面介绍下各个数据文件存储方式在不同操作系统下增加数据文件或者表空间的步骤。
三、文件系统
3.1 windows平台:
通过 dba_data_files视图查出的数据文件目录通常以盘符开头(如 D:\oradata)
打开我的电脑查看对应的磁盘分区剩余空间,确保满足需求。通过如下命令增加数据文件:
SQL>alter tablespace XX add datafile ‘D:\xx\xx.dbf’ size xxM;
3.2 UNIX操作系统
如果通过 dba_data_files视图查出的数据文件是存放在 unix/linux下的文件系统,通过以下方 式查看文件系统的剩余空间,如下:
SQL> !df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 28337624 15770924 11103984 59% /
/dev/hda1 101086 11825 84042 13% /boot
tmpfs 1048576 383652 664924 37% /dev/shm
单位是 kb,如’/’目录的剩余空间为 11103984 K大约为 10G。
如果子目录不是文件系统的挂载目录,则表示数据存放在根目录中。
确保相应的文件系统剩余空间满足需求。通过以下命令增加数据文件:
SQL>alter tablespace XX add datafile ‘/xx/xx.dbf’ size xxM;
四、裸设备
通常我们的生产系统如果使用裸设备,都与双机系统结合使用。不同的 UNIX操作系统增加 裸设备的方法不同。
通过下列命令查看操作系统类型:
SQL> !uname -a
AIX hostname 1 6 00F6AD424C00---------------------------------------------------#AIX操作系统。
HP-UX hotname B.11.31 U ia64 1857089066 unlimited-user license-------------#HP-UX操作系统
4.1 AIX操作系统
1. 查看双机的状态
# lssrc -g cluster
Subsystem Group PID Status
clstrmgrES cluster 9568604 active
2. 查看裸设备所在 vg信息
如下:
# lslv lv_name
LOGICAL VOLUME: user_data08_03 VOLUME GROUP: xxvg
LV IDENTIFIER: 00c05d9500004c00000001263670d134.70 PERMISSION: read/write
VG STATE: active/complete LV STATE: opened/syncd
TYPE: raw WRITE VERIFY: off
MAX LPs: 512 PP SIZE: 1024 megabyte(s)
COPIES: 1 SCHED POLICY: parallel
LPs: 5 PPs: 5
STALE PPs: 0 BB POLICY: relocatable
INTER-POLICY: minimum RELOCATABLE: yes
INTRA-POLICY: middle UPPER BOUND: 1024
MOUNT POINT: N/A LABEL: None
从上面可以了解到数据文件存放的 vg是 xxvg、LV类型是 raw、PP大小为 1024M
3. 增加共享 LV
#smit cl_admin
-->
HACMP Logical Volume Management
-->
Shared Logical Volume
-->
Add a Shared Logical Volume
-->
选择相应的 Shared Volume Group
根据需求设定裸设备的大小:LP的个数 n,对应的裸设备大小为 n*lp _size .
Logigcal volume name根据数据文件的原来命名规则命名,如 user_data01_08Logical volume type选择 raw
4. 为裸设备授权
#chown oracle:dba /dev/rlv_name
#chmod 660 /dev/rlv_name
双机的各个节点都必须执行。
5. 增加数据文件
SQL>alter tablespace XX add datafile ‘/dev/rlv_name’ size xxM;
注意:这里 size大小必须小于裸设备的大小。
4.2 HP-UX操作系统
1. 查看双机的状态
#cmviewcl -v
CLUSTER STATUS
cluster1 up
NODE STATUS STATE
db1 up running
PACKAGE STATUS STATE AUTO_RUN NODE
db_pkg up running enabled db1
NODE STATUS STATE
db2 up running
查看到 2个节点正常运行双机,数据库资源在 db1节点上运行。
2. 查看 vg与 lv信息,找到数据文件对应的裸设备所在的 vg
如:
# lvdisplay lv_name
--- Logical volumes ---
LV Name lv_name
VG Name /dev/vgxx
LV Permission read/write
LV Status available/syncd
Mirror copies 1
Consistency Recovery MWC
Schedule parallel
LV Size (Mbytes) 30720
Current LE 960
Allocated PE 1920
Stripes 0
Stripe Size (Kbytes) 0
Bad block on
Allocation strict
IO Timeout (Seconds) default
从上面可以了解到数据文件存放的 vg是 vgxx
3. 创建裸设备
在数据库运行的节点创建裸设备:
#lvcreate -n lv_name -L xx /dev/vgxx
Lv_name:根据数据文件的原来命名规则命名,如 user_data01_08
-L参数的单位为 M,根据需求设置大小。
4. 同步 VG信息
在创建 LV的节点上导出 vg信息,并复制到另一个节点:
查看 vgxx的 group id
#ll /dev/*/group
crw-r----- 1 root sys 640x020000 Apr 1 18:47 /dev/vgxx/group
#vgexport -p -v -s -m /tmp/vgxx.map /dev/vgxx
#rcp /tmp/vgxx.map server-b: /tmp/vgxx.map
在另一个节点导入 vg信息:
先清空原来的 vg信息
#vgexport /dev/vgxx
#mkdir /dev/vgxx
#mknode /dev/vgxx/group c 640x020000-------------------------------#该 group id上面查看得到
#vgimport -v -s -m /tmp/vgxx.map vgxx
5. 为裸设备授权
#chown oracle:dba /dev/vgxx/rlv_name
#chmod 660 /dev/vgxx/rlv_name
双机的各个节点都必须执行。
6. 增加数据文件
SQL>alter tablespace XX add datafile ‘/dev/vgxx/rlv_name’ size xxM;
注意:这里 size大小必须小于裸设备的大小。
五、ASM
在 oracle 10g以后 oracle新增了一种存储方式自动存储管理(ASM),ASM省去了操作系统
方式的管理数据文件,而通过 oracle自身管理。如果通过 dba_data_files视图查出以 ASM方式存储数据文件,
可以通过以下方式增加数据文件。 如何查看 ASM的 diskgroup剩余空间:
Oracle 10g:
在第一个节点执行:
#su -oracle
$export ORACLE_SID=+ASM1
$asmcmd
ASMCMD>lsdg
Oracle 11g:
#su - grid
$asmcmd
ASMCMD>lsdg
确保相应的 diskgroup Free_MB满足需求。
通过以下命令增加数据文件:
SQL>alter tablespace XX add datafile ‘+XX’ size xxM;
注意:ASM增加数据文件或者创建表空间不需要指定数据文件名,只要指定 diskgroup即可!ASM会自动命名。
oracle在各种环境下扩展表空间相关推荐
- oracle创建表空间 扩展表空间文件 修改表空间自动增长
1. 创建表空间 create tablespace SIRM2 datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...
- 如何在linux下创建表空间,linux下创建oracle表空间
来自:http://blog.sina.com.cn/s/blog_62192aed01018aep.html 1 . 登录服务器 2 . 查看磁盘空间是否够大df -h -h更具目前磁盘空间和使用情 ...
- Oracle ORA-01653: 无法扩展表空间 (unable to extend table... in tablespace ...)
造成问题原因分析: 1.表空间不足. 2.表空间状态未开启自动扩展功能. 检查 1.查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名" ...
- Oracle 查看和扩展表空间
一.查询表空间使用情况 select a.tablespace_name as "表空间名",a.bytes / 1024 / 1024 as "表空间大小(M)&quo ...
- Oracle之同义词,DBLINK,表空间
昨天讲了物化视图了,今天讲一下同义词的这个概念 就是synonym,反正这个我叫习惯了,这个同义词了解过吗,这个可能了解的不多吧,MYSQL里面有同义词的概念吗,给我点反馈,你用MYSQL里面有同义词 ...
- ORACLE开发:创建与管理表空间和数据文件1
Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据. 表空间和数据文件 表空间:某一时刻只属于一个数据库:由一个或多个数据文件组成:可近一步划分逻辑存储单元 数据文件:只能属于一个表空 ...
- oracle删除当前用户下所有表
oracle删除当前用户下所有表 1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户. ...
- Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...
- 【VMware环境下Linux磁盘空间(LVM)扩容方法】
VMware环境下Linux磁盘空间(LVM)扩容方法 引言 环境 目标 步骤 检查磁盘 VMware扩展磁盘空间 创建分区 配置LVM 引言 最近在安装Oracle ASM的过程中,解压文件被迫终止 ...
最新文章
- python与caffe改变通道顺序
- h5课件制作_Articulate storyline交互H5视频课件制作技巧
- annotationdriven
- Python字符串split()和join()方法应用一例
- 能够帮助确诊乳腺癌的AI系统诞生,堪称“女性之友”
- Download Microsoft Visual Studio 2010 Ultimate Trial - ISO from Official Microsoft Download Center
- Ubuntu 20.04更新源报错W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。
- 深度学习自学(三十九):SRN骨架检测 Side-output Residual Network for Object Symmetry Detection in the Wild
- Flutter之SafeArea
- 软件测试术语中英文对照
- 01使用Python分析科比生涯数据
- 网站订单销售统计电商后台前端模板
- Qt 二维码文件传输工具
- 谨以此文纪念我的大学四年
- 首届国际蜂业展在穗举办 零数科技受邀出席
- 在AVD上运行程序时,程序闪退并报错unfortunately,xx has stopped
- 文末福利|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!
- 【CCM-SLAM论文阅读笔记】
- 芯片分享——MS9601A
- 谈谈个人网站的建立(五)—— 小集群的部署
热门文章
- 振动盘的底盘有哪几种类型
- C++1——控制语句章节
- win10安装JDK1.8及配置java环境变量详解
- Intel争夺台积电5nm工艺,AMD疑似被迫出走三星
- 淘宝怎么多个订单一起付款_淘宝开店买家下单不付款怎么办?几招轻松搞定!...
- 关于django 1.10 CSRF验证失败的解决方法 - python
- 【沃顿商学院学习笔记】商业基础——Operation Management:01运营活动整体策略及边界学习
- Mind Control(暴力+枚举)
- 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践
- 计算机辅助教育和管理教育,计算机辅助教育管理.ppt