ORACLE扩表空间的方法

更新时间:2023-09-30 23:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

oracle扩展表空间的常用方法

监控表空间的使用是DBA的日常工作之一,Oracle扩展表空间很简单,一般有扩展某个数据文件大小或增加新的数据文件两种办法。举例说明如下。 首先我们要获取某个表空间的数据文件信息:

select file_name,file_id,tablespace_name,bytes/1024/1024 from dba_data_files order by file_name

根据file_id扩展某个数据文件大小: alter database datafile 12 resize 13312m;

要注意的是,如果使用裸设备,一般要先查看LV是否足够,否则以上扩展命令可能出错,查看方式如下: 查看VG信息:

ERPDB1@/home/oracle>lsvg rootvg oraclevg 查看VG的LV:

ERPDB1@/home/oracle>lsvg -l oraclevg oraclevg:

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT

db_oravote raw 1 1 1 closed/syncd N/A db_oraocr raw 1 1 1 closed/syncd N/A db_system raw 3 3 1 open/syncd N/A db_sysaux raw 5 5 1 open/syncd N/A db_undotbs1 raw 3 3 1 open/syncd N/A db_undotbs2 raw 3 3 1 open/syncd N/A db_temp raw 46 46 1 closed/syncd N/A db_erp_ht2 raw 56 56 1 open/syncd N/A db_erp2 raw 72 72 1 open/syncd N/A 查看VG的详细信息:

ERPDB1@/home/oracle>lsvg oraclevg

VOLUME GROUP: oraclevg VG

IDENTIFIER: 00c65fbf00004c000000011697e0f5f9

VG STATE: active PP SIZE: 256 megabyte(s)

VG PERMISSION: read/write TOTAL PPs: 2328 (595968 megabytes)

MAX LVs: 512 FREE PPs: 1146 (293376 megabytes)

LVs: 57 USED PPs: 1182 (302592 megabytes)

OPEN LVs: 39 QUORUM: 5 TOTAL PVs: 8 VG DESCRIPTORS: 8 STALE PVs: 0 STALE PPs: 0 ACTIVE PVs: 8 AUTO ON: no Concurrent: Enhanced-Capable Auto-Concurrent: Disabled

VG Mode: Concurrent

Node ID: 1 Active Nodes: MAX PPs per VG: 130048

MAX PPs per PV: 1016 MAX PVs: 128 LTG size (Dynamic): 1024 kilobyte(s) AUTO SYNC: no HOT SPARE: no BB POLICY: relocatable

这里可见还有1146个可用的pp ,根据pp size能计算出VG的容量。 查看某个LV的详细信息:

ERPDB1@/home/oracle>lslv db_erp2

LOGICAL VOLUME: db_erp2 VOLUME GROUP: oraclevg LV IDENTIFIER: 00c65fbf00004c000000011697e0f5f9.44 PERMISSION: read/write

VG STATE: active/complete LV STATE: opened/syncd

TYPE: raw WRITE VERIFY: off MAX LPs: 512 PP SIZE: 256 megabyte(s)

COPIES: 1 SCHED POLICY: parallel LPs: 72 PPs: 72 STALE PPs: 0 BB POLICY: relocatable INTER-POLICY: minimum RELOCATABLE: no INTRA-POLICY: middle UPPER BOUND: 128 MOUNT POINT: N/A LABEL: None MIRROR WRITE CONSISTENCY: off

EACH LP COPY ON A SEPARATE PV ?: no

Serialize IO ?: NO DEVICESUBTYPE : DS_LVZ

注意这里可以根据pp 的数量和大小计算能提供的容量。 扩展某个LV,增加32个pp :

p5a1@/orabak/arch/transmited#extendlv db_erp_cw 32 p5a1@/orabak/arch/transmited#ls -l /dev/rdb_erp_cw crw-rw---- 1 oracle dba 53, 35 Dec 02 2007 /dev/rdb_erp_cw

LV增加了以后,就可以用上面的命令扩展对应的数据文件了。 如果要新增LV,则一般这样操作:

p5a1@/#mklv -y db_erp_index2 -T O -w n -t raw -s n -r n oraclevg 156 p5a1@/#chown oracle.dba /dev/rdb_erp_index2 p5a1@/#ls -l /dev/rdb_erp_index2

crw-rw---- 1 oracle dba 53, 58 Mar 26 20:02 /dev/rdb_erp_index2 然后增加数据文件:

SQL> ALTER TABLESPACE erp_index ADD DATAFILE '/dev/rdb_erp_index2' SIZE 4096m;

Tablespace altered.

如果是ASM环境,查看可用空间和为表空间增加数据文件的脚本如下: select group_number,name,total_mb,free_mb from v$asm_diskgroup; ALTER TABLESPACE erp_index ADD DATAFILE '+DATA' SIZE 4096m;

单个数据文件的大小对性能基本没什么影响,单个数据文件过大就是可能有管理维护方面的潜在问题,比如数据文件损坏带来的数据损失。

本文来源:https://www.bwwdw.com/article/0d2d.html

Top