日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

asm 查看 数据文件 修改 时间_Oracle的ASM介绍及管理

發(fā)布時(shí)間:2025/3/12 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asm 查看 数据文件 修改 时间_Oracle的ASM介绍及管理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Oracle的ASM介紹及管理

  • Oracle經(jīng)歷過(guò)的文件系統(tǒng)歷史

操作系統(tǒng)--邏輯卷管理器(LVM):管理文件相對(duì)容易,性能較差

裸設(shè)備:管理文件相對(duì)困難,性能好

OCFS(Oracle Cluster File System):是ORACLE數(shù)據(jù)庫(kù)文件系統(tǒng)

ASM(Automatic Storage Management):ASM是ORACLE數(shù)據(jù)庫(kù)文件支持的卷管理,ASM磁盤組里面只能存放Oracle數(shù)據(jù)庫(kù)文件:數(shù)據(jù)文件、聯(lián)機(jī)重做日志文件、控制文件、歸檔日志、RMAN備份集等

  • 何時(shí)引入

ASM是Oracle 10g R2中為了簡(jiǎn)化Oracle數(shù)據(jù)庫(kù)的管理而推出來(lái)的一項(xiàng)新功能,這是Oracle自己提供的卷管理器,主要用于替代操作系統(tǒng)所提供的LVM,它不僅支持單 實(shí)例,同時(shí)對(duì)RAC的支持也是非常好。ASM可以自動(dòng)管理磁盤組并提供有效的數(shù)據(jù)冗余功能。使用ASM(自動(dòng)存儲(chǔ)管理)后,數(shù)據(jù)庫(kù)管理員不再需要對(duì) ORACLE中成千上萬(wàn)的數(shù)據(jù)文件進(jìn)行管理和分類,從而簡(jiǎn)化了DBA的工作量,可以使得工作效率大大提高。

  • ASM的體系結(jié)構(gòu)與后臺(tái)進(jìn)程

每個(gè)使用了ASM存儲(chǔ)的數(shù)據(jù)庫(kù)實(shí)例也有兩個(gè)新的進(jìn)程

1、RBAL:用來(lái)打開(kāi)磁盤組里的磁盤,然后通過(guò)DBWn進(jìn)程將數(shù)據(jù)寫入到這些打開(kāi)的磁盤里去

2、ASMB:當(dāng)數(shù)據(jù)庫(kù)實(shí)例要向某個(gè)磁盤組里寫入數(shù)據(jù)時(shí),ASMB會(huì)訪問(wèn)Group Services,從中獲取有關(guān)ASM實(shí)例所管理的磁盤組的信息,并通過(guò)RBAL進(jìn)程打開(kāi)磁盤組,于是就可以將數(shù)據(jù)寫入磁盤組。

Group Services用來(lái)注冊(cè)ASM實(shí)例所管理的磁盤組,以及連接磁盤組的信息。

數(shù)據(jù)庫(kù)?I/O不通過(guò)ASM實(shí)例來(lái)傳輸,而是通過(guò)RBAL直接根據(jù)ASM文件執(zhí)行I/O操作。

數(shù)據(jù)庫(kù)實(shí)例只能與其所在的同一臺(tái)主機(jī)上的ASM實(shí)例通信,如果當(dāng)前主機(jī)上存在多個(gè)數(shù)據(jù)庫(kù),則這些數(shù)據(jù)庫(kù)可以共享同一個(gè)ASM實(shí)例。

ASM實(shí)例與數(shù)據(jù)庫(kù)實(shí)例進(jìn)行通信的橋梁是ASMB進(jìn)程,此進(jìn)程運(yùn)行在每個(gè)數(shù)據(jù)庫(kù)實(shí)例上,是兩個(gè)實(shí)例間信息交換的通道。ASMB進(jìn)程先利用磁盤組名稱通過(guò)CSS獲得管理該磁盤組的ASM實(shí)例連接串,然后建立一個(gè)到ASM的持久連接,這樣兩個(gè)實(shí)例之間就可以通過(guò)這條連接定期交換信息,同時(shí)這也是一種心跳監(jiān)控機(jī)制。

