這兩天遇到客戶因?yàn)檎`操作,將RAC環(huán)境下的所有共享存儲(chǔ)格式化掉了,客戶只有一個(gè)最近的RMAN的0級(jí)全備(無(wú)數(shù)據(jù)文件,無(wú)控制文件,無(wú)歸檔日志,無(wú)redo日志),需要幫忙恢復(fù)。將大致的恢復(fù)過(guò)程記錄一下。
0.恢復(fù)共享存儲(chǔ)是第一步,給存儲(chǔ)原廠打電話,原廠推是os的問(wèn)題,讓給os打電話,結(jié)果只能初始化了,最后只能恢復(fù)到被識(shí)別的狀態(tài),一切從頭開(kāi)始。
1.因?yàn)榧很浖茄b在本地的,所以恢復(fù)rac的集群環(huán)境,只需要將ocr和vdisk重新配置一下,就可以了。可以執(zhí)行root.sh腳本來(lái)進(jìn)行重新的配置,如果中間報(bào)一個(gè)已經(jīng)被配置過(guò)的提示,那就先用dd清除ocr和vdisk的信息,并刪除相應(yīng)的目錄文件,如下:
rm -rf /usr/tmp/.oracle /var/tmp/.oracle /tmp/.oracle /etc/oracle/* /var/opt/oracle/*
rm -rf /etc/init.cssd /etc/init.crs* /etc/init.evmd /etc/init.d/init.cssd /etc/init.d/init.crs
rm -rf /etc/init.d/init.crsd /etc/init.d/init.evmd /etc/rc3.d/K96init.crs /etc/rc3.d/S96init.crs
rm -rf /etc/rc.d/rc2.d/K96init.crs /etc/rc.d/rc2.d/S96init.crs
2.恢復(fù)完集群環(huán)境之后,開(kāi)始恢復(fù)數(shù)據(jù)庫(kù)。因?yàn)樵儐?wèn)到客戶有去年年底的一個(gè)RMAN的0級(jí)全備,以及控制文件的快照沒(méi)有放到共享存儲(chǔ)上,故可以采用重建控制文件+restore備份的方法來(lái)恢復(fù)。中途遇到很多問(wèn)題,因?yàn)樗械娜罩緜浞菥诺焦蚕泶鎯?chǔ)下的,故這次恢復(fù)在recover的步驟時(shí)是沒(méi)有日志用來(lái)補(bǔ)充的。所以restore databse until 時(shí)間后,再recover,再alter database open resetlogs后,會(huì)報(bào)一個(gè)需要恢復(fù)數(shù)據(jù)文件的錯(cuò)誤提示,操作的時(shí)候運(yùn)氣不好,剛好遇到的是需要恢復(fù)datafile 1,再折騰了幾個(gè)小時(shí)候,終于發(fā)現(xiàn)按照正常的手段是行不通的.
3.因?yàn)闆](méi)有日志,無(wú)法使得數(shù)據(jù)庫(kù)達(dá)到一致性,所以只有采取修改隱藏參數(shù)的辦法來(lái)忽略數(shù)據(jù)庫(kù)的不一致,來(lái)強(qiáng)行打開(kāi)數(shù)據(jù)庫(kù).先將數(shù)據(jù)庫(kù)打到mount狀態(tài),在做完restore,recover之后,將隱藏參數(shù)修改 alter system set "_allow_resetlogs_corruption"=true scope=spfile;再shutdown數(shù)據(jù)庫(kù),啟動(dòng)到mount狀態(tài)之后,alter database open resetlogs; resetlogs打開(kāi)數(shù)據(jù)庫(kù)后,運(yùn)氣仍然不是太好,又遇到了ORA-00600 2662號(hào)的錯(cuò)誤.
4. 當(dāng)使用修改_allow_resetlogs_corruption ,再打開(kāi)數(shù)據(jù)庫(kù)時(shí)遇到了ORA-00600 2662號(hào)的錯(cuò)誤, 如果SCN相差不多,可以通過(guò)多次重起數(shù)據(jù)庫(kù)解決 ,但是這次遇到的SCN相差很大(通過(guò)查v$datafile和v$datafile_header的CHECKPOINT_CHANGE#來(lái)判斷),這個(gè)時(shí)候只有再修改另外一個(gè)隱藏參數(shù) _minimum_giga_scn來(lái)解決問(wèn)題._minimum_giga_scn的作用是推進(jìn)SCN號(hào),該參數(shù)值的單位是billion,也就是說(shuō)設(shè)置了該參數(shù)后,SCN號(hào)會(huì)變成XX* (1024*1024*1024) ,XX可以通過(guò)2662的幾個(gè)參數(shù)來(lái)確定. 2662后的參數(shù)[2662],[a],[b],[c],[d],[e]…[a] Current SCN WRAP,[b] Current SCN BASE,[c] dependent SCN WRAP,[d] dependent SCN BASE,[e] Where present this is the DBA where the dependent SCN came from.
5.當(dāng)修改了2個(gè)隱藏參數(shù)之后,數(shù)據(jù)庫(kù)終于能啟動(dòng)了,但是alert日志還是會(huì)報(bào)一些600的錯(cuò)誤,暫時(shí)忽略.用exp(expdp可能會(huì)報(bào)錯(cuò))將數(shù)據(jù)全部導(dǎo)出,重建新的實(shí)例,再用imp導(dǎo)入數(shù)據(jù)到新的庫(kù)中.exp的時(shí)候需要注意一個(gè)參數(shù)compress,這個(gè)參數(shù)可以降低HWM,使的imp的時(shí)候,時(shí)間相對(duì)盡量少一些.
早上做個(gè)實(shí)驗(yàn),update數(shù)據(jù)的時(shí)候報(bào)錯(cuò)ora-30036:無(wú)法按8擴(kuò)展段(在還原表空間‘undotbs_new’中)
1.查詢了一下undo表空間的使用,發(fā)現(xiàn)已經(jīng)超過(guò)了80%
SELECT a.tablespace_name as tablespace_name,
to_char(b.total/1024/1024,999999.99) as Total,
to_char((b.total-a.free)/1024/1024,999999.99) as Used,
to_char(a.free/1024/1024,999999.99) as Free,
to_char(round((total-free)/total,4)*100,999.99) as Used_Rate
FROM (SELECT tablespace_name, sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a,
(SELECT tablespace_name, sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name ) b
WHERE a.tablespace_name=b.tablespace_name
AND a.tablespace_name='UNDOTBS_NEW'
ORDER BY a.tablespace_name;
2.將undo表空間大小重新加大點(diǎn),解決問(wèn)題~
alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\SUREDD\UNTOTBS_NEW_01.DBF' resize 2048M;
v$sqltext:存儲(chǔ)的是完整的SQL,SQL被分割
v$sqlarea:存儲(chǔ)的SQL 和一些相關(guān)的信息,比如累計(jì)的執(zhí)行次數(shù),邏輯讀,物理讀等統(tǒng)計(jì)信息.v$sqlarea 忽略了執(zhí)行計(jì)劃等差異,只是在形式上sql文本看起來(lái)一樣.相當(dāng)于做了個(gè)聚合,是多個(gè)不同執(zhí)行計(jì)劃的sql的聚合和累計(jì)信息
v$sql:存儲(chǔ)的是具體的SQL 和執(zhí)行計(jì)劃相關(guān)信息,v$sqlarea 可以看做 v$sql 根據(jù) sqltext 等 做了 group by 之后的信息
v$sql_plan:代表了具體的sql的執(zhí)行計(jì)劃,通過(guò)下面3個(gè)字段做連接(與v$sql)
ADDRESS RAW(4),HASH_VALUE NUMBER,CHILD_NUMBER NUMBER
這幾天安裝oracle,檢查包的時(shí)候,發(fā)現(xiàn)一些包沒(méi)有裝上,使用rpm來(lái)裝的時(shí)候,又發(fā)現(xiàn)包的依耐性很重,所以就搭建一個(gè)本地的源,使用yum install來(lái)安裝.
1.掛載安裝介質(zhì)
mount /dev/cdrom /mnt/cdrom
如果是實(shí)體機(jī):
mount -o loop 鏡像所在目錄 掛載點(diǎn)
2.vi /etc/yum.repos.d/server.repo
[dange] #隨意填
name=red hat #隨意填
baseurl=file:///mnt/cdrom/RedHat/Server #光盤掛載,Server目錄所在路徑
enable=1 #yum開(kāi)關(guān)
gpgcheck=1 #是否檢查密鑰
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release #密鑰所在地
3.如果安裝軟件包提示沒(méi)有key的話導(dǎo)入key
cd /mnt/cdrom
rpm --import RPM-GPG-KEY-redhat-release //安裝驗(yàn)證文件,導(dǎo)入key
yum list //列出倉(cāng)庫(kù)中的所有軟件,查看yum是否搭建成功
yum clean all //清空yum倉(cāng)庫(kù)
4.OK,可以直接使用yum install了
1.現(xiàn)象:裝clusterware,執(zhí)行第二個(gè)腳本的時(shí)候可能會(huì)報(bào)錯(cuò)
Running vipca(silent) for configuring nodeapps
/u01/app/oracle/crs/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory
2. 解決方案:分別修改 $CRS_HOME/bin 目錄下的srvctl和vipca文件,在vipca文件ARGUMENTS=""行之前和srvctl文件的export LD_ASSUME_KERNEL行之后增加 unset LD_ASSUME_KERNEL 語(yǔ)句.
修改之后再用root用戶執(zhí)行vipca就可以了.
Mount Options for Oracle files when used with NAS devices [ID 359515.1] |
|
| 修改時(shí)間 23-SEP-2011 類型 BULLETIN 狀態(tài) PUBLISHED | |
In this Document
Purpose
Scope and Application
Mount Options for Oracle files when used with NAS devices
RAC
Single Instance
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0.2 to 11.2.0.2 - Release: 10.1 to 11.2
Information in this document applies to any platform.
Oracle Clusterware, Oracle Real Application Clusters, NASPurpose
The purpose of this bulletin is to document the options with which the NAS systems should be mounted. This note does not cover the new dNFS feature that was introduced in 11g.
Scope and Application
This document is relevant to all environments using Oracle Clusterware & RAC.
Mount Options for Oracle files when used with NAS devices
RAC
In the table below
- Binaries is the shared mount points where the Oracle Home and CRS_HOME is installed.
- Datafiles includes Online Logs, Controlfile and Datafiles
- nfsvers and vers are identical on those OS platforms that has nfsvers. The ver option is an alternative to the nfsvers option. It is included for compatibility with other operating systems
- Please note that the mount options on each of the following cells are applicable only to those type of files listed in the column heading.
- For RMAN backup sets, image copies, and Data Pump dump files, the "NOAC" mount option should not be specified - that is because RMAN and Data Pump do not check this option and specifying this can adversely affect performance.
Operating System | Mount options for Binaries ## | Mount options for Oracle Datafiles | Mount options for CRS Voting Disk and OCR |
Sun Solaris * | rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,noac, vers=3,suid | rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,noac, forcedirectio, vers=3,suid | rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,vers=3, noac,forcedirectio |
AIX (5L) ** | rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp, vers=3,timeo=600 | cio,rw,bg,hard,nointr,rsize=32768, wsize=32768,proto=tcp,noac, vers=3,timeo=600 | cio,rw,bg,hard,intr,rsize=32768, wsize=32768,tcp,noac, vers=3,timeo=600 |
HPUX 11.23 *** -- | rw,bg,vers=3,proto=tcp,noac, hard,nointr,timeo=600, rsize=32768,wsize=32768,suid | rw,bg,vers=3,proto=tcp,noac, forcedirectio,hard,nointr,timeo=600, rsize=32768,wsize=32768,suid | rw,bg,vers=3,proto=tcp,noac, forcedirectio,hard,nointr,timeo=600 ,rsize=32768,wsize=32768,suid |
Windows | Not Supported | Not Supported | Not Supported |
Linux x86 # ****
| rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp, vers=3, timeo=600, actimeo=0 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,noac,actimeo=0, vers=3,timeo=600 |
Linux x86-64 # ****
| rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,vers=3, timeo=600, actimeo=0 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,noac,vers=3, timeo=600,actimeo=0 |
Linux - Itanium | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,vers=3, timeo=600, actimeo=0 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,actimeo=0, vers=3,timeo=600 | rw,bg,hard,nointr,rsize=32768, wsize=32768,tcp,noac,vers=3, timeo=600,actimeo=0 |
* NFS mount option “forcedirectio” is required on Solaris platforms when mounting the OCR/CRS files when using Oracle 10.1.0.4 or 10.2.0.2 or later (Oracle unpublished bug 4466428)
** AIX is only supported with NAS on AIX 5.3 TL04 and higher with Oracle 10.2.0.1 and later (NetApp)
*** NAS devices are only supported with HPUX 11.23 or higher ONLY
**** As per BUG 11812928, the 'intr' & 'nointr' are deprecated in OEL 5.6 kernels and up including Oracle Linux 6. It is harmless to still include it, but the "NFS: ignoring mount option: nointr" will appears. This message can be ingnored.
# These mount options are for Linux kernels 2.6 and above for older kernels please check Note 279393.1
Due to Unpublished bug 5856342, it is necessary to use the following init.ora parameter when using NAS with all versions of RAC on Linux (x86 & X86-64 platforms) until 10.2.0.4. This bug is fixed and included in 10.2.0.4 patchset.
filesystemio_options = DIRECTIO
Single Instance
Operating System | Mount options for Binaries | Mount options for Oracle Datafiles |
Sun Solaris * (8, 9, 10) | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,proto=tcp,suid | rw,bg,hard,rsize=32768,wsize=32768,vers=3,[forcedirectio or llock],nointr,proto=tcp,suid |
AIX (5L) ** | rw,bg,hard,rsize=32768,wsize=32768,vers=3,intr,timeo=600,proto=tcp | rw,bg,hard,rsize=32768,wsize=32768,vers=3,cio,intr,timeo=600,proto=tcp |
HPUX 11.23 **** | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,proto=tcp,suid | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,proto=tcp, suid, forcedirectio |
Windows | Not Supported | Not Supported |
Linux x86 # | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp,actimeo=0* |
Linux x86-64 # | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp,actimeo=0* |
Linux - Itanium | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp | rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp |
* actime=0 or noac can be used
References
http://now.netapp.com/Knowledgebase/solutionarea.asp?id=kb7518
http://linux.oracle.com/pls/apex/f?p=102:2:3947951439689189::NO::P2_VC_ID:424
相關(guān)內(nèi)容
|
1.檢查時(shí)區(qū):
檢查/etc/sysconfig/clock設(shè)置:
ZONE="Asia/Shanghai"(Linux會(huì)拷貝/usr/share/zoneinfo/Asia/Shanghai 到/etc/locatime作為本地時(shí)區(qū),如果我們需要改變時(shí)區(qū),那么只需要修改/etc/sysconfig/clock,并且將對(duì)應(yīng)的/usr/share/zoneinfo/Asia的時(shí)區(qū)文件拷貝成/etc/localtime即可)
UTC=false
ARC=false
2.安裝NTP包:
rpm -ivh ntp-xxxxxx.rpm
或者:
yum install ntp
3.編輯/etc/ntp.conf文件:
服務(wù)端:
server 127.127.1.0
fudge 127.127.1.0 stratum 11
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
客戶端:
server 192.168.0.11 prefer #192.168.0.11為服務(wù)端的ip地址
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
4.重啟ntp服務(wù):
service ntpd restart
5.等待5分鐘,測(cè)試客戶端更新時(shí)間:
ntpdate 192.168.0.11
Oct 16 21:09:28 ntpdate[8316]: step time server 192.168.0.11 offset -1791.709393 sec
6.在客戶端將更新時(shí)間加入crontab:
(1).cp /usr/sbin/ntpdate /usr/bin/
(2).crontab –e
加入
*/1 * * * * /usr/sbin/ntpdate 192.168.0.11 ; hwclock –w
7.加入自啟動(dòng)
chkconfig ntpd on
gunzip xxx.cpio.gz
cpio -idcmv < xxx.cpio
1.查看版本
crsctl query crs softwareversion
crsctl query crs activeversion
2.管理
srvctl start nodeapps -n <node1 hostname>
srvctl start nodeapps -n <node2 hostname>
srvctl start asm -n <node1 hostname>
srvctl start asm -n <node2 hostname>
srvctl start database -d <database name>
srvctl start service -d <database name> -s <service name>
crs_stat -t
srvctl stop service -d <database name> -s <service name>
srvctl stop database -d <database name>
srvctl stop asm -n <node1 hostname>
srvctl stop asm -n <node2 hostname>
srvctl stop nodeapps -n <node1 hostname>
srvctl stop nodeapps -n <node2 hostname>
crs_stat -t
當(dāng)服務(wù)器沒(méi)有裝圖形化界面的時(shí)候,如不能使用xhost之類的命令,就不能使用vnc了,那這個(gè)時(shí)候可以使用xmanager來(lái)代替
1.網(wǎng)上可以下載一個(gè)xmanager企業(yè)版,下載完后打開(kāi)Xbrowser,在help-->about Xbrowser中輸入注冊(cè)碼
2.在服務(wù)器端
DISPLAY=192.168.X.X:0.0
export DISPLAY
echo $DISPLAY
3.使用xmanager的xshell來(lái)打開(kāi)圖形化界面.(有可能會(huì)提醒運(yùn)行一個(gè)rootpre之類的腳本)
在Redhat5之前通過(guò)/etc/sysconfig/rawdevices配置raw的控制文件,通過(guò)/etc/init.d/rawdevices來(lái)管理raw設(shè)備的啟動(dòng)和關(guān)閉.
在Redhat5之后,需要編輯/etc/udev/rules.d/60-raw.rules 這個(gè)文件.
1.假設(shè)已經(jīng)把一個(gè)硬盤新建了幾個(gè)區(qū)
fdisk -l /dev/sdc
/dev/sdc1
/dev/sdc2
/dev/sdc3
2.修改/etc/udev/rules.d/60-raw.rules
添加:
ACTION=="add", KERNEL=="sdc1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc2",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc3",RUN+="/bin/raw /dev/raw/raw3 %N"
假設(shè)這個(gè)設(shè)備是給oracle用的,那再加上權(quán)限
KERNEL=="raw[1-3]*", NAME="raw/%k" OWNER="oracle" GROUP="oinstall", MODE="0660"
3.修改完之后重啟服務(wù)
start_udev
4.查看
raw -qa 或者 ls -lrt /dev/raw/
5.取消映射
raw /dev/raw/rawX 0 0
1.停止數(shù)據(jù)庫(kù)
2.停止Listener
3.用su或者重新登錄到root將oracle安裝目錄刪除
4.將/usr/bin下的文件刪除(刪除這三個(gè)文件后,Oracle就不能使用了)
rm /usr/local/bin/dbhome
rm /usr/local/bin/oraenv
rm /usr/local/bin/coraenv
5.將/etc/oratab刪除
6.將/etc/oraInst.loc刪除
7.將oracle用戶刪除(若要重新安裝,可以不刪除)
8.將用戶組刪除(若要重新安裝,可以不刪除)
做一個(gè)awr報(bào)告,在Load Profile可以查看到每秒的redo size(單位是byte),而redo log一般切換時(shí)間是1小時(shí)2-3次,按照3次來(lái)計(jì)算,就是20分鐘切換一次,所以redo log的大小就 = (redo size per second) * 60 * 20.
如果不能做awr報(bào)告,就去查看alert日志,看日志的切換頻率,根據(jù)切換的頻率來(lái)確定redo log的大小.
可能會(huì)用到的sql語(yǔ)句:
select * from v$logfile;
select * from v$log;
alter database add logfile group x ('F:\oraredolog\REDO0x.LOG') size xxxM;
alter database drop logfile group x;
alter system switch logfile;
alter system checkpoint;
在虛擬機(jī)上起動(dòng)系統(tǒng)的時(shí)候,每次都發(fā)現(xiàn)Sendmail服務(wù)很費(fèi)時(shí)間,決定將其關(guān)閉了,反正也沒(méi)怎么用.
1.關(guān)閉sendmail服務(wù)
[root@node1 ~]# /etc/rc.d/init.d/sendmail stop
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
2.
關(guān)閉sendmail自啟動(dòng)
[root@node1 ~]# chkconfig sendmail off
3.確認(rèn)sendmail自啟動(dòng)已被關(guān)閉
[root@node1 ~]# chkconfig --list sendmail
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off
V9.7中提供了更簡(jiǎn)單易用的降低高水位標(biāo)記功能。只需要使用ALTER TABLESPACE命令就可以達(dá)到效果。同時(shí)DB2還提供了兩個(gè)表函數(shù)MON_GET_TABLESPACE和MON_GET_EXTENT_MOVEMENT_STATUS來(lái)獲取和監(jiān)控表空間以及數(shù)據(jù)塊移動(dòng)信息。
1.MON_GET_TABLESPACE語(yǔ)法
MON_GET_TABLESPACE--(--tbsp_name--,--member--)
tbsp_name是表空間對(duì)象,如果是空值,則會(huì)對(duì)所有的表空間操作。member的默認(rèn)輸入是-1,指當(dāng)前成員,如果是-2,則是所有數(shù)據(jù)庫(kù)成員。這個(gè)函數(shù)的返回值說(shuō)明:
tbsp_name:表空間名
tbsp_type:表空間類型
tbsp_state:表空間狀態(tài)
tbsp_used_pages:已使用頁(yè)
tbsp_free_pages:空閑頁(yè)
tbsp_total_pages:總頁(yè)
tbsp_page_top:高水位標(biāo)記頁(yè)
reclaimble_space_enabled:值1代表可回收空間
select * from table(MON_GET_TABLESPACE(null,-2));
2.獲取表空間信息
SELECT varchar(tbsp_name, 16) as tbsp_name,
RECLAIMABLE_SPACE_ENABLED,
TBSP_USED_PAGES,
TBSP_FREE_PAGES,
TBSP_PAGE_TOP
from TABLE(MON_GET_TABLESPACE('', -2)) AS t
where t.TBSP_PAGE_TOP > t.TBSP_USED_PAGES
該語(yǔ)句篩選出了所有高水位標(biāo)記大于已使用頁(yè)的表空間
3.ALTER TABLESPACE 語(yǔ)法
ALTER TABLESPACE--tablespace-name----------------------------> >----+-REDUCE--+-------------------------------+--+-----------------------------+-+ | +-| database-container-clause |-+ '-| on-db-partitions-clause |-' | | +-| all-containers-clause |-----+ | | +-MAX---------------------------+ | | +-STOP--------------------------+ | | '-integer--+---------+----------' | | +-K-------+ | | +-M-------+ | | +-G-------+ | | '-PERCENT-' | +-LOWER HIGH WATER MARK--+------+--------------------------------------------+ | '-STOP-' | '----------------------------------------------------------------------------'
MAX參數(shù)可以指定最大限度的降低高水位標(biāo)記來(lái)釋放空間。在運(yùn)行REDUCE命令后,在數(shù)據(jù)塊移動(dòng)的過(guò)程中,也可以使用STOP參數(shù)來(lái)停止表空間移動(dòng)。如果是DMS表空間,則需要先運(yùn)行LOWER HIGH WATER MARK子句降低高水位標(biāo)記,再運(yùn)行REDUCE子句釋放表空間。如果是啟用了自動(dòng)存儲(chǔ)的表空間,直接運(yùn)行REDUCE子句即可。
自動(dòng)存儲(chǔ)表空間
ALTER TABLESPACE REDUCE 100 M(MAX)
DMS 表空間
ALTER TABLESPACE LOWER HIGH WATER MARK ALTER TABLESPACE REDUCE (ALL CONTAINERS 10 M(MAX))
4.MON_GET_EXTENT_MOVEMENT_STATUS語(yǔ)法
MON_GET_EXTENT_MOVEMENT_STATUS--(--tbsp_name--,--member--)
tbsp_name 是表空間對(duì)象,如果是空值,則會(huì)對(duì)所有的表空間操作。member 的默認(rèn)輸入是 -1,指當(dāng)前成員,如果是 -2,則是所有數(shù)據(jù)庫(kù)成員。這個(gè)函數(shù)的返回值說(shuō)明:
tbsp_name:表空間名
tbsp_id:表空間id
member:成員
current_extent:當(dāng)前正在移動(dòng)數(shù)據(jù)塊
last_extent:最后移動(dòng)的數(shù)據(jù)塊
num_extents_moved:已移動(dòng)的數(shù)據(jù)塊
num_extents_left:未移動(dòng)的數(shù)據(jù)塊
total_move_time:總移動(dòng)時(shí)間(微秒)
5.監(jiān)視表空間的移動(dòng)
SELECT varchar(tbsp_name, 20) as tbsp_name,
NUM_EXTENTS_MOVED,
NUM_EXTENTS_LEFT,
TOTAL_MOVE_TIME
from TABLE(MON_GET_EXTENT_MOVEMENT_STATUS('TBS1', -2)) AS t
6.驗(yàn)證高水位標(biāo)記的降低
SELECT varchar(tbsp_name, 16) as tbsp_name,
BSP_USED_PAGES,
TBSP_FREE_PAGES,
TBSP_PAGE_TOP
from TABLE(MON_GET_TABLESPACE('TBS1', -2)) AS t
1.查看表空間信息
使用list tablespaces show detail
需要關(guān)注的幾個(gè)參數(shù)
Tablespace ID:db2dart工具需要以這個(gè)ID作為參數(shù)
表的類型:只有DMS管理的表空間才有HWM的標(biāo)記屬性
Used pages和High water mark:如果相等,說(shuō)明高水位標(biāo)記下沒(méi)有空閑頁(yè)可以被釋放
2.查看HWM標(biāo)記信息
使用db2dart dbname /DHWM /TSI tbsid
3.降低高水位標(biāo)記建議
使用db2dart dbname /LHWM /TSI tbsid /NP 0