當前有一套測試庫,剩餘磁碟空間不多怎麼弄

Caomeinico發表於2021-10-20

為了保持乾淨,因此要先刪舊庫再建新庫,開始吧。


檢查當前配置

srvctl config all


備份當前環境

expdp directory=dir1 dumpfile=mon.dmp schemas=MON logfile=mon_exp.log

/home/oracle/mon.dmp 247MB


刪除當前資料庫

dbca -silent -deleteDatabase -sourceDB moniterdb


整合現有磁碟

col name for a10

col path for a40

set lin 120 pages 100

select group_number,path,total_mb,free_mb from v$asm_disk order by 1,2;

select group_number,name,total_mb,free_mb from v$asm_diskgroup order by 1;


alter diskgroup fra dismount; -- 兩個節點

drop diskgroup fra including contents;

alter diskgroup arch dismount; -- 兩個節點

drop diskgroup arch including contents;


由於data被mgmtdb使用,因此需要刪除

crsctl stop res ora.crf -init # 兩個節點

crsctl modify res ora.crf -attr ENABLED=0 -init # 兩個節點


srvctl status mgmtdb

在執行著的節點執行

dbca -silent -deleteDatabase -sourceDB -MGMTDB 


alter diskgroup data dismount;

drop diskgroup data including contents;


建立新asm磁碟組

create diskgroup datadg external redundancy disk '/dev/asmdiske','/dev/asmdiskf','/dev/asmdiskg';

alter diskgroup datadg mount;


修改磁碟組屬性

col name for a9

col COMPATIBILITY for a20

col DATABASE_COMPATIBILITY for a20

select name,COMPATIBILITY,DATABASE_COMPATIBILITY,total_mb from v$asm_diskgroup;

alter diskgroup datadg set attribute 'compatible.asm'='19.0.0.0.0';


建立目錄

asmcmd mkdir +datadg/orcl


DBNAME=orcl


dbca -silent   -createDatabase \

 -templateName  General_Purpose.dbc \

 -gdbName $DBNAME -sid $DBNAME \

 -responseFile   NO_VALUE \

 -characterSet   ZHS16GBK \

 -sysPassword    Ora.cle_123 \

 -systemPassword Ora.cle_123 \

 -createAsContainerDatabase false \

 -databaseType   OLTP \

 -automaticMemoryManagement false \

 -totalMemory    32768 \

 -redoLogFileSize 500 \

 -emConfiguration NONE \

 -ignorePreReqs \

 -storageType asm \

 -datafileDestination +datadg \

 -recoveryAreaDestination NONE \

 -nodeinfo host1,host2

工作量不小。好買網GOODmai


有磁碟空間就省事多了,直接 dbca 即可。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008684/viewspace-2838366/,如需轉載,請註明出處,否則將追究法律責任。

相關文章