一、查看表空间使用状况

查看表空间的是使用率可以通过多种方式查看,比如 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在各种环境下扩展表空间相关推荐

  1. oracle创建表空间 扩展表空间文件 修改表空间自动增长

    1. 创建表空间 create tablespace SIRM2  datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 10 ...

  2. 如何在linux下创建表空间,linux下创建oracle表空间

    来自:http://blog.sina.com.cn/s/blog_62192aed01018aep.html 1 . 登录服务器 2 . 查看磁盘空间是否够大df -h -h更具目前磁盘空间和使用情 ...

  3. Oracle ORA-01653: 无法扩展表空间 (unable to extend table... in tablespace ...)

    造成问题原因分析: 1.表空间不足. 2.表空间状态未开启自动扩展功能. 检查 1.查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名" ...

  4. Oracle 查看和扩展表空间

    一.查询表空间使用情况 select a.tablespace_name as "表空间名",a.bytes / 1024 / 1024 as "表空间大小(M)&quo ...

  5. Oracle之同义词,DBLINK,表空间

    昨天讲了物化视图了,今天讲一下同义词的这个概念 就是synonym,反正这个我叫习惯了,这个同义词了解过吗,这个可能了解的不多吧,MYSQL里面有同义词的概念吗,给我点反馈,你用MYSQL里面有同义词 ...

  6. ORACLE开发:创建与管理表空间和数据文件1

    Oracle在逻辑上以表空间存储数据,而实际上是以数据文件存储数据. 表空间和数据文件 表空间:某一时刻只属于一个数据库:由一个或多个数据文件组成:可近一步划分逻辑存储单元 数据文件:只能属于一个表空 ...

  7. oracle删除当前用户下所有表

    oracle删除当前用户下所有表 1.如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉. 删除后再创建该用户. ...

  8. Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7

    墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...

  9. 【VMware环境下Linux磁盘空间(LVM)扩容方法】

    VMware环境下Linux磁盘空间(LVM)扩容方法 引言 环境 目标 步骤 检查磁盘 VMware扩展磁盘空间 创建分区 配置LVM 引言 最近在安装Oracle ASM的过程中,解压文件被迫终止 ...

最新文章

  1. python与caffe改变通道顺序
  2. h5课件制作_Articulate storyline交互H5视频课件制作技巧
  3. annotationdriven
  4. Python字符串split()和join()方法应用一例
  5. 能够帮助确诊乳腺癌的AI系统诞生,堪称“女性之友”
  6. Download Microsoft Visual Studio 2010 Ultimate Trial - ISO from Official Microsoft Download Center
  7. Ubuntu 20.04更新源报错W: 校验数字签名时出错。此仓库未被更新,所以仍然使用此前的索引文件。
  8. 深度学习自学(三十九):SRN骨架检测 Side-output Residual Network for Object Symmetry Detection in the Wild
  9. Flutter之SafeArea
  10. 软件测试术语中英文对照
  11. 01使用Python分析科比生涯数据
  12. 网站订单销售统计电商后台前端模板
  13. Qt 二维码文件传输工具
  14. 谨以此文纪念我的大学四年
  15. 首届国际蜂业展在穗举办 零数科技受邀出席
  16. 在AVD上运行程序时,程序闪退并报错unfortunately,xx has stopped
  17. 文末福利|使用Python转换PDF,Word/Excel/PPT/md/HTML都能转!
  18. 【CCM-SLAM论文阅读笔记】
  19. 芯片分享——MS9601A
  20. 谈谈个人网站的建立(五)—— 小集群的部署

热门文章

  1. 振动盘的底盘有哪几种类型
  2. C++1——控制语句章节
  3. win10安装JDK1.8及配置java环境变量详解
  4. Intel争夺台积电5nm工艺,AMD疑似被迫出走三星
  5. 淘宝怎么多个订单一起付款_淘宝开店买家下单不付款怎么办?几招轻松搞定!...
  6. 关于django 1.10 CSRF验证失败的解决方法 - python
  7. 【沃顿商学院学习笔记】商业基础——Operation Management:01运营活动整体策略及边界学习
  8. Mind Control(暴力+枚举)
  9. 【巨杉数据库SequoiaDB】巨杉Tech | 分布式数据库千亿级超大表优化实践
  10. 计算机辅助教育和管理教育,计算机辅助教育管理.ppt