设为首页 收藏本站
查看: 1349|回复: 0

[经验分享] 8、oracle asm管理

[复制链接]

尚未签到

发表于 2018-9-6 12:35:15 | 显示全部楼层 |阅读模式
  oracle asm管理
  1、asm优点
  概念:
  auto storage manage
  db+instance raw裸设备
  性能比较:raw > asm > filesystem
  管理方便性 filesystem > asm > raw
  逻辑结构
  数据库 select name,state from v$asm_diskgroup;
  NAME       STATE
  ------------------------------ -----------
  DATA       MOUNTED
  FRA           MOUNTED
  SQL> select GROUP_NUMBER,INSTANCE_NAME,DB_NAME from v$asm_client;
  GROUP_NUMBER INSTANCE_N DB_NAME
  ------------ ---------- ----------
  ########## +ASM+ASM
  ########## orclorcl
  ########## orclorcl
  为了安全 先关闭数据库
  su - oracle
  SQL> shutdown immediate;
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SQL> shutdown immediate
  ASM diskgroups volume disabled
  ASM diskgroups dismounted
  ASM instance shutdown
  asm启动到nomount状态
  SQL> startup nomount
  ASM instance started
  Total System Global Area  283930624 bytes

  Fixed>
  Variable>  ASM Cache   25165824 bytes
  查看目前磁盘组:
  SQL> show parameter asm_diskgroup
  NAME     TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  asm_diskgroups     string FRA
  SQL> select name,state from v$asm_diskgroup;
  NAME       STATE
  ------------------------------ -----------
  FRA       DISMOUNTED
  DATA       DISMOUNTED
  挂着磁盘组:
  alter diskgroup data mount;
  alter diskgroup fra mount;

  SQL>>
  Diskgroup>
  SQL>>
  Diskgroup>  SQL>
  查看磁盘组状态:
  SQL> select name,state from v$asm_diskgroup;
  NAME       STATE
  ------------------------------ -----------
  FRA       MOUNTED
  DATA       MOUNTED
  SQL>
  ############
  SQL> shutdown immediate
  ASM diskgroups volume disabled
  ASM diskgroups dismounted
  ASM instance shutdown
  SQL> startup
  ASM instance started
  Total System Global Area  283930624 bytes

  Fixed>
  Variable>  ASM Cache   25165824 bytes
  ASM diskgroups mounted
  ASM diskgroups volume enabled
  SQL> show parameter diskgroup
  NAME     TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  asm_diskgroups     string FRA, DATA
  SQL> select name,state from v$asm_diskgroup;
  NAME       STATE
  ------------------------------ -----------
  DATA       MOUNTED
  FRA           MOUNTED
  startup 与 startup mount 、 startup open 在asm上面 是一样的
  #卸载磁盘组
  alter diskgroup data dismount;
  另外一种 保护模式:(修复模式)
  startup  restrict;
  SQL> startup  restrict;
  ASM instance started
  Total System Global Area  283930624 bytes

  Fixed>
  Variable>  ASM Cache   25165824 bytes
  ASM diskgroups mounted
  ASM diskgroups volume enabled
  SQL> select name,state from v$asm_diskgroup;
  NAME       STATE
  ------------------------------ -----------
  DATA       RESTRICTED
  FRA           RESTRICTED
  这时启动数据库报错 因为asm保护模式
  SQL> startup
  ORA-01078: failure in processing system parameters

  ORA-01565: error in>  ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora
  ORA-15056: additional error message
  ORA-17503: ksfdopn:DGOpenFile05 Failed to open file +DATA/orcl/spfileorcl.ora
  ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/spfileorcl.ora
  ORA-15236: diskgroup DATA mounted in restricted mode
  ORA-06512: at line 4
  ############
  srvctl stop asm -f  强制关闭磁盘组
  crs_stat -t
  srvctl start asm  启动磁盘组,但是没有mount
  把磁盘组打开到mount状态
  srvctl start diskgroup -g data
  srvctl start diskgroup -g fra
  srvctl stop diskgroup -g data
  srvctl stop diskgroup -g fra
  ##############
  asmcmd
  [oracle@oel ~]$ asmcmd
  ASMCMD>
  ASMCMD> shutdown --help
  Unknown option: help
  usage: shutdown [--immediate] [--abort]
  help:  help shutdown
  ASMCMD> shutdown --immediate
  ASM diskgroups volume disabled
  ASM diskgroups dismounted
  ASM instance shutdown

  Connected to an>  有这么多命令???????
  ASMCMD> -- help
  commands:
  --------
  md_backup, md_restore
  lsattr, setattr
  cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias
  mkdir, pwd, rm, rmalias
  chdg, chkdg, dropdg, iostat, lsdsk, lsod, mkdg, mount
  offline, online, rebal, remap, umount
  dsget, dsset, lsop, shutdown, spbackup, spcopy, spget
  spmove, spset, startup
  chtmpl, lstmpl, mktmpl, rmtmpl
  chgrp, chmod, chown, groups, grpmod, lsgrp, lspwusr, lsusr
  mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr
  volcreate, voldelete, voldisable, volenable, volinfo
  volresize, volset, volstat
  ASMCMD>
  ASMCMD> startup --help
  Unknown option: help
  usage: startup [--nomount] [--restrict] [--pfile ]
  help:  help startup
  3、管理ASM磁盘组
  8个2G
  2个磁盘组 DATA FRA
  SQL> select name from v$datafile;
  NAME
  --------------------------------------------------------------------------------
  +DATA/orcl/datafile/system.256.943301251
  +DATA/orcl/datafile/sysaux.257.943301251
  +DATA/orcl/datafile/undotbs1.258.943301251
  +DATA/orcl/datafile/users.259.943301251
  +DATA/orcl/datafile/example.265.943301433
  SQL> select name from v$controlfile;
  NAME
  --------------------------------------------------------------------------------
  +DATA/orcl/controlfile/current.260.943301383
  +FRA/orcl/controlfile/current.256.943301385
  磁盘组的冗余度:
  外部冗余:asm不提供如何数据镜像
  正常冗余:asm提供数据双向镜像
  高冗余:asm提供3向镜像
  fdisk -l
  fdisk /dev/sdj
  fdisk /dev/sdk
  fdisk /dev/sdl
  fdisk /dev/sdm
  fdisk /dev/sdn
  fdisk /dev/sdo
  fdisk /dev/sdp
  fdisk /dev/sdq
  vim /etc/udev/rules.d/60-raw.rules
  start_udev
  raw -aq
  ll /dev/raw
  chown oracle.oinstall /dev/raw/raw1*
  chmod 660 /dev/raw/raw1*
  sqlplus / as sysasm
  set lines 180;
  col name for a20;
  col path for a50;
  select name,path from v$asm_disk order by 1;
  SQL> select name,path from v$asm_disk order by 1;
  NAME     PATH
  -------------------- --------------------------------------------------
  DATA_0000     /dev/raw/raw1
  DATA_0001     /dev/raw/raw2
  DATA_0002     /dev/raw/raw3
  DATA_0003     /dev/raw/raw4
  FRA_0000     /dev/raw/raw5
  FRA_0001     /dev/raw/raw6
  FRA_0002     /dev/raw/raw7
  FRA_0003     /dev/raw/raw8
  /dev/raw/raw12
  /dev/raw/raw11
  /dev/raw/raw15
  NAME     PATH
  -------------------- --------------------------------------------------
  /dev/raw/raw16
  /dev/raw/raw18
  /dev/raw/raw17
  /dev/raw/raw13
  /dev/raw/raw14
  创建磁盘组:
  create diskgroup test normal redundancy failgroup fg1 disk '/dev/raw/raw11' name test_1,'/dev/raw/raw12' name test_2 failgroup fg2 disk '/dev/raw/raw13' name test_3,'/dev/raw/raw14' name test_4;
  SQL> create diskgroup test normal redundancy failgroup fg1 disk '/dev/raw/raw11' name
  test_1,'/dev/raw/raw12' name test_2 failgroup fg2 disk '/dev/raw/raw13' name test_3,'/dev/raw/raw14' name test_4;
  Diskgroup created.
  SQL> select name,state from v$asm_diskgroup;
  NAME     STATE
  -------------------- -----------
  DATA     MOUNTED
  FRA         MOUNTED
  TEST     MOUNTED
  查看磁盘组及单前大小及空闲大小
  set pages 1000;
  SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;
  GROUP_NUMBER NAME  STATE TOTAL_MB    FREE_MB
  ------------ -------------------- ----------- ---------- ----------
  1 DATA  MOUNTED    8188       4557
  2 FRA  MOUNTED    8188       7954
  3 TEST  MOUNTED    2044       1938
  select a.group_number,a.name,b.name,b.path from v$asm_diskgroup a,v$asm_disk b where a.group_number=b.group_number order by 1,2,3,4;
  GROUP_NUMBER NAME  NAME       PATH
  ------------ -------------------- -------------------- --------------------
  1 DATA  DATA_0000       /dev/raw/raw1
  1 DATA  DATA_0001       /dev/raw/raw2
  1 DATA  DATA_0002       /dev/raw/raw3
  1 DATA  DATA_0003       /dev/raw/raw4
  2 FRA  FRA_0000       /dev/raw/raw5
  2 FRA  FRA_0001       /dev/raw/raw6
  2 FRA  FRA_0002       /dev/raw/raw7
  2 FRA  FRA_0003       /dev/raw/raw8
  3 TEST  TEST_1       /dev/raw/raw11
  3 TEST  TEST_2       /dev/raw/raw12
  3 TEST  TEST_3       /dev/raw/raw13
  3 TEST  TEST_4       /dev/raw/raw14
  12 rows selected.
  修改磁盘组:
  删除磁盘组:
  drop diskgroup test including contents;
  往磁盘组中添加磁盘:
  alter diskgroup test add disk '/dev/raw/raw15' name A5,'/dev/raw/raw16' name A6,'/dev/raw/raw17' name A7,'/dev/raw/raw18' name A8;
  从磁盘组中删除磁盘:
  alter diskgroup test  drop disk A5;
  取消磁盘操作undrop
  alter diskgroup test  undrop disk A5;
  查看asm的兼容性:
  SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name='FRA';
  NAME     DATABASE_COMPATIBILITY  COMPATIBILITY
  -------------------- ------------------------------------------------------------ -----------------
  -------------------------------------------FRA     10.1.0.0.0   11.2.0.0.0
  SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name='TEST';
  NAME
  ------------------------------
  DATABASE_COMPATIBILITY
  ------------------------------------------------------------
  COMPATIBILITY
  ------------------------------------------------------------
  TEST
  10.1.0.0.0
  10.1.0.0.0
  修改asm兼容性(asm和rdbms)
  alter diskgroup test  set attribute 'compatible.asm'='11.2.0.0.0';
  alter diskgroup test  set attribute 'compatible.rdbms'='11.2.0.0.0';
  SQL> select name ,DATABASE_COMPATIBILITY,COMPATIBILITY from v$asm_diskgroup where name='TEST';
  NAME
  ------------------------------
  DATABASE_COMPATIBILITY
  ------------------------------------------------------------
  COMPATIBILITY
  ------------------------------------------------------------
  TEST
  11.2.0.0.0
  11.2.0.0.0
  select name,path from v$asm_disk order by 1,2;
  #drop test_1;不记录磁盘变化
  alter diskgroup test offline disk test_1 drop after 0 h;
  select name,repair_timer,state from v$asm_disk_stat;
  select name,path from v$asm_disk order by 1,2;
  重新上线:
  alter diskgroup test add disk '/dev/raw/raw11' name test_1;

  SQL>>  alter diskgroup test add disk '/dev/raw/raw11' name test_1
  *
  ERROR at line 1:

  ORA-15032: not all>  ORA-15033: disk '/dev/raw/raw11' belongs to diskgroup "TEST"
  清空磁盘:
  dd if=/dev/zero of=/dev/raw/raw11 bs=1M count=10;
  重新添加:

  SQL>>
  Diskgroup>  ###repair_timer小于3.6小时
  alter diskgroup test offline disk test_1 drop after 3.6 h;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-564071-1-1.html 上篇帖子: Oracle 虚拟列 子分区 virtual column partition-90SirDB 下篇帖子: Oracle 表和表数据恢复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表