ASM을 이해 하고 싶은 분들은 아래 내용 참고 하시면 될거 같습니다.
제가 테스트 하고 내용은 짜집기 해서 정리 했습니다
1. ASM
ASM기능은 오라클에서 직접 파일들을 저장되는 스토리지를 관리 하는 방식입니다.
기존 방식이던 파일 시스템과 Raw Device의 장점만을 결합하여 스토리지를 관리하기 때문에 성능이나 편리성이 많이 향상되었습니다.
n ASM 프로세스 구조
Oracle Server에서 사용자릐 데이터가 디스크에 저장되어 있고 수정이나 조회시 Instance를 통해서 작업을 하게 되는 것처럼 ASM역시 Instance 와 Disk group으로 구성되어 있다.
즉 Oracle Server 처럼 ASM 도 DISK group들에 데이터가 저장되어 있다가 ASM Instance를 통해서 Database Instance 에 전달되고 저장될 때도 ASM Instance를 통해서 Disk Group에 저장된다. 이 말은 ASM Instance가 작동하지 않으면 데이터 조회나 변경 등이 불가능 하다는 뜻이다.
n RBAL Process
디스크 추가되거나 삭제되었을 경우 디스크 그룹에 대한 Rebalance를 담당하며 ASM Instance의 요청이 있을 경우 디스를 열고 닫고 하는 프로세스이다.
n APBn(APB1~APB9)
RBAL Process의 요청을 받아 실질적으로 작업을 수행해 주는 Process이다.
1) ASM Instance와 Database Instance
n ASM Instance
Database Instance 처럼 초기화 파라미터가 필요 하며 접속 할때는 아래 처럼 하면된다.
RAC일 경우 각 노드 별로 +ASM1 과 +ASM2가 생성이 되며 ASM 인스턴스에 접속 하기 위해서는 export ORACLE_SID=+ASM[SID] 환경으로 ASM Instance로 접속 하면 된다.
Default로 ASM 인스턴스는 +ASM으로 SID가 생성된다.
[oracle@rac1 RMAN_BACKUP]$ grid_env ç export명령이 포함되어 있음 [oracle@rac1 RMAN_BACKUP]$ echo $ORACLE_SID +ASM1 [oracle@rac1 RMAN_BACKUP]$ sqlplus “/as sysdba” SQL*Plus: Release 11.2.0.4.0 Production on Thu Aug 27 13:17:27 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production With the Real Application Clusters and Automatic Storage Management options SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- +ASM1 |
n ASM Instance의 시작 및 종료 옵션
startup 옵션 | FORCE : shutdown abort 하고다시시작합니다. MOUNT, OPEN: Instance를 시작시킨 후 디 스크 그룹을 마운트합니다 . NOMOUNT : Instance를 시작하지만 디스크 그룹은 마운트하지 않습니다. |
shutdown 옵션 | NORMAL : 현재 진행중인 세션이 종료될 때까지 기다렸다가 ASM Instance를종료합니다 . TRANSACTIONAL : 현재 진행중인 트랜잭션이 끝날 때까지 기다렸다가 Instance를 종료합니다 . IMMEDIATE : 현재 세션이 있어도 강제 종료합니다. 단 ASM Instance에 저장 될 데이터 가 있으면 전부 저장한 후 종료합니다 . ABORT: 현재 세션이 있어도 강제 종료하며 저장하지 않고 강제로 종료됩니다. |
[특이 사항]
ASM Instance가 강제 종료되면 해당 Instance를 사용중이던 Database도 강제종료됩니다.
만약 ASM Instance가 먼저 시작되지 않은 채 DB를 시 작하면 아래와 같은 에 러가 발생합니다.
n DB Instance
DB가 시작되기 위해서는 ASM이 먼저 시작되어야 하는데 만약 ASM이 먼저 시작되지 않은 채 DB를 시작 하게 되면 spfle를 찾지 못하는 오류를 먼저 만나게될 것이다.
SQL> startup ORA-01078: failure in processing system paramters ORA-01565: error in identifying file ’+DATA/ testdb/ spfi1 etestdb.ora ’ ORA- 17503: ksfdopn:2 Failed to open file +DATA/testdb/spfiletestdb .ora ORA-15077: could not locate ASM instance serving a required diskgroup |
DB 종료 : Database shutdown è ASM Instance 종료
DB 시작 : ASM Instance 시작 è Database startup
2) ASM SGA 및 주요 Paramtees
ASM Instance 또한 Database Instance 와 마찬가지로 $ORCLE_HOME/dbs에생성된다.
db_cache_size : ASM Instance가 사용할 cache 크기를 결정합니다. 이곳에는metadata block 정보를 저장하는데 사용됩니다. 오라클 권장값은 64M입니다 .
shared_pool ASM Instance를 관리하는 용도로 사용되며 오라클 권장값은128M입니다
Large_pool : Extent Maps을 저장하는 용도로 사용되며 오라클 권장값은 64M입니다 .
*.background_dump_dest : alert log file이 저장되는 곳을 지정합니다 .
*.core_dump_dest : core dump를 저장할 경로를 지정합니다 .
*. user_dump_dest
*.instance_type=asm
*.asm_diskgroups=+DATA
*.asm_diskstring
*. remote_login_passwordfile= ‘SHARED’
3) ASM기반으로 오라클 11g R2설치 하기.
10g와 다르게 11g에서는 GRID를 설치 해야 CSS프로세스를 이용 할 수 있다.
10g는 CCS데몬을 활성화 하면서 DB Instance생성시 ASM를 사용 할수 있는 환경을 만들어 준다.
n DB Instance 를 설치 하기 전에 먼저 11gR2 GRID를 설치 한다. (설치화면 생략)
설치 시 옵션은 아래 내용을 선택 하고 설치 한다.
è install Oracle Grid Infrastructure for a Standalone Server
RAC 설치때와 다른게 설치되는 프로세스는 적다. ROOT로 수행되는 프로세스는 없으나 root가 관장해서 프로세스를 생성하는 것은 있다.
OS 그룹생성 및 유저 생성 groupadd -g 1000 oinstall groupadd -g 1200 dba useradd -u 1100 -g oinstall -G dba oraasm passwd oraasm mkdir -p /u02/app/oracle/grid mkdir -p /u02/app/oracle/db_1 chown -R oraasm:dba /u02 chmod -R 775 /u02/ 설치 화면 생략 [root@catalog grid]# ./root.sh Performing root user operation for Oracle 11g The following environment variables are set as: ORACLE_OWNER= oraasm ORACLE_HOME= /u02/app/oracle/grid Enter the full pathname of the local bin directory: [/usr/local/bin]: The contents of "dbhome" have not changed. No need to overwrite. The contents of "oraenv" have not changed. No need to overwrite. The contents of "coraenv" have not changed. No need to overwrite. Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Using configuration parameter file: /u02/app/oracle/grid/crs/install/crsconfig_params Creating trace directory LOCAL ADD MODE Creating OCR keys for user 'oraasm', privgrp 'oinstall'.. Operation successful. LOCAL ONLY MODE Successfully accumulated necessary OCR keys. Creating OCR keys for user 'root', privgrp 'root'.. Operation successful. CRS-4664: Node catalog successfully pinned. Adding Clusterware entries to inittab catalog 2015/08/28 14:03:03 /u02/app/oracle/grid/cdata/catalog/backup_20150828_140303.olr Successfully configured Oracle Grid Infrastructure for a Standalone Server |
[root@catalog ~]# ps -ef|grep grid
ohasd.bin reboot
oraagent.bin
evmd.bin
tnslsnr LISTENER –inherit çASM 리스너
evmlogger.bin
cssdagent
ocssd.bin
n 디스크 추가 및 LVM 파티셔닝 ASM 활성화
[root@catalog ~]# ls -l /dev/sd* brw-r----- 1 root disk 8, 0 Aug 27 14:37 /dev/sda brw-r----- 1 root disk 8, 1 Aug 27 14:38 /dev/sda1 brw-r----- 1 root disk 8, 2 Aug 27 14:37 /dev/sda2 brw-r----- 1 root disk 8, 16 Aug 27 14:37 /dev/sdb brw-r----- 1 root disk 8, 32 Aug 27 14:37 /dev/sdc brw-r----- 1 root disk 8, 48 Aug 27 14:37 /dev/sdd [root@catalog ~]# fdisk Usage: fdisk [-l] [-b SSZ] [-u] device E.g.: fdisk /dev/hda (for the first IDE disk) or: fdisk /dev/sdc (for the third SCSI disk) or: fdisk /dev/eda (for the first PS/2 ESDI drive) or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices) ... [root@catalog ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-261, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): Using default value 261 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@catalog ~]# fdisk /dev/sdc Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): Value out of range. Partition number (1-4): 1 First cylinder (1-261, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): Using default value 261 Command (m for help): p Disk /dev/sdc: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdc1 1 261 2096451 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. [root@catalog ~]# fdisk /dev/sdd Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content wont be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-261, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): Using default value 261 Command (m for help): p Disk /dev/sdd: 2147 MB, 2147483648 bytes 255 heads, 63 sectors/track, 261 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdd1 1 261 2096451 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. [root@catalog ~]# ls -l /dev/sd* brw-r----- 1 root disk 8, 0 Aug 27 14:37 /dev/sda brw-r----- 1 root disk 8, 1 Aug 27 14:38 /dev/sda1 brw-r----- 1 root disk 8, 2 Aug 27 14:37 /dev/sda2 brw-r----- 1 root disk 8, 16 Aug 27 14:56 /dev/sdb brw-r----- 1 root disk 8, 17 Aug 27 14:56 /dev/sdb1 brw-r----- 1 root disk 8, 32 Aug 27 14:56 /dev/sdc brw-r----- 1 root disk 8, 33 Aug 27 14:56 /dev/sdc1 brw-r----- 1 root disk 8, 48 Aug 27 14:57 /dev/sdd brw-r----- 1 root disk 8, 49 Aug 27 14:57 /dev/sdd1 3) pvcreate pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 [root@catalog ~]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created Writing physical volume data to disk "/dev/sdc1" Physical volume "/dev/sdc1" successfully created Writing physical volume data to disk "/dev/sdd1" Physical volume "/dev/sdd1" successfully created [root@catalog ~]# 4) vgcreate [root@catalog ~]# vgcreate asm /dev/sdb1 /dev/sdc1 /dev/sdd1 Volume group "asm" successfully created [root@catalog ~]# 5) lvcreate lvcreate -L 5.7G -n asml asm [root@catalog ~]# lvcreate -L 5.7G -n asml asm Rounding up size to full physical extent 5.70 GB Logical volume "asml" created 6) ASM library 설치 7) oracleasm configure - user 설정, 자동 시작 등 /etc/init.d/oracleasm configure 8) oracleasm enable start /init.d/oracleasm enable 9) oracleasm createdisk - 5번에서 나눈 디스크를 ASM 디스크로 생성하기 /etc/init.d/oracleasm createdisk asm1 /dev/asm/asml /usr/sbin/oracleasm scandisks /usr/sbin/oracleasm listdisks |
4) ASM 관리
GRID 중지 및 시작은 개별 적으로 할 수 없으며 명령어를 통해서 수행 하여야 한다.
èASM 중지 [oraasm@catalog ~]# crsctl stop has CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'catalog' CRS-2673: Attempting to stop 'ora.cssd' on 'catalog' CRS-2673: Attempting to stop 'ora.LISTENER.lsnr' on 'catalog' CRS-2673: Attempting to stop 'ora.cat.db' on 'catalog' CRS-2677: Stop of 'ora.LISTENER.lsnr' on 'catalog' succeeded CRS-2677: Stop of 'ora.cssd' on 'catalog' succeeded CRS-2677: Stop of 'ora.cat.db' on 'catalog' succeeded CRS-2673: Attempting to stop 'ora.evmd' on 'catalog' CRS-2677: Stop of 'ora.evmd' on 'catalog' succeeded CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'catalog' has completed CRS-4133: Oracle High Availability Services has been stopped. [root@catalog ~]# crsctl stat res -t CRS-4639: Could not contact Oracle High Availability Services CRS-4000: Command Status failed, or completed with errors. èASM 시작 [oraasm@catalog ~]# crsctl start has CRS-4123: Oracle High Availability Services has been started. è상태 확인 아래와 같이 한다.(지금 구성이 깨져서 다 OFFLINE으로 보임) [oraasm@catalog ~]$ crs_stat -t Name Type Target State Host ------------------------------------------------------------ ora.DATA.dg ora....up.type ONLINE OFFLINE ora....ER.lsnr ora....er.type ONLINE OFFLINE ora.asm ora.asm.type ONLINE OFFLINE ora.asmtest.db ora....se.type OFFLINE OFFLINE ora.cat.db ora....se.type ONLINE OFFLINE ora.cssd ora.cssd.type ONLINE OFFLINE ora.diskmon ora....on.type OFFLINE OFFLINE ora.evmd ora.evm.type ONLINE ONLINE catalog ora.ons ora.ons.type OFFLINE OFFLINE |
ASM에서 사용하는 뷰는 아래와 같다.
V$ASM_DISKGROUP 디스크 그룹에 관련된 정보를 알려줍니다 V$ASM_DISK 디스크에 대한 정보를 알려줍니다. V$ASM_FILE ASM 내부에 생성된 파일에 대한 정보를 알려줍니다. V$ASM_TEMPLATEASM 내 모든 디스크 그룹에 설정된 텀플릿 정보를 알려줍니다. V$ASM_ALlAS ASM 디스크 그룹의 ALlAS 정보를 알려줍니다. V$ASM_OPERA TION ASM 인스턴스상에서 실행되는 작업들의 현황을 알려줍니다. V$ASM_CLlENT ASM을 사용하는 DB 인스턴스 현황을 보여줍니다. |
5) ASM DISK 내용 확인하기
SQL> select group_number,name,type,state from v$asm_diskgroup 2 ; GROUP_NUMBER NAME TYPE STATE ------------ ---------- ---------- ---------- 1 DATA EXTERN MOUNTED |
6) 각 디스크 그룹별 세부 상세 정보 보기
select group_number,disk_number,name,mount_status,path,total_mb from v$asm_disk; GROUP_NUMBER DISK_NUMBER NAME MOUNT_STAT PATH TOTAL_MB ------------ ----------- ---------- ---------- ---------------------------------------- ---------- 1 3 DATA_0003 CACHED /dev/oracleasm/disks/DISK4 5114 1 2 DATA_0002 CACHED /dev/oracleasm/disks/DISK3 5114 1 1 DATA_0001 CACHED /dev/oracleasm/disks/DISK2 5114 1 0 DATA_0000 CACHED /dev/oracleasm/disks/DISK1 5114 |
7) 각 디스크 그룹 별 파일 내역
select group_number,file_number ,round((bytes/1024/1024),1) MB, redundancy, type from v$asm_file ; GROUP_NUMBER FILE_NUMBER MB REDUND TYPE ------------ ----------- ---------- ------ ---------------------------------------------------------------- 1 253 0 UNPROT ASMPARAMETERFILE 1 255 260.1 UNPROT OCRFILE 1 257 660 UNPROT DATAFILE 1 258 105 UNPROT DATAFILE 1 260 17.6 UNPROT CONTROLFILE 1 261 50 UNPROT ONLINELOG 1 262 50 UNPROT ONLINELOG 1 263 38 UNPROT TEMPFILE 1 264 346.3 UNPROT DATAFILE 1 265 50 UNPROT DATAFILE 1 266 50 UNPROT ONLINELOG GROUP_NUMBER FILE_NUMBER MB REDUND TYPE ------------ ----------- ---------- ------ ---------------------------------------------------------------- 1 267 50 UNPROT ONLINELOG 1 268 0 UNPROT PARAMETERFILE 1 269 770 UNPROT DATAFILE 1 270 1450 UNPROT DATAFILE 1 271 105 UNPROT DATAFILE 1 272 8.8 UNPROT DATAFILE 1 273 18.3 UNPROT CONTROLFILE 1 274 50 UNPROT ONLINELOG 1 275 50 UNPROT ONLINELOG 1 276 52 UNPROT TEMPFILE 1 277 346.3 UNPROT DATAFILE GROUP_NUMBER FILE_NUMBER MB REDUND TYPE ------------ ----------- ---------- ------ ---------------------------------------------------------------- 1 278 50 UNPROT DATAFILE 1 279 50 UNPROT ONLINELOG 1 280 50 UNPROT ONLINELOG 1 281 18.3 UNPROT CONTROLFILE 1 282 11.1 UNPROT CHANGETRACKING |
REDUND컬럼의 의미는 DISK를 미러 하였을경우의 레벨을 표시한 것이다.
NORMAL REDUNDANCY 2-way 3-way
HIGH 3-Way
External Unprotected
8) ASM disk group에 disk 추가와 삭제하기
n 디스크 추가하기
① 2G 디스크 추가 후 fdisk 작업
스토리지에서 클러스터 파일 시스템 또는 연간 사용량을 마운트 한다.
② 디스크를 ASM disk로 등록합니다
노드1 혹은 노드2에서 수행
/usr/sbin/oracleasm createdisk DISK5 /dev/sdf1
각노드에서 수행
/usr/sbin/oracleasm scandisks
/usr/sbin/oracleasm listdisks
③ 현재 ASM disk 중에서 사용하지 않는 것을 조회해봅니다
GRID환경으로 아래와 같이 접속한다. [oracle@rac1 ~]$ sqlplus "/as sysasm" col group_number for 999 col disk_number for 999 col name for a10 col mount_status for a10 col path for a40 set linesize 140 select group_number,disk_number,name,mount_status,path,total_mb from v$asm_disk; GROUP_NUMBER DISK_NUMBER NAME MOUNT_STAT PATH TOTAL_MB ----------- ----------- ---------- ---------- ---------------------------------------- ---------- 0 0 CLOSED /dev/oracleasm/disks/DISK5 0 1 3 DATA_0003 CACHED /dev/oracleasm/disks/DISK4 5114 1 2 DATA_0002 CACHED /dev/oracleasm/disks/DISK3 5114 1 1 DATA_0001 CACHED /dev/oracleasm/disks/DISK2 5114 1 0 DATA_0000 CACHED /dev/oracleasm/disks/DISK1 5114 |
④ 마운트 상태를 보고 DISK를 추가한다.
SQL> alter diskgroup data add disk '/dev/oracleasm/disks/DISK5' rebalance power 2; Diskgroup altered. SQL> select group_number,disk_number,name,mount_status,path,total_mb from v$asm_disk; 2 GROUP_NUMBER DISK_NUMBER NAME MOUNT_STAT PATH TOTAL_MB ------------ ----------- ---------- ---------- ---------------------------------------- ---------- 1 3 DATA_0003 CACHED /dev/oracleasm/disks/DISK4 5114 1 2 DATA_0002 CACHED /dev/oracleasm/disks/DISK3 5114 1 1 DATA_0001 CACHED /dev/oracleasm/disks/DISK2 5114 1 0 DATA_0000 CACHED /dev/oracleasm/disks/DISK1 5114 1 4 DATA_0004 CACHED /dev/oracleasm/disks/DISK5 2047 <-- 추가된 DISK SQL> |
n 디스크 삭제하기
(1) 쿼리로 현재 Disk정보를 확인 하다. set line 200 col group_name for a10 col disk_name for a10 SQL> select b.name as group_name,a.name as disk_name, a.header_status, a.state, a.free_mb from v$asm_disk a, v$asm_diskgroup b where a.group_number=b.group_number; 2 3 GROUP_NAME DISK_NAME HEADER_STATU STATE FREE_MB ------------------------------ ------------------------------ ------------ -------- ---------- DATA DATA_0003 MEMBER NORMAL 4005 DATA DATA_0002 MEMBER NORMAL 4005 DATA DATA_0001 MEMBER NORMAL 4005 DATA DATA_0000 MEMBER NORMAL 3972 DATA DATA_0004 MEMBER NORMAL 1602 SQL> alter diskgroup data drop disk data_0004; Diskgroup altered. SQL> select * from v$asm_operation; GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_RATE EST_MINUTES ERROR_CODE ------------ ----- ---- ---------- ---------- ---------- ---------- ---------- ----------- -------------------------------------------- 1 REBAL WAIT 2 SQL> / no rows selected SQL> select name ,header_status ,state ,free_mb from v$asm_disk where group_number=1; NAME HEADER_STATU STATE FREE_MB ---------- ------------ -------- ---------- DATA_0003 MEMBER NORMAL 3895 DATA_0002 MEMBER NORMAL 3894 DATA_0001 MEMBER NORMAL 3892 DATA_0000 MEMBER NORMAL 3863 SQL> |
9) 디스크 그룹 추가하기(new_asm으로 하겠습니다.)
create diskgroup new_asm external redundancy disk '/dev/oracleasm/disks/DISK5'; select group_number ,name ,state from v$asm_diskgroup; 4) Disk Group 마운트 / 언마운트 하기 14:31:30 SQL> select group_number ,name ,state from v$asm_diskgroup; GROUP_NUMBER NAME STATE ------------ ---------- ----------- 1 DATA MOUNTED 2 NEW_ASM MOUNTED 14:31:41 SQL> alter diskgroup new_asm dismount; Diskgroup altered. 14:31:48 SQL> select group_number ,name ,state from v$asm_diskgroup; GROUP_NUMBER NAME STATE ------------ ---------- ----------- 1 DATA MOUNTED 0 NEW_ASM DISMOUNTED 14:31:58 SQL> alter diskgroup new_asm mount; Diskgroup altered. 14:32:10 SQL> |
10) 테이블 스페이스 추가 하기
SQL> [oracle@rac1 ~]$ db_env [oracle@rac1 ~]$ sql SQL*Plus: Release 11.2.0.4.0 Production on Wed Sep 2 09:49:42 2015 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> show parameter db_create NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string +DATA 테이블 스페이스 추가 하기 위에 db_create_file_dest 가 +DATA 로 설정되어 있기 때문에 DATA그룹에서 자동으로 생성된다. SQL> create tablespace ts_new datafile size 10m; Tablespace created. SQL> SQL> set line 200 SQL> col tablespace_name for a15 SQL> col mb for 999 SQL> col file_name for a60 SQL> select tablespace_name,bytes/1024/1024 mb, file_name from dba_data_files; TABLESPACE_NAME MB FILE_NAME --------------- ---- ------------------------------------------------------------ USERS 9 +DATA/rac/datafile/users.272.888075725 UNDOTBS1 105 +DATA/rac/datafile/undotbs1.271.886950681 SYSAUX #### +DATA/rac/datafile/sysaux.270.886950681 SYSTEM 770 +DATA/rac/datafile/system.269.888079437 EXAMPLE 346 +DATA/rac/datafile/example.277.886950781 UNDOTBS2 50 +DATA/rac/datafile/undotbs2.278.886950995 TS_NEW 10 +DATA/rac/datafile/ts_new.259.889350625 7 rows selected. è데이타 파일 추가 시 아래와 같이 한다. SQL> alter tablespace ts_new add datafile size 5m; Tablespace altered. SQL> select tablespace_name,bytes/1024/1024 mb, file_name from dba_data_files; TABLESPACE_NAME MB FILE_NAME --------------- ---- ------------------------------------------------------------ USERS 9 +DATA/rac/datafile/users.272.888075725 UNDOTBS1 105 +DATA/rac/datafile/undotbs1.271.886950681 SYSAUX #### +DATA/rac/datafile/sysaux.270.886950681 SYSTEM 770 +DATA/rac/datafile/system.269.888079437 EXAMPLE 346 +DATA/rac/datafile/example.277.886950781 UNDOTBS2 50 +DATA/rac/datafile/undotbs2.278.886950995 TS_NEW 10 +DATA/rac/datafile/ts_new.259.889350625 TS_NEW 5 +DATA/rac/datafile/ts_new.256.889350759 8 rows selected. |
11) ASMCMD로 ASM 관리하기
[oracle@rac1 ~]$ grid_env [oracle@rac1 ~]$ [oracle@rac1 ~]$ [oracle@rac1 ~]$ asmcmd ASMCMD> help asmcmd [-V] [-v <errors|warnings|normal|info|debug>] [--privilege <sysasm|sysdba>] [-p] [command] asmcmd_no_conn_str Starts asmcmd (if no parameters) or executes the command with given parameters asmcmd [-V] [-v <errors|warnings|normal|info|debug>] [--privilege <sysasm|sysdba>] [-p] [command] Specify the connect string after the -c option to use the listener to connect. By default, ASMCMD asks for a password in a non-echoing prompt, unless the password is specified as part of the connect string. The connect identifier is in the form of "host:port:sid", with the host and the port being option. Host defaults to "localhost" and port to 1521. If the sid is not specified as a part of the connect identifier, then it is read from the environment variable ORACLE_SID. If no connect string is used, then environment variables ORACLE_HOME and ORACLE_SID determine the instance to which the program connects, and asmcmd establishes a bequeath connection to the it, in the same manner as a SQLPLUS / AS SYSASM. The user must be a member of the SYSDBA group to exercise this option. Specifying the -V option prints the asmcmd version number and exits immediately. Specifying the -v option prints extra information that can help advanced users diagnose problems. Specify the --privilege option to choose the type of connection. There are only two possibilities: connecting as SYSASM or as SYSDBA. The default value if this option is unspecified is SYSASM: Specifying the -p option allows the current directory to be displayed in the command prompt, like so: ASMCMD [+DATA/ORCL/CONTROLFILE] > The parameter command specifies one of the following commands, along with its parameters. Type "help [command]" to get help on a specific ASMCMD command. commands: -------- md_backup, md_restore lsattr, setattr cd, cp <-- 11ASM부터 지원 OS<->ASM간의 복사 기능으로 ASM내에서도 사용이 가능하다. , du, find, help, ls, lsct, lsdg, lsof, mkalias mkdir, pwd, rm, rmalias chdg, chkdg, dropdg, iostat, lsdsk <--ASM 디스크 헤더를 읽어서 요약정보를 보여줌 , 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> ls DATA/ ASMCMD> cd data ASMCMD> ls RAC/ block_change_tracking.dat crs/ snapcf_rac.f ASMCMD> cd RAC ASMCMD> ls -l Type Redund Striped Time Sys Name Y CHANGETRACKING/ Y CONTROLFILE/ Y DATAFILE/ Y ONLINELOG/ Y PARAMETERFILE/ Y TEMPFILE/ N spfilerac.ora => +DATA/RAC/PARAMETERFILE/spfile.268.886951101 ASMCMD> cd controlfile ASMCMD> ls -l Type Redund Striped Time Sys Name CONTROLFILE UNPROT FINE AUG 27 14:00:00 Y Backup.281.888054781 CONTROLFILE UNPROT FINE AUG 05 13:00:00 Y Current.260.886777517 CONTROLFILE UNPROT FINE SEP 02 09:00:00 Y Current.273.886950769 ASMCMD> lsdg <-- 디스크 그룹 정보 보여주기 State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name MOUNTED EXTERN N 512 4096 1048576 20456 15561 0 15561 0 Y DATA/ ASMCMD> |
'DBMS > Oracle' 카테고리의 다른 글
[보안위약진단] DB 서버 history에 sqlplus 사용 제거 하기 (0) | 2022.08.29 |
---|---|
Oracle Password 인증 버전 차이로 인한 접속 불가 및 클라이언트 서버간 호환성 점검 (0) | 2022.08.25 |
Oracle RMAN 검토 내역 (1) | 2022.08.25 |
Oracle 월별 데이터 파일 추가 용량 확인 (0) | 2022.07.29 |
Oracle DDL 트리거 (0) | 2022.07.20 |