另外,在ASM實(shí)例中還存在另外一個(gè)新的進(jìn)程,即RBAL,此進(jìn)程負(fù)責(zé)規(guī)劃和協(xié)調(diào)磁盤組的重新平衡活動(dòng)。除此之外,ASM實(shí)例還有一些與數(shù)據(jù)庫(kù)實(shí)例中的進(jìn)程相同的后臺(tái)進(jìn)程,例如LGWR、SMON、PMON、DBWR?、CKPT等。?

ASM主要的三個(gè)后臺(tái)進(jìn)程

1、RBAL:負(fù)責(zé)協(xié)調(diào)組內(nèi)不同磁盤組之間的rebalance工作,reblance工作指的是數(shù)據(jù)在不同的磁盤之間轉(zhuǎn)移

2、ARBn:用來(lái)實(shí)際完成rebalance工作,可以由多個(gè)進(jìn)程并發(fā)完成rebalance的工作

3、GMON:用來(lái)監(jiān)控磁盤組內(nèi)有關(guān)元數(shù)據(jù)的維護(hù)操作

  • ASM優(yōu)點(diǎn)

1、ASM是跨平臺(tái)的,主流的硬件平臺(tái)都能使用、且管理方式一致;

2、內(nèi)在的支持大文件,支持BIGFILE文件;

3、數(shù)據(jù)均勻的分布在磁盤組里所有的磁盤上,實(shí)現(xiàn)了文件級(jí)別的條帶化,減少熱點(diǎn),提高了讀取和寫入數(shù)據(jù)的性能

4、提供多重冗余級(jí)別,保證數(shù)據(jù)不丟失;

5、支持在線的磁盤更換,添加或刪除磁盤以后,自動(dòng)重分布數(shù)據(jù),這個(gè)過(guò)程叫做rebalance。

  • ASM提供了3種冗余方法

外部冗余(external redundancy):

表示Oracle不幫你管理鏡像,功能由外部存儲(chǔ)系統(tǒng)實(shí)現(xiàn),比如通過(guò)RAID技術(shù);有效磁盤空間是所有磁盤設(shè)備空間的大小之和。

外部冗余時(shí)ASM不提供冗余,由存儲(chǔ)的機(jī)制提供冗余。現(xiàn)在的硬件提供了很多種的冗余,比如RAID。好處在于充分利用現(xiàn)有的磁盤,ASM不再劃出其余的空間來(lái)做冗余,最大的利用磁盤空間。

常規(guī)冗余(normal redundancy):

(默認(rèn)方式)表示Oracle提供2路鏡像來(lái)保護(hù)數(shù)據(jù),會(huì)損失一部分磁盤空間用于數(shù)據(jù)冗余。這是在ASM層面上提供冗余,也就是將ASM磁盤里面的數(shù)據(jù)再備份一份,和共享存儲(chǔ)無(wú)關(guān)。

高冗余(high redundancy):

Oracle提供3路鏡像來(lái)保護(hù)數(shù)據(jù),會(huì)損失更多磁盤空間用于數(shù)據(jù)冗余。

現(xiàn)在都使用底層的自身的存儲(chǔ)冗余,比如RAID,在ASM面做冗余太浪費(fèi)了,所以在ASM上面一般使用外部冗余即可。

  • SYSASM權(quán)限和OSASM(asmadmin)系統(tǒng)組

為了使管理更加有針對(duì)性,Oracle 11gR2將管理權(quán)限進(jìn)行細(xì)化,管理ASM的操作系統(tǒng)組叫做OSASM(asmadmin),凡是屬于該組的用戶都可以以sysasm的身份登錄ASM實(shí)例。sysasm權(quán)限是管理ASM的最高權(quán)限,可以執(zhí)行所有的ASM實(shí)例管理操作;另外還保留了sysdba權(quán)限,被賦予該權(quán)限的ASM用戶只能執(zhí)行普通的管理操作。SYSASM、SYSDBA是ASM實(shí)例用戶具有的權(quán)限,asmadmin是操作系統(tǒng)組。

