ORACLE/RAC2023. 3. 6. 15:26
반응형

기존 명령어

crs_stat -p 

 

12C 이후  명령어 변경

[root@rac2 bin]# crsctl status resource
NAME=ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
TYPE=ora.asm_listener.type
TARGET=ONLINE        , ONLINE        , ONLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.CRS.dg(ora.asmgroup)
TYPE=ora.diskgroup.type
TARGET=ONLINE        , ONLINE        , OFFLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.DATA.dg(ora.asmgroup)
TYPE=ora.diskgroup.type
TARGET=ONLINE        , ONLINE        , OFFLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.FRA.dg(ora.asmgroup)
TYPE=ora.diskgroup.type
TARGET=ONLINE        , ONLINE        , OFFLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.LISTENER.lsnr
TYPE=ora.listener.type
TARGET=ONLINE        , ONLINE
STATE=ONLINE on rac1, ONLINE on rac2

NAME=ora.LISTENER_SCAN1.lsnr
TYPE=ora.scan_listener.type
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.LISTENER_SCAN2.lsnr
TYPE=ora.scan_listener.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.LISTENER_SCAN3.lsnr
TYPE=ora.scan_listener.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.asm(ora.asmgroup)
TYPE=ora.asm.type
TARGET=ONLINE        , ONLINE        , OFFLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.asmnet1.asmnetwork(ora.asmgroup)
TYPE=ora.asm_network.type
TARGET=ONLINE        , ONLINE        , OFFLINE
STATE=ONLINE on rac1, ONLINE on rac2, OFFLINE

NAME=ora.chad
TYPE=ora.chad.type
TARGET=ONLINE        , ONLINE
STATE=ONLINE on rac1, ONLINE on rac2

NAME=ora.cvu
TYPE=ora.cvu.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.net1.network
TYPE=ora.network.type
TARGET=ONLINE        , ONLINE
STATE=ONLINE on rac1, ONLINE on rac2

NAME=ora.ons
TYPE=ora.ons.type
TARGET=ONLINE        , ONLINE
STATE=ONLINE on rac1, ONLINE on rac2

NAME=ora.qosmserver
TYPE=ora.qosmserver.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.rac1.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.rac2.vip
TYPE=ora.cluster_vip_net1.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.racdb.db
TYPE=ora.database.type
TARGET=ONLINE , ONLINE
STATE=OFFLINE, OFFLINE

NAME=ora.scan1.vip
TYPE=ora.scan_vip.type
TARGET=ONLINE
STATE=ONLINE on rac1

NAME=ora.scan2.vip
TYPE=ora.scan_vip.type
TARGET=ONLINE
STATE=ONLINE on rac2

NAME=ora.scan3.vip
TYPE=ora.scan_vip.type
TARGET=ONLINE
STATE=ONLINE on rac2

반응형
Posted by [PineTree]
ORACLE/INSTALL2022. 9. 30. 15:41
반응형

오라클 linux 8에 seha설치 후 전환 테스트 실패

PRKF-1421 : cannot relocate database "seha8"; invalid database type

[seha8:/home/oracle]>  crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.chad
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.net1.network
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.ons
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha8a                   STABLE
               OFFLINE OFFLINE      seha8b                   STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   Started,STABLE
      2        ONLINE  ONLINE       seha8b                   Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.cvu
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.seha8.db
      1        ONLINE  ONLINE       seha8a                   Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STABLE
ora.seha8a.vip
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.seha8b.vip
      1        ONLINE  ONLINE       seha8b                   STABLE
--------------------------------------------------------------------------------

relocate 2번째 노드로 전환 시킴

[seha8:/home/oracle]>  srvctl relocate database -d seha8 -n seha8a -w 1 -v
PRKF-1421 : cannot relocate database "seha8"; invalid database type

설정 확인

[seha8:/home/oracle]>  srvctl config database -db seha8
Database unique name: seha8
Database name: seha8
Oracle home: /u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile: +DATA/SEHA8/PARAMETERFILE/spfile.267.1116773743
Password file: 
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA
Mount point paths: 
Services: 
Type: SINGLE
OSDBA group: dba
OSOPER group: dba
Database instance: seha8
Configured nodes: seha8a   <<======2번 노드가 나오지 않음
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed

2번 노드 등록

[seha8:/home/oracle]>  srvctl modify database -db seha8 -node seha8a,seha8b

등록 확인

[seha8:/home/oracle]>  srvctl config database -db seha8
Database unique name: seha8
Database name: seha8
Oracle home: /u01/app/oracle/product/19c/db_1
Oracle user: oracle
Spfile: +DATA/SEHA8/PARAMETERFILE/spfile.267.1116773743
Password file: 
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA
Mount point paths: 
Services: 
Type: SINGLE
OSDBA group: dba
OSOPER group: dba
Database instance: seha8
Configured nodes: seha8a,seha8b       2번 노드 추가 확인
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed

서버 전환

[seha8:/home/oracle]>  srvctl relocate database -d seha8 -n seha8b -w 1 -v

서버 전환 확인

[seha8:/home/oracle]>  crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.chad
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.net1.network
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.ons
               ONLINE  ONLINE       seha8a                   STABLE
               ONLINE  ONLINE       seha8b                   STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha8a                   STABLE
               OFFLINE OFFLINE      seha8b                   STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   Started,STABLE
      2        ONLINE  ONLINE       seha8b                   Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha8a                   STABLE
      2        ONLINE  ONLINE       seha8b                   STABLE
ora.cvu
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.seha8.db
      1        ONLINE  ONLINE       seha8b                   Open,HOME=/u01/app/o
                                                                                    racle/product/19c/db
                                                                                     _1,STABLE
ora.seha8a.vip
      1        ONLINE  ONLINE       seha8a                   STABLE
ora.seha8b.vip
      1        ONLINE  ONLINE       seha8b                   STABLE
--------------------------------------------------------------------------------

원래 대로

[seha8:/home/oracle]>  srvctl relocate database -d seha8 -n seha8a -w 1 -v

===================================================================

ora.seha8.db
      1        ONLINE  ONLINE       seha8b                   Open,HOME=/u01/app/o
                                                             racle/product/19c/db
                                                             _1,STOPPING
ora.seha8a.vip

===================================================================

ora.seha8.db
      1        ONLINE  OFFLINE      seha8a                   Instance Shutdown,ST
                                                                                   ARTING

===================================================================

ora.seha8.db
      1        ONLINE  ONLINE       seha8a                   Open,HOME=/u01/app/o
                                                                                    racle/product/19c/db
                                                                                     _1,STABLE

