暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

安全无小事--表空间扩容

原创 lvzhengwei 2022-01-22
1225

oracle的表空间扩容几乎是每一个oracle dba从业者都做过的事情,很多人估计也不会在扩容表空间的时候提前编写脚本啥的了,在这里我记录下我第一次扩容表空间时候的步骤,也给自己和大家提个醒,谨慎和安全是每一个dba都应该重视的,

当时的我的严谨也应该继续下去:


1.先查询表空间的使用情况,一共多少,剩多少,剩余百分比

set linesize 200 pagesize 99

col tablespace_name for a20

select TABLESPACE_NAME,ROUND((t.TABLESPACE_SIZE * p.value)/1024/1024/1024) TABLESPACE_SIZE_GB,ROUND((t.USED_SPACE * p.value)/1024/1024/1024) USED_SPACE_GB,USED_PERCENT

from DBA_TABLESPACE_USAGE_METRICS t

INNER JOIN v$parameter p ON p.name = 'db_block_size' order by 4 desc;



2.一定要查看实例名字  show parameter name



3.查看asm磁盘组的使用情况,是否够给扩容任务

select name,total_mb,free_mb,type from v$asm_diskgroup;



4.查看数据库是db_block_size这个参数,如果是8K数据库的话 一次最多只能加32g(31g)的数据文件,一定要看 有不少16k的



5.select file_name from dba_data_files

查看数据文件存放位置,如果是默认的  +/dbname/datafile/的话就用默认,不是的话要把datafile加到他们的规则里面去



6.给表空间增加数据文件

alter tablespace tablespace_name add datafile '+xxxxxx' size xxg;

注意别加小的碎的文件 直接加大的 有个参数db_files来限制最大的数据文件的个数,修改这个参数要重启库,所以一定要小心别加太多数据文件 


7.这个语句要写到脚本里面 然后后台nohup执行

ABM

export ORACLE_SID=abmdb1                                             ----可以使用env|grep ORACLE_SID来查看环境变量,执行前一定要设置


vi abm.sh                                                                                 -----写nohup执行脚本


export ORACLE_SID=abmdb1

sqlplus -S "/as sysdba" <<!                                                       ------脚本内容

set termout off

set feedback on

 spool  /home/oracle/abspoolm.log

@/home/oracle/abm.sql

spool off

exit


vi abm.sql                                                                                 ------sql内容


set timing on;

alter tablespace TBS_ABM_BJ_INDX add datafile '+DATADG' size 63g;

alter tablespace TBS_ABM_BJ_INDX add datafile '+DATADG' size 63g;

alter tablespace TBS_SID_INDX add datafile '+DATADG' size 63g;

alter tablespace TBS_SID_INDX add datafile '+DATADG' size 63g;

alter tablespace TBS_SID_DATA add datafile '+DATADG' size 63g;

alter tablespace TBS_SID_DATA add datafile '+DATADG' size 63g;

alter tablespace TBS_SID_DATA add datafile '+DATADG' size 63g;



nohup sh abm.sh &                                                             ----------后台执行,这个命令执行之后要按回车,注意如果两个脚本在一个目录执行,那么就会有两个nohup.out,所以要重定向 nohup sh ACT.sh > act.out &


tail -100f nohup.out                                                             ----------查看运行的输出,可能说什么!不用管,在跑




8.脚本跑起来之后查看日志,看是否按照顺序在跑脚本里面的sql 查询语句:

select n.sid,n.serial#,n.program,n.terminal,n.logon_time,n.machine,n.sql_id,a.sql_text from v$session n,v$sqlarea a where n.sql_id=a.sql_id and a.sql_text like 'alter tablespace%';


添加自动扩展的数据文件:

alter tablespace lv add datafile '+data' size 5m autoextend on maxsize 10m; 

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论