[grid@xddb-01 ~]$ id griduid=502(grid) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),504(asmadmin),505(asmoper),506(asmdba)[grid@xddb-01 ~]$ sqlplus / as sysasm 可直接登陸可創(chuàng)建管理用戶并授權(quán)SQL> create user check_user identified by check_user;SQL> grant sysasm to check_user;[grid@xddb-01 ~]$ sqlplus check_user/ check_user as sysasmSQL> show userUSER is "SYS"
  • ????管理ASM

  • ASM查看磁盤組狀態(tài)

SQL>?select?group_number,name,?state,total_mb,free_mb?from?v$asm_diskgroup;GROUP_NUMBER NAME STATE TOTAL_MB FREE_MB------------ ------------------------------ ----------- ---------- ---------- 2 DATADG MOUNTED 317471 120869 4 GRIDDG MOUNTED 6144 5218SQL>?select?group_number,name,path,failgroup?from?v$asm_disk;GROUP_NUMBER NAME PATH FAILGROUP------------ ------------------------------ ------------------------------ ------------------------------ 4 GRIDDG_0002 /dev/mapper/griddg3 GRIDDG_0002 2 DATADG_0000 /dev/mapper/datadg1 DATADG_0000 4 GRIDDG_0001 /dev/mapper/griddg2 GRIDDG_0001 4 GRIDDG_0000 /dev/mapper/griddg1 GRIDDG_0000
  • 查看磁盤組當(dāng)前兼容性屬性

SQL> set linesize 200SQL> col name format a20SQL> col compatibility format a30SQL> col DATABASE_COMPATIBILITY format a30SQL> select group_number,name,compatibility,database_compatibility from v$asm_diskgroup where name='DATADG';GROUP_NUMBER NAME COMPATIBILITY DATABASE_COMPATIBILITY------------ -------------------- ------------------------------ ------------------------------ 2 DATADG 11.2.0.0.0 10.1.0.0.0SQL> col value format a30SQL> select name,value from v$asm_attribute where group_number=2 and name like 'compatible.%';NAME VALUE-------------------- ------------------------------compatible.asm 11.2.0.0.0compatible.rdbms 10.1.0.0.0
  • 修改磁盤組兼容性屬性

SQL> ALTER DISKGROUP data SET ATTRIBUTE 'compatible.rdbms' = '11.1';

磁盤組的屬性只能增大,不能減小,如果增大過(guò)程出現(xiàn)錯(cuò)誤,那么只能通過(guò)重建磁盤組來(lái)調(diào)整兼容性屬性值。

  • 快速鏡像重新同步功能。

在一個(gè)故障組短暫的磁盤失敗期間,ASM記錄改變區(qū)間的軌跡,以便在磁盤恢復(fù)正常后能夠快速的同步改變的區(qū)間,而不是將整個(gè)磁盤的數(shù)據(jù)重新覆蓋一遍,這能夠大幅度的提高數(shù)據(jù)重新同步的過(guò)程。

該功能要求磁盤組的兼容性屬性必須設(shè)置為11.1或者更高。

另外,該功能只對(duì)Normal和High冗余級(jí)別的磁盤組有用,因?yàn)镋xternal冗余級(jí)別的磁盤脫機(jī)會(huì)導(dǎo)致寫失敗。

SQL> CREATE DISKGROUP DATADG NORMAL REDUNDANCY 2 FAILGROUP A disk '/dev/mapper/datadg1' name datadg01 3 FAILGROUP B disk '/dev/mapper/datadg2' name datadg02 4 ATTRIBUTE 'compatible.rdbms'='11.2','compatible.asm'='11.2','compatible.advm'='11.2';SQL> select name,value from v$asm_attribute where name like 'compatible.%' and group_number=(select group_number from v$asm_diskgroup where name='DATADG');