===================================================================

전환 완료

반응형
Posted by [PineTree]
ORACLE/ADMIN2022. 9. 15. 13:34
반응형

상태 체크

[oracle@seha admin]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISA.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha2                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha1                    Open,HOME=/u01/app/o
                                                                                   racle/product/19c,ST
                                                                                   ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------
2번 서버로 인스턴스 이동
[oracle@seha admin]$ srvctl relocate database -d seha -n seha2 -w 1 -v

[oracle@seha admin]$ srvctl   relocate   database -h

RAC One Node 데이터베이스의 온라인 재배치를 시작합니다.

사용법: srvctl relocate database -db <db_unique_name> {[-node <target>] [-timeout <timeout>] [-stopoption <stop_option>] | -abort [-revert]} [-drain_timeout <timeout>] [-verbose]
    -db <db_unique_name>           재배치할 데이터베이스의 고유 이름
    -node <target>                 데이터베이스를 재배치할 대상 노드
    -timeout <timeout>             온라인 재배치 시간 초과(분)
    -abort                         실패한 온라인 재배치 중단
    -revert                        관리자 관리 RAC One Node 데이터베이스의 후보 서버 목록에서 실패한 온라인 재배치 요청의 대상 노드 제거
    -stopoption <stop_option>      인스턴스 실행을 위한 기본 종료 옵션 무효화(NORMAL만 허용됨)
    -drain_timeout <drain_timeout> 초 단위로 지정된 서비스 비우기 시간 초과입니다.
    -verbose                       상세 정보 출력
    -help                          사용법 인쇄
옵션 설명
출처:https://hoing.io/archives/5280#relocate
-w 옵션을 기술 하지 않는다면 online relocation timeout : 30  이 적용 됩니다.
단위 는 분 이며 이 시간은 세션을 종료 하고 , 인스턴스를 migrate , 트랜잭션을 OPEN 하는 시간을 의미 합니다.

시간 안에  트랜젝션이 종료 되지 않는다면, shutdown abort 과 같은 일환으로 트랜젝션은 취소 가  되며, 세션은 사라지게 됩니다.

이런 시간에 대한 제한에 대해서 default 30분이 아닌 다른 시간으로 제한을 두고자 할 때 -w 옵션을 사용하게 됩니다.

보통의 경우 테스트 문서나 외국 문서들의 대부분이 -w 1 을 주며 시간의 범위는 1~720 분 까지 입니다.


[oracle@seha admin]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISA.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha2                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha2                    Open,HOME=/u01/app/o
                                                                                  racle/product/19c,ST
                                                                                   ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------
1번 서버로 인스턴스 이동
srvctl relocate database -d seha -n seha1 -w 1 -v

[oracle@seha admin]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISA.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha2                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha1                    Open,HOME=/u01/app/o
                                                                                  racle/product/19c,ST
                                                                                  ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------

반응형

'ORACLE > ADMIN' 카테고리의 다른 글

ORACLE ASM DISKGROUP 삭제  (0) 2023.05.25
오라클 asm disk 그룹 추가 시 설정 ASM AFD  (0) 2023.05.25
ORACLE SEHA LISTENER설정 및 상태 체크  (0) 2022.09.15
RAC DB삭제  (0) 2022.05.22
오라클 메모리 튜닝 권고  (0) 2022.05.22
Posted by [PineTree]
ORACLE/ADMIN2022. 9. 15. 12:51
반응형

/etc/hosts
### Public
192.168.219.141         seha1
192.168.219.143         seha2

### Private
192.168.56.41           seha1-priv
192.168.56.42           seha2-priv

### Virtual
192.168.219.192         seha1-vip
192.168.219.194         seha2-vip

### SCAN
192.168.219.147         seha-scan 



[root@seha1 ~]# crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha2                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha1                    Open,HOME=/u01/app/o
                                                             racle/product/19c,ST
                                                             ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------

tnsnames.ora 등록
1번 서버 등록
lisa =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = seha1-vip)(PORT = 2555))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =seha)
    )
  )

2번 서버 등록
lisa =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = seha2-vip)(PORT = 2555))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =seha)
    )
  )


리스너 삭제 후 변경 
srvctl stop listener
srvctl remove listener -l listener

리스너 생성 2555포트 사용
srvctl add listener -o /u01/app/grid -p 2555 -l lisa

리스너 기동
srvctl start listener -l lisa

상태 확인
[oracle@seha admin]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISA.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  INTERMEDIATE seha1                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha1                    Open,HOME=/u01/app/o
                                                             racle/product/19c,ST
                                                             ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------


[oracle@seha ~]$ sqlplus system/oracle@lisa

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 15 11:25:24 2022
Version 19.16.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Last Successful login time: Thu Sep 15 2022 10:58:22 +09:00

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.16.0.0.0

접속 실패 시 DB 인스턴스 재 기동
[oracle@seha admin]$ sqlplus scott/tiger@lisa

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 15 10:13:12 2022
Version 19.16.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor


[oracle@seha admin]$ lsnrctl status lisa

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-SEP-2022 09:57:55

Copyright (c) 1991, 2022, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISA)))
STATUS of the LISTENER
------------------------
Alias                     LISA
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                15-SEP-2022 09:56:03
Uptime                    0 days 0 hr. 1 min. 51 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/seha1/lisa/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISA)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.219.141)(PORT=2555)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.219.192)(PORT=2555)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
The command completed successfully

================================================

인스턴스 재 기동 후
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISA.lsnr
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.chad
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.net1.network
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.ons
               ONLINE  ONLINE       seha1                    STABLE
               ONLINE  ONLINE       seha2                    STABLE
ora.proxy_advm
               OFFLINE OFFLINE      seha1                    STABLE
               OFFLINE OFFLINE      seha2                    STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.DATA.dg(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       seha2                    STABLE
ora.asm(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    Started,STABLE
      2        ONLINE  ONLINE       seha2                    Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
      1        ONLINE  ONLINE       seha1                    STABLE
      2        ONLINE  ONLINE       seha2                    STABLE
ora.cvu
      1        ONLINE  ONLINE       seha1                    STABLE
ora.qosmserver
      1        ONLINE  ONLINE       seha1                    STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       seha2                    STABLE
ora.seha.db
      1        ONLINE  ONLINE       seha1                    Open,HOME=/u01/app/o
                                                                                  racle/product/19c,ST
                                                                                  ABLE
ora.seha1.vip
      1        ONLINE  ONLINE       seha1                    STABLE
ora.seha2.vip
      1        ONLINE  ONLINE       seha2                    STABLE
--------------------------------------------------------------------------------

[oracle@seha admin]$ lsnrctl status lisa

LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 15-SEP-2022 09:58:31

Copyright (c) 1991, 2022, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISA)))
STATUS of the LISTENER
------------------------
Alias                     LISA
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                15-SEP-2022 09:56:03
Uptime                    0 days 0 hr. 2 min. 27 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/grid/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/seha1/lisa/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISA)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.219.141)(PORT=2555)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.219.192)(PORT=2555)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
  Instance "+ASM1", status READY, has 1 handler(s) for this service...