磁盤默認(rèn)的可脫機(jī)時(shí)間為3.6小時(shí),可以通過(guò)修改磁盤組的disk_repair_time屬性來(lái)調(diào)整這個(gè)值(H或者h(yuǎn)表示小時(shí),M或者m表示分鐘):

SQL> col name for a20SQL> col value for a20SQL>?select?name,value?from?v$asm_attribute?where?name='disk_repair_time'?and?group_number=(select?group_number?from?v$asm_diskgroup?where?name='DATADG');NAME VALUE-------------------- --------------------disk_repair_time 3.6hSQL> alter diskgroup data set attribute 'disk_repair_time'='4.5h';SQL>?select?name,value?from?v$asm_attribute?where?name='disk_repair_time'?and?group_number=(select?group_number?from?v$asm_diskgroup?where?name='DATADG');NAME VALUE-------------------- --------------------disk_repair_time 4.5h

可以使用ALTER DISKGROUP的DROP AFTER子句來(lái)覆蓋磁盤組的disk_repair_time屬性:

SQL> select name,group_number from v$asm_diskgroup where name='DATA';NAME GROUP_NUMBER------------------------------ ------------DATADG??????????????????????????????????????2SQL> select group_number,name,state from v$asm_disk where group_number=2;GROUP_NUMBER NAME STATE------------ ------------------------------ ---------------- 2 DATADG02 NORMAL???????????2?DATADG01?????????????????????????NORMALSQL>?alter?diskgroup?datadg?offline?disk?datadg02;SQL> alter diskgroup datadg online disk datadg02;SQL> alter diskgroup datadg offline disk datadg02 drop after 20m;SQL> alter diskgroup datadg online disk datadg02;
  • AU_SIZE大小設(shè)置

對(duì)于磁盤組來(lái)說(shuō),除了上面講到了compatible.*和disk_repair_time屬性外,還有一個(gè)重要的屬性au_size。該屬性是設(shè)置磁盤組的分配單元大小,可配置的范圍包括:1、2、4、8、16、32、64MB。ASM文件也是以區(qū)間的形式存儲(chǔ)在ASM磁盤組中,在10g每個(gè)區(qū)間直接映射到AU,從11g開(kāi)始區(qū)間能夠映射到1個(gè)或多個(gè)AU。

當(dāng)磁盤組兼容性屬性設(shè)置為11.1或者更高,區(qū)間大小將自動(dòng)增長(zhǎng),在11.1的版本,前20000個(gè)區(qū)間匹配AU大小,接下來(lái)的20000個(gè)區(qū)間匹配8個(gè)AU大小,大于40000的區(qū)間匹配64個(gè)AU大小,在11.2,這個(gè)增長(zhǎng)比例從1:8:64變成了1:4:16。

執(zhí)行以下的命令使用CREATE DISKGROUP語(yǔ)句的ATTRIBUTE子句控制AU的大小:

SQL> CREATE DISKGROUP disk_group_2 2 EXTERNAL REDUNDANCY 3 DISK '/dev/mapper/datadg3' 4 ATTRIBUTE 'compatible.rdbms'='11.1','compatible.asm'='11.1','au_size' = '32M';

如果au_size設(shè)置較大,需要和compatible.rdbms,compatible.asm兩個(gè)屬性一起設(shè)置。

可擴(kuò)展的區(qū)間大小和大AU的組合能夠增加非常大的數(shù)據(jù)庫(kù)的IO性能。

AU_SIZE只能在創(chuàng)建磁盤組的時(shí)候設(shè)置,之后只能查看不能調(diào)整。

  • ASMCMD命令及選項(xiàng)

1、直接使用“asmcmd”或“asmcmd -p”(-p選項(xiàng)可以在命令提示符中給出當(dāng)前的路徑信息)便可連接到對(duì)應(yīng)的ASM。

[grid@xddb-01 ~]$ asmcmd -p

2、ASMCMD [+] > help lsdg

help [command]將顯示命令的詳細(xì)幫助信息

3、使用cp命令在ASM和本地、遠(yuǎn)程操作系統(tǒng)文件系統(tǒng)之間直接拷貝數(shù)據(jù)。下面是該命令的用法:

cp [-i][-f][connect_str:]src_file [connect_str:]tgt_file

ASMCMD [+datadg/xddb/archivelog/2020_08_10] > cp thread_2_seq_123620.892.1048113419 /tmp/archive_thread_2_seq_123620.892.1048113419

4、md_backup命令針對(duì)一個(gè)或更多磁盤組創(chuàng)建元數(shù)據(jù)拷貝,下面是該命令的用法:

md_backup backup_file [-G diskgroup [,diskgroup,...]]

結(jié)果文件包含需要重建ASM磁盤的所有元數(shù)據(jù)。

ASMCMD [+datadg/xddb] >? md_backup /tmp/backup.txt -G datadg???

5、md_restore命令允許從使用md_backup命令創(chuàng)建的元數(shù)據(jù)中還原磁盤組,下面是該命令的用法:

md_restore backup_file [--silent][--full|--nodg|--newdg -o 'old_diskgroup:new_diskgroup [,...]'][-S sql_script_file] [-G 'diskgroup [,diskgroup...]']

ASMCMD [+] > md_restore /tmp/backup.txt --full -G datadg

恢復(fù)磁盤組元數(shù)據(jù)信息磁盤組不能處于MOUNT狀態(tài),md_restore命令只恢復(fù)元數(shù)據(jù)信息,但磁盤組的數(shù)據(jù)是無(wú)法恢復(fù)的。

6、remap命令修復(fù)磁盤一個(gè)范圍的物理塊,不驗(yàn)證每個(gè)塊的內(nèi)容,只有讀錯(cuò)誤的塊能被修復(fù),下面是該命令的用法:

remap diskgroup disk block_range

ASMCMD [+] > remap datadg datadg01 1000-2000

7、全部命令參考

  • 實(shí)例管理命令

dsget?????? 返回discovery diskstring

dsset?????? 設(shè)置discovery diskstring

lsct? ? ? ? ?顯示當(dāng)前oracle ASM的客戶端,一般指數(shù)據(jù)庫(kù)實(shí)例和ASM實(shí)例,數(shù)據(jù)來(lái)源于V$ASM_CLIENT視圖

lsop??????? ???顯示當(dāng)前磁盤組或ASM實(shí)例的操作,數(shù)據(jù)來(lái)源于V$ASM_OPERATION視圖

lspwusr???? 顯示ASM密碼文件中的用戶

orapwusr??? 增加,刪除,修改ASM密碼文件用戶

shutdown??? 關(guān)閉ASM實(shí)例

startup???? 啟動(dòng)ASM實(shí)例

spbackup??? 備份ASM SPFILE,不影響GPnP profile;備份文件不能識(shí)別成SPFILE,不能用spcopy拷貝。為了識(shí)別備份文件為SPFILE必須用cp命令

spcopy????? 拷貝ASM SPFILE,在同一個(gè)磁盤組不能拷貝多份。為了更新GPnP profile,則用-u選項(xiàng)或用spset命令

spget?????? 返回ASM SPFILE的位置從GPnP profile

spmove????? 移動(dòng)ASM SPFILE,自動(dòng)更新GPnP profile.當(dāng)SPFILE被ASM實(shí)例打開(kāi)時(shí)不能被移動(dòng)

spset?????? 設(shè)置ASM SPFILE的位置

  • 文件管理命令

cd??????? 切換目錄,可使用通配符

cp??????? 在磁盤組之間,磁盤組與操作系統(tǒng)之間拷貝文件。不能在兩個(gè)遠(yuǎn)程實(shí)例間拷貝。OCR和OCR備份類型的文件不能用cp,要用spbackup,spcopy,spmove