Service "seha" has 1 instance(s).
  Instance "seha", status READY, has 1 handler(s) for this service...
Service "sehaXDB" has 1 instance(s).
  Instance "seha", status READY, has 1 handler(s) for this service...
The command completed successfully

접속 확인
[oracle@seha admin]$ sqlplus system/oracle@lisa

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 15 11:38:28 2022
Version 19.16.0.0.0

Copyright (c) 1982, 2022, Oracle.  All rights reserved.

Last Successful login time: Thu Sep 15 2022 11:25:24 +09:00

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.16.0.0.0

SQL> 
================================================

반응형

'ORACLE > ADMIN' 카테고리의 다른 글

오라클 asm disk 그룹 추가 시 설정 ASM AFD  (0) 2023.05.25
ORACLE SEHA 인스턴스 이동  (0) 2022.09.15
RAC DB삭제  (0) 2022.05.22
오라클 메모리 튜닝 권고  (0) 2022.05.22
oracle ERROR: ORA-12547: TNS:lost contact  (0) 2018.08.08
Posted by [PineTree]
ORACLE/ADMIN2022. 5. 22. 20:27
반응형

RAC DB 삭제

[oracle@racdb1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
ora.DATA.dg
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
ora.LISTENER.lsnr
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
ora.RECO.dg
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
ora.asm
               ONLINE  ONLINE       pradg1                   Started             
               ONLINE  ONLINE       pradg2                   Started             
ora.gsd
               OFFLINE OFFLINE      pradg1                                       
               OFFLINE OFFLINE      pradg2                                       
ora.net1.network
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
ora.ons
               ONLINE  ONLINE       pradg1                                       
               ONLINE  ONLINE       pradg2                                       
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       pradg2                                       
ora.cvu
      1        ONLINE  ONLINE       pradg2                                       
ora.oc4j
      1        ONLINE  ONLINE       pradg2                                       
ora.pradg1.vip
      1        ONLINE  ONLINE       pradg1                                       
ora.pradg2.vip
      1        ONLINE  ONLINE       pradg2                                       
ora.racdb.db
      1        ONLINE  ONLINE       pradg1                   Open                
      2        ONLINE  ONLINE       pradg2                   Open                
ora.scan1.vip
      1        ONLINE  ONLINE       pradg2                                       
[oracle@racdb1 ~]$ srvctl stop database -d racdb
[oracle@racdb1 ~]$ srvctl remove instance -d racdb -i racdb1
racdb 데이터베이스에서 인스턴스를 제거하겠습니까? (y/[n]) y
[oracle@racdb1 ~]$ srvctl remove instance -d racdb -i racdb2
racdb 데이터베이스에서 인스턴스를 제거하겠습니까? (y/[n]) y
[oracle@racdb1 ~]$ srvctl remove database -d racdb
racdb 데이터베이스를 제거하겠습니까? (y/[n]) y
[oracle@racdb1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat May 21 23:18:54 2022

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount restsrict exclusive;
ORACLE instance started.

Total System Global Area 3140026368 bytes
Fixed Size                  2257352 bytes
Variable Size             788532792 bytes
Database Buffers         2332033024 bytes
Redo Buffers               17203200 bytes
ORA-01504: database name 'RESTSRICT' does not match parameter db_name 'racdb'


SQL> startup mount restrict exclusive;
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> alter systsem set cluster_database=false scope=spfile;
alter systsem set cluster_database=false scope=spfile
      *
ERROR at line 1:
ORA-00940: invalid ALTER command


SQL> alter system set cluster_database=false scope=spfile;

System altered.

SQL> shut immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup mount restrict exclusive;
ORACLE instance started.

Total System Global Area 3140026368 bytes
Fixed Size                  2257352 bytes
Variable Size             721423928 bytes
Database Buffers         2399141888 bytes
Redo Buffers               17203200 bytes
Database mounted.
SQL> drop database;

Database dropped.

반응형

'ORACLE > ADMIN' 카테고리의 다른 글

ORACLE SEHA 인스턴스 이동  (0) 2022.09.15
ORACLE SEHA LISTENER설정 및 상태 체크  (0) 2022.09.15
오라클 메모리 튜닝 권고  (0) 2022.05.22
oracle ERROR: ORA-12547: TNS:lost contact  (0) 2018.08.08
오라클 role 에 관하여  (0) 2018.07.21
Posted by [PineTree]
ORACLE/ADMIN2022. 5. 22. 19:51
반응형

######  What are the major tuning areas in database performance tuning  #######

  - Memory - shared pool, large pool, buffer cache, redo log buffer, and sort area size.
  - I/O - distributing I/O, striping, multiple DBWn processes, and DBWn I/O slaves.
  - CPU - CPU utilization.
  - Space management - extent allocation and Oracle block efficiency.
  - Redo log and checkpoint - redo log file configuration, redo entries, and checkpoint.
  - Rollback segment - sizing rollback segments.
  - Network


###### 조정해야할 메모리 영역
전체 SGA 영역 : 2.4G
shared_pool_size = ???
large_pool_size = ???
java_pool_size = ???
db_cache_size = ???
SHARED_POOL_RESERVED_SIZE=???

 

##################################################
### PGA 성능(할당량) 조정
##################################################
PGA target advice => v$pga_target_advice를 이용하여 적당 할당량을 조사한다.

-- PGA 어드바이스
select round(pga_target_for_estimate/1024/1024) as target_size_MB,
bytes_processed,estd_extra_bytes_rw as est_rw_extra_bytes,
estd_pga_cache_hit_percentage as est_hit_pct,
estd_overalloc_count as est_overalloc
from v$pga_target_advice;

=>위의 쿼리를 실행해서 최적의 PGA할당량을 찾아낸다

PGA Memory Advisory  DB/Inst: KMSMESV1/KMSMESV1  End Snap: 886
-> When using Auto Memory Mgmt, minimally choose a pga_aggregate_target value
   where Estd PGA Overalloc Count is 0

                                       Estd Extra    Estd PGA   Estd PGA
PGA Target    Size           W/A MB   W/A MB Read/      Cache  Overalloc
  Est (MB)   Factr        Processed Written to Disk     Hit %      Count
---------- ------- ---------------- ---------------- -------- ----------
        94     0.1        326,688.8         11,869.3     96.0      2,140
       188     0.3        326,688.8         11,869.3     96.0      2,139
       375     0.5        326,688.8          2,393.2     99.0        646
       563     0.8        326,688.8            110.8    100.0          0
       750     1.0        326,688.8            110.8    100.0          0
       900     1.2        326,688.8            110.8    100.0          0
     1,050     1.4        326,688.8            110.8    100.0          0
     1,200     1.6        326,688.8            110.8    100.0          0
     1,350     1.8        326,688.8            110.8    100.0          0
     1,500     2.0        326,688.8            110.8    100.0          0
     2,250     3.0        326,688.8            110.8    100.0          0
     3,000     4.0        326,688.8            110.8    100.0          0
     4,500     6.0        326,688.8            110.8    100.0          0
     6,000     8.0        326,688.8            110.8    100.0          0
          -------------------------------------------------------------

:::::::::::::::::::::::         결과          ::::::::::::::::::::::::::::::
=========> PGA 사이즈 조정 : 현재 사이즈 적정 


##################################################
### SGA 크기 조정
##################################################

SGA Target Advisory  DB/Inst: KMSMESV1/KMSMESV1  End Snap: 886

SGA Target SGA Size   Est DB      Est DB   Est Physical
  Size (M)   Factor Time (s) Time Factor          Reads
---------- -------- -------- ----------- --------------
       752       .5   78,897         1.0      5,109,138
     1,128       .8   78,044         1.0      4,873,605
     1,504      1.0   77,494         1.0      4,723,249
     1,880      1.3   77,293         1.0      4,667,665
     2,256      1.5   77,238         1.0      4,653,967
     2,632      1.8   77,238         1.0      4,653,967
     3,008      2.0   77,239         1.0      4,653,967
-------------------------------------------------------------


:::::::::::::::::::::::         결과          ::::::::::::::::::::::::::::::
=========> SGA 사이즈 조정 : 1.5GB -> 2.5GB로 사이즈 조정 
★★★★ statspack분석 결과에 의해  SGA_TARGET 파라메타 2.5GB로 재조정.
alter system set SGA_MAX_SIZE=(2.5GB)

##################################################
### shared pool 성능(할당량) 조정
##################################################

1.먼저 현재 사용중인 데이타베이스에 대해 라이브러리 캐시영역에 대한 크기가 적정한지 조사한다.

select namespace,gets,gethits,gethitratio
from v$librarycache
where namespace = 'SQL AREA';

=> 참조 : 만약 gethitratio 컬럼의 값이 90%이상이라면 라이브러리 캐쉬영역이 개발자들의 SQL 파싱정보를 저장하기에 충분한 메모리 공간을 확보하고 있음을 의미하며 만약 90% 이하라면 성능이 저하 될 수도 있다는 것을 의마한다.

=> Quality DB의 경우 다음과 같은 결과가 나옴.
NAMESPACE             GETS    GETHITS GETHITRATIO
--------------- ---------- ---------- -----------
SQL AREA            885978     878552  .991618302
=========> 99%

## 부가적으로 pins에 대한 reloads의 비율을 확인한다.

select sum(pins),sum(reloads),sum(reloads) / sum(pins)
from v$librarycache
where namespace = 'SQL AREA';

=> 완성차 DB의 경우 다음과 같이 나옴.
 SUM(PINS) SUM(RELOADS) SUM(RELOADS)/SUM(PINS)
---------- ------------ ----------------------
  85931701          506             5.8884E-06

========> 참조 : PINS에 대한 reloads에 대한 비율이 1%미만일 경우 라이브러리 캐쉬 영역의 크기가 SQL 파싱정보를
                 저장하기에 충분하다는 의미이다.

 

현재 할당된 shared_pool 사이즈를 조사한다.
select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;

=> 완성차 DB의 경우 다음과 같이 나옴.
POOL             MBYTES
------------ ----------
             863.996956
shared pool  511.985039
streams pool 48.0495529
large pool           32
java pool            64


2. Shared pool advice => v$shared_pool_advice 를 이용해서 oracle의 사이즈 advice를 조사한다.


SELECT shared_pool_size_for_estimate "Size of Shared Pool in MB",
       shared_pool_size_factor "Size Factor",estd_lc_time_saved "Time Saved in sec"
  FROM v$shared_pool_advice;

Shared Pool Advisory  DB/Inst: KMSMESV1/KMSMESV1  End Snap: 886
-> SP: Shared Pool     Est LC: Estimated Library Cache   Factr: Factor
-> Note there is often a 1:Many correlation between a single logical object
   in the Library Cache, and the physical number of memory objects associated
   with it.  Therefore comparing the number of Lib Cache objects (e.g. in
   v$librarycache), with the number of Lib Cache Memory Objects is invalid

                                        Est LC Est LC  Est LC Est LC
    Shared    SP   Est LC                 Time   Time    Load   Load      Est LC
      Pool  Size     Size       Est LC   Saved  Saved    Time   Time         Mem
  Size (M) Factr      (M)      Mem Obj     (s)  Factr     (s)  Factr    Obj Hits
---------- ----- -------- ------------ ------- ------ ------- ------ -----------
       256    .5       72        4,370 #######    1.0  33,605    1.4  32,095,562
       320    .6      132        7,162 #######    1.0  28,485    1.2  32,102,312
       384    .8      195       12,092 #######    1.0  24,534    1.0  32,102,864
       448    .9      204       13,130 #######    1.0  24,534    1.0  32,102,864
       512   1.0      204       13,130 #######    1.0  24,534    1.0  32,102,864
       576   1.1      204       13,130 #######    1.0  24,534    1.0  32,102,864
       640   1.3      204       13,130 #######    1.0  24,534    1.0  32,102,864
       704   1.4      204       13,130 #######    1.0  24,534    1.0  32,102,864
       768   1.5      204       13,130 #######    1.0  24,534    1.0  32,102,864
       832   1.6      204       13,130 #######    1.0  24,534    1.0  32,102,864
       896   1.8      204       13,130 #######    1.0  24,534    1.0  32,102,864
       960   1.9      204       13,130 #######    1.0  24,534    1.0  32,102,864
     1,024   2.0      204       13,130 #######    1.0  24,534    1.0  32,102,864
          -------------------------------------------------------------+
The above output shows the current setting of the shared pool is   512M (for which Size factor is 1).

+ It also shows decreasing the size of the shared pool to the 50% of its
  current value will also be equally efficient as the current value.
+ Also doubling the size of the shared pool will save extra 2300 sec in parsing.
+ Using this view a DBA has the correct picture to design Shared pool.


========> 결론 : 현재 PEMS DB의 shared_pool 사이즈를 init*.ora 파일에서 늘려준다.
shared_pool_size = 800M(????)

 

### 현재 SGA에 대한 할당 조사
select current_size from v$buffer_pool;
select pool, sum(bytes)/1024/1024 Mbytes from v$sgastat group by pool;

3. SHARED_POOL_RESERVED_SIZE에 대한 성능 조절

=> SHARED_POOL_RESERVED_SIZE는 PL/SQL 블록으로 실행된 sql문의 구문분석 정보를 저장할때 사용되는 공유 풀 영역의크기를  지정하는 파라메타이다
=> 기본값은 SHARED_POOL_SIZE의 10%이며 최대값은 SHARED_POOL_SIZE 값의 1/2 이다.
=> v$shared_pool_reserved 자료사전의 REQUEST_FAILURES의 컬럼값이 0이 아니거나 계속 증가값을 보일때
    이 파라메타 값을 크게 해준다.

select request_failures from v$shared_pool_reserved;

REQUEST_FAILURES
----------------
               0


========> 결론 :SHARED_POOL_RESERVED_SIZE 변경 없음
SHARED_POOL_RESERVED_SIZE = 25M(?????)

##################################################
#### DB Cache Size 성능 조정
##################################################

1. DB cache advice => v$db_cache_advice 동적 성능 뷰를 이용하여 db cache 사이즈를 시뮬레이션 해본다.

column size_for_estimate         format 999,999,999,999 heading 'Cache Size (m)'
column buffers_for_estimate      format 999,999,999 heading 'Buffers'
column estd_physical_read_factor format 999.90 heading 'Estd Phys|Read Factor'
column estd_physical_reads       format 999,999,999 heading 'Estd Phys| Reads'

SELECT size_for_estimate, buffers_for_estimate,estd_physical_read_factor, estd_physical_reads
  FROM V$DB_CACHE_ADVICE
 WHERE name = 'DEFAULT'
   AND block_size    = (SELECT value FROM V$PARAMETER
                         WHERE name = 'db_block_size')
   AND advice_status = 'ON';


    Size for  Size      Buffers   Read     Phys Reads     Est Phys % dbtime
P    Est (M) Factr  (thousands)  Factr    (thousands)    Read Time  for Rds
--- -------- ----- ------------ ------ -------------- ------------ --------
D         80    .1           10    2.1          9,703       21,737     28.0
D        160    .2           20    1.1          5,315        5,540      7.1
D        240    .3           30    1.1          5,029        4,485      5.8
D        320    .4           40    1.0          4,948        4,186      5.4
D        400    .5           50    1.0          4,897        4,001      5.2
D        480    .6           59    1.0          4,862        3,869      5.0
D        560    .6           69    1.0          4,829        3,750      4.8
D        640    .7           79    1.0          4,796        3,628      4.7
D        720    .8           89    1.0          4,761        3,497      4.5
D        800    .9           99    1.0          4,740        3,419      4.4
D        864   1.0          107    1.0          4,723        3,359      4.3
D        880   1.0          109    1.0          4,709        3,306      4.3
D        960   1.1          119    1.0          4,668        3,152      4.1
D      1,040   1.2          129    1.0          4,649        3,083      4.0
D      1,120   1.3          139    1.0          4,621        2,979      3.8
D      1,200   1.4          149    1.0          4,607        2,929      3.8
D      1,280   1.5          159    1.0          4,599        2,899      3.7
D      1,360   1.6          169    1.0          4,594        2,882      3.7
D      1,440   1.7          178    1.0          4,594        2,880      3.7
D      1,520   1.8          188    1.0          4,592        2,875      3.7
D      1,600   1.9          198    1.0          4,580        2,829      3.7
          -------------------------------------------------------------


========> 결론 : 현재 PEMS DB의 db_cache 사이즈를 1.6GB로 변경
db_cache_size = 1.6GB(???)

##################################################
#### Redo buffer Size 성능 조정
##################################################

Check the statistic redo buffer allocation retries in the V$SYSSTAT view.
If this value is high relative to redo blocks written, try to increase the LOG_BUFFER size.
 
Query for the same is
 
select * from v$sysstat where name like 'redo buffer allocation retries'
or
select * from v$sysstat where name like 'redo blocks written';

혹은 v$sysstat 자료사전에서 서버 프로세스가 로그 정보를 저장했던 로그버퍼의 블록 수(REDO ENTRIES)와 로그버퍼의 경합으로
인해 발생한 대기상태에서 다시 로그 버퍼공간을 할당 받았던 불록 수(redo buffer allocation entries)를 확인한다.

=>이 SQL문에 의한 실행 결과
select name,value
from v$sysstat
where name in ('redo buffer allocation retries','redo entries');


NAME                                                                  VALUE
---------------------------------------------------------------- ----------
redo entries                                                       23465374
redo buffer allocation retries                                           91=>0일 수록 좋은것

========> 결론 : 현재 quality DB의 log_buffer 사이즈를 14MB * 2 이상으로 init*.ora 파일에서 늘려준다.
log_buffer = 30M  
       
##################################################
#### java_pool Size 성능 조정
##################################################

** Java Pool advice => v$java_pool_advice

select JAVA_POOL_SIZE_FOR_ESTIMATE,JAVA_POOL_SIZE_FACTOR,ESTD_LC_LOAD_TIME
from v$java_pool_advice

JAVA_POOL_SIZE_FOR_ESTIMATE JAVA_POOL_SIZE_FACTOR ESTD_LC_LOAD_TIME
--------------------------- --------------------- -----------------
                          4                     1              9493
                          8                     2              9493

========> 결론 : 현재 PEMS DB의 java_pool_size 사이즈를 8MB 이상으로 init*.ora 파일에서 늘려준다.
java_pool_size=128M(20971520)

##################################################
#### Redo-log file  Size 성능 조정
##################################################
FAST_START_MTTR_TARGET='숫자값'으로 설정한다(V$MTTR_TARGET_ADVICE)
alter system set FAST_START_MTTR_TARGET=300

SQL> select ACTUAL_REDO_BLKS,TARGET_REDO_BLKS,TARGET_MTTR,ESTIMATED_MTTR,
    OPTIMAL_LOGFILE_SIZE,CKPT_BLOCK_WRITES  from v$instance_recovery;

ACTUAL_REDO_BLKS TARGET_REDO_BLKS TARGET_MTTR ESTIMATED_MTTR OPTIMAL_LOGFILE_SIZE CKPT_BLOCK_WRITES 
---------------- ---------------- ----------- -------------- --------------------
          942            18432          71             59                     49     
388462

The recommended optimal redolog file size is 49 MB as seen from column -OPTIMAL_LOGFILE_SIZE.
This is as per the setting of "fast_start_mttr_target" = 170

각 리두로그 사이즈 600M로 조정

$@# !! SQL 튜닝 전에

SQL>alter session set timed_statistics=true;
SQL>alter session set sql_trace=true;
요거 켜주기......

### REDO LOG 파일 재배치 해야함.(물리적으로 서로 다른 디스크 경로에 변경 배치한다)

ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE ADD LOGFILE GROUP 1 ('/ora_log/KMSMESV1/rdo1/redo01a.log','/ora_dump/KMSMESV1/rdo2/redo01b.log') SIZE 500M


ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE ADD LOGFILE GROUP 2 ('/ora_log/KMSMESV1/rdo1/redo02a.log','/ora_dump/KMSMESV1/rdo2/redo02b.log') SIZE 500M


ALTER DATABASE DROP LOGFILE GROUP 3;
ALTER DATABASE ADD LOGFILE GROUP 3 ('/ora_log/KMSMESV1/rdo1/redo03a.log','/ora_dump/KMSMESV1/rdo2/redo03b.log') SIZE 500M

ALTER DATABASE DROP LOGFILE GROUP 4;
ALTER DATABASE ADD LOGFILE GROUP 4 ('/ora_log/KMSMESV1/rdo1/redo04a.log','/ora_dump/KMSMESV1/rdo2/redo04b.log') SIZE 500M

ALTER DATABASE DROP LOGFILE GROUP 5;
ALTER DATABASE ADD LOGFILE GROUP 5 ('/ora_log/KMSMESV1/rdo1/redo05a.log','/ora_dump/KMSMESV1/rdo2/redo05b.log') SIZE 500M

ALTER DATABASE DROP LOGFILE GROUP 6;
ALTER DATABASE ADD LOGFILE GROUP 6 ('/ora_log/KMSMESV1/rdo1/redo06a.log','/ora_dump/KMSMESV1/rdo2/redo06b.log') SIZE 500M


### ADDITIONAL 1 : Disk I/O 튜닝

select tablespace_name,file_name,phyrds, phywrts
from dba_data_files df,v$filestat fs
where df.file_id = fs.file#;

===============> 결론 : 쿼리 결과 system 테이블 스페이스와 undo table space를 분리해야함. 
1.DB SHUTDOWN

2.undo datafile 이동 ex)F:\->H:\
 =>이동 후 기존 datafile 삭제 
3.db startup(mount까지)

alter database rename file 'E:\ora_data1\KMSMESP1\UNDOTBS01.DBF' to 'H:\ora_data4\KMSMESP1\undo_data\UNDOTBS01.DBF';
alter database rename file 'E:\ora_data1\KMSMESP1\UNDOTBS02.DBF' to 'H:\ora_data4\KMSMESP1\undo_data\UNDOTBS02.DBF';
alter database rename file 'E:\ora_data1\KMSMESP1\UNDOTBS03.DBF' to 'H:\ora_data4\KMSMESP1\undo_data\UNDOTBS03.DBF';

4.DB OPEN  


##### redolog 변경 샘플

ALTER DATABASE DROP LOGFILE GROUP 1;
ALTER DATABASE ADD LOGFILE GROUP 1 ('I:\ora_log\KMSMESQ1\rdo1\REDO01A.LOG', 'H:\ora_dump\KMSMESQ1\rdo2\REDO01B.LOG') SIZE 200M;

ALTER DATABASE DROP LOGFILE GROUP 2;
ALTER DATABASE ADD LOGFILE GROUP 2 ('I:\ora_log\KMSMESQ1\rdo1\REDO02A.LOG', 'H:\ora_dump\KMSMESQ1\rdo2\REDO02B.LOG') SIZE 200M;

ALTER DATABASE DROP LOGFILE GROUP 3;
ALTER DATABASE ADD LOGFILE GROUP 3 ('I:\ora_log\KMSMESQ1\rdo1\REDO03A.LOG', 'H:\ora_dump\KMSMESQ1\rdo2\REDO03B.LOG') SIZE 200M;



반응형
Posted by [PineTree]
ORACLE/TroubleShooting2022. 4. 11. 09:48
반응형
증상
Error in invoking target 'agent 'nmhs' of makefile
 
vi $ORACLE_HOME/install/make.log
 
make[1]: Leaving directory `/oracle/product/11.2.0/sysman/lib'
make[1]: *** [/oracle/product/11.2.0/sysman/lib/emdctl] Error 1
make: *** [emdctl] Error 2

ORACLELINUX 7 에서 발생 11.2.0.4 DB 엔진 설치시 오류 발생

ORACLELINUX 7,SUSE12SP1, SUSE12SP2, RHEL7 , CentOS등등 에서 발생
 

 

 
원인
ins_emagent.mk 링크에 오류가 있음
 
 
해결책
 
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk
#===========================
#  emdctl
#===========================

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL)
 
해당 부분(173 번째 줄)을
 
#===========================
#  emdctl
#===========================

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL) -lnnz11
 
으로 수정 후 오류가 난 설치창에서 retry를 눌러 진행하면 된다.
반응형
Posted by [PineTree]
ORACLE/Migration2022. 3. 2. 00:09
반응형

<< System 환경 – Remote export 가 지원되는 경우 >>

   - Source DB :: Linux, Oracle 9i R2 
   - Target DB :: Solaris, Oracle 9i R2 
 ** Named Pipe 사용예제

   1. TNS_Alias 생성
      % vi  $TNS_ADMIN/tnsnames.ora
          REMOTE =
               (DESCRIPTION =
                (ADDRESS_LIST =
                 (ADDRESS = (PROTOCOL = TCP)(HOST = Source_DB_IP)(PORT = 1521))
               )
               (CONNECT_DATA =
                (SERVER = DEDICATED)
                 (SERVICE_NAME = ORCL)
               )
              )

   2. Named Pipe 생성                            Target DB !!
       % mknod /tmp/exp_pipe p

   3. Export / Import                           Target DB !!
      % exp ID/PWD@REMOTE file=/tmp/exp_p log=exp_log buffer=10240000 directy=y &
      % imp ID/PWD file=/tmp/exp_p  log=imp_log commit=y feedback=100 indexes=n …


** Source DB 에 export 받은 공간이 없는 경우에도 사용함 !!

=====================================================================
DBA_TAB_COLUMNS

[[ Named Pipe를 이용한 exp/imp ]]



- 프로세스간 데이터 전송에 사용되며, 클라이언트/서버간에 유용하게 사용된다
- 일반적으로로 string을 주고 받는다
- 두 프로세스간의 통로 이다, Named Pipe는 명시적인 Pipe로 네트워크간 통신에 사용하기 편리 하다
- export + dmp파일 전송 + import 의 세가지 작업을 동시에 수행힐수 있는 방법이 Named Pipe를

   사용하는것이다
- 이론상으로는 source 에서 Named Pipe를 향해 export를 수행하고, 그와 동시에 target에서는

    Named Piped로부터
    import 작업을 수행 하기 때문에 거의 export 시간에 import 작업이 끝난다고 볼수 있다.



* 네트워크를 통해 데이터가 전송되기 때문에 데이터에 대한 정합성 문제가 발생할수 있어서
  작업시간이 문제가 되지 않는 경우를 제외하고는 그다지 사용을 권하지 않는다


(예제_1) source 및 target 동일 유저로 exp/imp



- source = devdb    / test 유저
- target = devmigdb / test 유저

-  작업 순서
      1) 파이프 생성
      2) target 에서 source에 network울 통한 접속으로 export 작업수행 --> Named Pipe에 write
      3) targer 에서 Named Pipe를 통해서 읽기 및 해당 테이블에 insert
  
<<kk.sh>>

rm /tmp/exp_pipe_1
mknod /tmp/exp_pipe_1 p
exp test/test1234@devdb file=/tmp/exp_pipe_1 direct=y constraints=n log=exp_TEST_`date +"%Y%m%d"`.log parfile=p_Test.par &
imp test/test1234 file=/tmp/exp_pipe_1 log=imp_TEST_`date +"%Y%m%d"`.log ignore=y commit=y indexes=n constraints=n grants=n buffer=102400000 parfile=p_Test.par &



<p_Test.par>
feedback=10000
tables=IG_EMP



(예제_2) source 및 target ekfms 유저로 exp/imp



- source = devdb    / scott 유저
- target = devmigdb / test 유저

-  작업 순서
      1) 파이프 생성
      2) target 에서 source에 network울 통한 접속으로 export 작업수행 --> Named Pipe에 write
      3) targer 에서 Named Pipe를 통해서 읽기 및 해당 테이블에 insert



<<zz.sh>>

rm /tmp/exp_pipe_1
mknod /tmp/exp_pipe_1 p
exp scott/tiger333@devdb file=/tmp/exp_pipe_1 direct=y constraints=n log=exp_SCOTT_`date +"%Y%m%d"`.log parfile=p_Scott.par &
imp test/test1234 file=/tmp/exp_pipe_1 log=imp_TEST_`date +"%Y%m%d"`.log ignore=y commit=y indexes=n constraints=n grants=n buffer=102400000 parfile=p_Scott.par &



<p_Scott.par>
feedback=10000
tables=LARGE_EMP



(결과)



step_1) source data 건수



           DEVDB_SCOTT> select count(*) from large_emp ;

                             COUNT(*)
                             ----------
                             1091410



step_2) target에서 작업수행
       
 oracle@migdevdb_MIGDB:/oradata/work/> sh zz.sh



 Import: Release 11.2.0.4.0 - Production on 목 9월 3 15:02:35 2015
 Export: Release 11.2.0.4.0 - Production on 목 9월 3 15:02:35 2015

 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


 다음에 접속됨: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options

 다음에 접속됨: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
 With the Partitioning, OLAP, Data Mining and Real Application Testing options
 KO16MSWIN949 문자 설정과 AL16UTF16 NCHAR 문자 설정에서 익스포트가 종료되었습니다
 경고: 테이블 제약 조건이 익스포트되지 않습니다

 지정된 테이블을 익스포트하려고 합니다 via 디렉토리 경로 ...
 . .                       LARGE_EMP 테이블 익스포트 중
 익스포트 파일은 직접 경로를 거쳐 EXPORT:V11.02.00 에 의해 생성되었습니다

 경고: 객체는 다른 사용자 SCOTT(이)가 엑스포트한 것입니다.

 KO16MSWIN949 문자집합과 AL16UTF16 NCHAR 문자 집합에 임포트가 완성되었습니다
 . SCOTT 객체를 TEST(으)로 임포트하는 중입니다
 . SCOTT 객체를 TEST(으)로 임포트하는 중입니다
 . . 테이블                    "LARGE_EMP"(를)을 임포트 중
 ...
 ...................................................................................................................................................
 ...
 ................................................................
                                                       1091410개의 행이 엑스포트되었습니다
 익스포트가 경고 없이 정상적으로 종료되었습니다.
 .
                                                       1091410 행이 임포트되었습니다
 임포트가 경고 없이 정상적으로 종료되었습니다.


step_3)  target 에서 결과 확인 --> step_2) 작업중에 건수가 증가하는것을 볼수 있다


   COUNT(*)
 ----------
     458738

 MIGDB_TEST> /

   COUNT(*)
 ----------
     491505

 MIGDB_TEST> /

   COUNT(*)
 ----------
     524272

 MIGDB_TEST> /

   COUNT(*)
 ----------
     557039

 MIGDB_TEST> /

   COUNT(*)
 ----------
     589806


(참고)



일반적으로 다른 스키마로의 import 작업시에는 system 유저로 작업을 수행 하며,

fromuser , touser 의 옵션을 사용하여야 하나

Named Pipe를 이용할경우에는 fromuser, touser 옵션을 사용하지 않고 직접 해당 유저에서 작업이 이루어 진다.

반응형
Posted by [PineTree]
ORACLE/Migration2022. 2. 28. 00:23
반응형

오라클 데이터펌프

create directory pump_dir as '/backup/datapump';

grant read,write on directory pump_dir to hr;

expdp system/oracle dumpfile=scott.dmp directory=pump_dir schemas=scott

schema import
SYS@newdb> select tablespace_name, contents from dba_tablespaces;
Schema import 작업시 export 했을때의 정보들과 명칭이 다르면 remap 작업을 해줘야합니다. 
scott 계정을 import 하기위해서  default tablespace와 
default temporary tablespace의 명칭을 맞춰줘야하니 미리 확인해봤습니다. 
기본으로 사용할  tablespace도 만들어주겠습니다.

 

SYS@newdb> create tablespace dump datafile '/opt/oracle/app/oradata/newdb/dump01.dbf' size 200m;
스키마의 기본 테이블스페이스를 미리 만들어줬습니다. 이제 import 작업을 진행해보겠습니다.

impdp system/oracle dumpfile=scott.dmp directory=pump_dir remap_tablespace=users:dump

impdp system/oracle dumpfile=hr.dmp directory=pump_dir remap_schema=hr:scott remap_tablespace=examples:dump
database link 생성
create database link expdp_net01 connect to system \
identified by oracle using 'expdp_test'

db link 확인
*Local DB에 파일 남기기

expdp system/oracle network_link=expdp_net01 directory=dump_dir \
dumpfile=expdp_net01_%U.dmp logfile=expdp_net01.log \
job_name=net_01 

※ Long TYPE 등 NETWORK_LINK로 받아지지 않는 것이 있으므로 확인 필요

*Remote DB에 파일 남기기
expdp system/oracle@expdp_test directory=dump+dir \
dumpfile=expdp_net01_%U.dmp logfile=expdp+net01.log \
jog_name =remote_exp 

※DB Link와 Network_Link를 이용하면 Local DB쪽에 dmp 파일이 생성되며,Network Alias만 이용하면
Remote DB쪽에 dmp파일이 생성된다.

 

============================================================================

database link 생성
create database link expdp_net01 connect to system \
identified by oracle using 'expdp_test'

db link 확인
*Local DB에 파일 남기기

expdp system/oracle network_link=expdp_net01 directory=dump_dir \
dumpfile=expdp_net01_%U.dmp logfile=expdp_net01.log \
job_name=net_01 

※ Long TYPE 등 NETWORK_LINK로 받아지지 않는 것이 있으므로 확인 필요

*Remote DB에 파일 남기기
expdp system/oracle@expdp_test directory=dump+dir \
dumpfile=expdp_net01_%U.dmp logfile=expdp+net01.log \
jog_name =remote_exp 

※DB Link와 Network_Link를 이용하면 Local DB쪽에 dmp 파일이 생성되며,Network Alias만 이용하면
Remote DB쪽에 dmp파일이 생성된다.​


============================================================================CTAS 활용과 주의사항

테이블의 형식만 복사하기 위한 마이그레이션 작업에 사용된다.
기존 테이블의 데이터를 새로 생성하기 위해 테이블 재구성에 사용된다.
기존 테이블이 가지고있는 기본값, 제약조건, 인덱스 등은 복사할 수 없다.
파티션 테이블일 경우엔 일반 테이블로 복사된다.

select 'create table ' ||segment_name||' as select * from '||owner||'.'||segment_name||'@'||'link'||';' 
from dba_segments
where owner='SYS' and segment_type='TABLE PARTITION' and  rownum <11;

SQL> select distinct segment_type from dba_segments;

SEGMENT_TYPE
------------------
INDEX
CLUSTER
TABLE PARTITION
LOBINDEX
TABLE SUBPARTITION
SYSTEM STATISTICS
LOBSEGMENT
INDEX PARTITION
ROLLBACK
TABLE
LOB PARTITION
NESTED TABLE
TYPE2 UNDO

select 'insert into  ' ||segment_name||' as select * from '||owner||'.'||segment_name||'@'||'link'||';' 
from dba_segments
where owner='SYS' and segment_type='TABLE PARTITION' AND rownum <11;

select segment_TYPE,COUNT(*) FROM DBA_SEGMENTS GROUP BY SEGMENT_TYPE;


select 'create table ' ||table_name||' as select * from '||owner||'.'||table_name||'@'||'link'||';' 
from dba_tables
where owner='SYS' and rownum <11;

select 'insert into  ' ||segment_name||' as select * from '||owner||'.'||segment_name||'@'||'link'||';' 
from dba_segments
where owner='SYS' and segment_type='TABLE' AND rownum <11;

select owner,segment_name,PARTITION_NAME
from dba_segments
where owner='SYS' and segment_type='TABLE' and PARTITION_NAME <> ''

 select table_name from dict where table_name like '%PARTITION%';
 
select table_owner,table_name,PARTITION_NAME,PARTITION_POSITION from dba_tab_partitions order by 1,2,4;


select table_owner,table_name,count(*) from dba_tab_partitions group by table_owner,table_name;

SQL> CREATE PUBLIC DATABASE LINK 링크이름
CONNECT TO <연결하고자 하는 user>
IDENTIFIED BY <연결하고자 하는 user password>
USING '원격 db alias'

일반유저에게 Private DB LINK 생성권한 부여
SQL> grant create database link to 유저명;


Public 으로 생성 할 수 있는 권한 부여
SQL> grant create public database link to 유저명;


dba_db_links dictionary 에서 자세한 내용 조회 가능합니다

SQL> select * from dba_db_links;


사용법은 다음 과 같습니다.
select 컬럼명 from 테이블명@db_link명

connect scott/tiger;
select dbms_metadata.get_ddl('TABLE',u.table_name )
from user_tables u;
select dbms_metadata.get_ddl('INDEX',u.index_name)
from user_indexes u;

반응형
Posted by [PineTree]
PineTree/etc2022. 1. 7. 20:08
반응형

1. gsnote : 서식을 입력할 수 있는 노트패드, 개인이 사용하는 것은 무료

 

 

gsnotes.exe
5.64MB

2. Free Registration : http://www.tgslabs.com/en/purchase/    

사이트가 없어졌습니다. 첨부 파일 다운로드 받으세요

 

 

GoldenSection Notes *    

Personal license $35 BWTNNQ-TBGTG-MW4YP-7BVZT-7XXJZ-V44GJ-1

Business license $45 BWBNNQ-TBGTG-MUDBC-YUX5V-9M9F8-5AQX2-1

Family license $65 BZBNNQ-TBGTG-LNX3Y-ESWBF-K3MDB-Y2V4H-1

Please note: We have three types of licenses for WinOrganizer, GSNotes, and GSReader: Personal, Family, and Business. 
With the Personal License, you can use the program for non-commercial purposes in non-business, non commercial environment. Network features of the program are not available for this type of license.
The Family License allows users to install the program on multiple computers (up to 5) used by them and/or members of their family.
To use the program in a corporate, government or business environment, you should use a Business License.

 
반응형
Posted by [PineTree]