??????????? 如果是遠(yuǎn)程拷貝,則連接串樣式為:user@host[.port_number].SID。port_number默認(rèn)為1521

du??????? 顯示已經(jīng)使用的磁盤空間在指定的目錄(包括子目錄)

find????? 查找,注意要區(qū)分大小寫

ls??????? 顯示ASM目錄下的內(nèi)容

lsof????? 顯示本地客戶端已打開(kāi)的文件

mkalias?? 創(chuàng)建一個(gè)系統(tǒng)產(chǎn)生的文件的別名。別名和對(duì)應(yīng)的文件必須在同一磁盤組且每個(gè)ASM文件只能有一個(gè)別名

mkdir???? 創(chuàng)建ASM目錄

pwd?????? 顯示當(dāng)前目錄的路徑

rm??????? 刪除指定的文件或目錄,如果是別名,會(huì)刪除別名和別名對(duì)應(yīng)的文件

rmalias?? 刪除指定的別名

  • 磁盤組管理命令

chdg????????? 修改磁盤組(增加磁盤,刪除磁盤,調(diào)整磁盤大小,重新平衡磁盤組,基于XML配置文件的)

chkdg???????? 檢查或修復(fù)磁盤組

dropdg??????? 刪除磁盤組

iostat??????? 顯示磁盤IO統(tǒng)計(jì),信息來(lái)源于V$ASM_DISK_IOSTAT視圖

lsattr??????? 顯示磁盤組屬性,信息來(lái)源于V$ASM_ATTRIBUTE視圖

lsdg????????? 顯示已掛載的磁盤組和他們的信息,與ls -ls輸出結(jié)果一樣,信息來(lái)源于V$ASM_DISKGROUP_STAT視圖,如果指定了--discovery,則查詢V$ASM_DISKGROUP

lsdsk???????? 顯示ASM磁盤,信息來(lái)源于V$ASM_DISK_STAT視圖;連接模式查詢V$ASM_DISK_STAT and V$ASM_DISK返回信息;非連接模式通過(guò)掃描磁盤頭來(lái)返回信息

lsod????????? 顯示已打開(kāi)的設(shè)備

md_backup???? 創(chuàng)建已掛載的磁盤組元數(shù)據(jù)備份

md_restore??? 恢復(fù)磁盤組元數(shù)據(jù)備份

mkdg????????? 創(chuàng)建磁盤組,基于XML配置文件創(chuàng)建。注意:mkdg創(chuàng)建的磁盤組只掛載在本地節(jié)點(diǎn)

mount???????? 掛載磁盤組

offline?????? 使磁盤或失效磁盤組離線

online??????? 使磁盤或失效磁盤組上線

rebal???????? 重新平衡磁盤組

remap???????? 重定位數(shù)據(jù)在磁盤上的物理塊的范圍內(nèi)

setattr?????? 設(shè)置磁盤組屬性

umount??????? 卸載磁盤組

  • 模板管理命令

chtmpl???? 修改模板屬性

lstmpl???? 顯示模板屬性

mktmpl???? 增加模板到磁盤組

rmtmpl???? 從磁盤組刪除模板

  • 文件訪問(wèn)管理命令

chgrp????? 修改文件或文件列表的用戶組

chmod????? 修改文件或文件列表的權(quán)限

chown????? 修改文件或文件列表的擁有者

groups???? 顯示用戶所屬用戶組

grpmod???? 增加或刪除操作系統(tǒng)用戶到/從已存在的用戶組

lsgrp????? 顯示用戶組

lsusr????? 顯示磁盤組中的用戶

mkgrp????? 創(chuàng)建一個(gè)用戶組

mkusr????? 添加操作系統(tǒng)用戶到磁盤組

passwd???? 修改用戶的密碼

rmgrp????? 刪除一個(gè)用戶組

rmusr????? 刪除一個(gè)用戶

總結(jié)

以上是生活随笔為你收集整理的asm 查看 数据文件 修改 时间_Oracle的ASM介绍及管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。