본문 바로가기
반응형

DBMS/ORACLE73

오라클 숫자(number), 날짜(date) 타입 컬럼 byte size 구하기 - oracle 컬럼 타입 중 숫자, 날짜 등의 byte 사이즈를 구하는 방법 - 사이즈를 구하는 length(글자수), lengthb(byte size), vsize(byte size) 함수의 결과 비교 - 숫자나 날짜 컬럼은 vsize 함수를 사용하여 byte 사이즈를 구할 수 있다테스트 테이블 및 데이터 생성CREATE TABLE sk.t1 (c1 varchar(100), c2 NUMBER(10), c3 DATE) ; INSERT INTO sk.t1 values('가나다', 1234, sysdate) ; INSERT INTO sk.t1 values('ABC', 123456, sysdate) ; COMMIT ; SQL> select * from sk.t1 ; C1 C2 C3 ---------- ---.. 2023. 9. 5.
Orange, QueryBox 등 쿼리툴에서 xplan 안될 때 해결법 오렌지나 디비버 같은 쿼리 툴에서 XPLAN 조회 시 다른 결과가 나오며 실행통계 확인이 불가능한 경우 툴에서 출력 건 수 제한에 걸려 발생하는 경우가 많은데 해결법을 설명함 쿼리 툴에서 XPLAN 조회 시 아래와 같이 다른 원했던 결과가 아닌 다른 SQL의 결과가 나오는 경우가 있다 -- SQL 실행 SELECT /*+ gather_plan_statistics */ * FROM sk.tab4 ; -- XPLAN 실행 SELECT * FROM TABLE (DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST -ROWS +OUTLINE +PARTITION +PARALLEL')) ; SQL_ID fnr6th3s0sg5t, child number 0 ------------.. 2023. 8. 31.
리스너에 IP/포트 여러개 등록 리스너에 IP 또는 포트 여러개 등록 - listener.ora 파일에 아래와 같이 여러개 등록 해준다 - 리스너 재기동 필요 - local_listener 사용 등록 시에도 listener.ora 파일에 IP와 포트는 등록되어 있어야 한다 listener.ora 파일 수정 [ora19ent@svr ~]$ cat /ora19ent/product/network/admin/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.105)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.108)(PORT = 1522)) (.. 2023. 7. 26.
WITH 이용한 TEMP TABLE 사용 테스트 DBMS : oracle 19.3 - WITH 이용한 TEMP TABLE 사용 테스트 - "_in_memory_cdt" 파라미터로 /*+ materialize */ 힌트 사용하여도 물리적으로 테이블 생성하지 않는 경우 있다 - ALTER SESSION SET "_in_memory_cdt" = OFF ; 명령으로 제어 가능(ON/OFF) - xplan 에서 reads 가 buffers 가 많은 것은 temp table i/o는 direct path i/o 여서 SGA 를 경유하지 않음(즉 buffers + reads 가 총 i/o) with 문으로 temp table 만들기 WITH T1 AS (SELECT /*+ MATERIALIZE */ * FROM SK.TAB1 ) SELECT (SELECT COUN.. 2023. 7. 21.
table move online 테스트 table online move 진행 시 작동 순서를 확인하기 위한 테스트 - tab1 테이블 ts01 -> ts02 로 move online - move 작업 중 다른세션에서 1초 마다 10건씩 insert - TEMPORARY 테이블은 기존(tab1) 테이블 이동하는 것이고 SYS_ 테이블은 변경분 저장용도 #################################### Sun Nov 22 16:21:07 KST 2020 OWNER SEGMENT_NAME TABLESPACE_NAME SEGMENT_TYPE BLOCKSBYTES ------------------------------ ------------------------------ ------------------------------ ----.. 2023. 7. 6.
테이블 nologging / append insert 복구 불가(ORA-26040) DBMS : oracle 19.3 - RMAN 백업 -> nologging 테이블에 append 힌트사용하여 데이터 적재 -> 백업데이터 restore / recover 작업 후 해당 테이블 조회에러 발생(ORA-26040)- nologging append 상태의 데이터는 복구불가지만  해당 테이블 정상화 시키는 방법 테이블 생성SQL> CREATE TABLE tab1 tablespace ts01 AS SELECT * FROM dba_objects ;Table created.SQL> SELECT count(*) FROM tab1 ; COUNT(*)---------- 73067SQL> ALTER TABLE tab1 nologging ;Table altered.SQL> SELECT table_nam.. 2023. 7. 5.
ASM, spfile 환경 control file 다중화 ASM, spfile 환경에서 control file 다중화 1. shutdown 2. nomount 후 현재 컨트롤파일 restore(RMAN) 3. spfile 파라미터 수정 4. shutdown 후 startup -- 현재설정 확인 SQL> show parameter control NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string +FRA/db1/controlfile/backup.256.779279155 1. shutdown SQL> shut immediate Databa.. 2023. 7. 1.
DBCA delete database 작업 시 목록 안보이는 경우 DBCA 사용하여 delete database 작업 시 해당 DB가 목록에 안보이는 경우 /etc/oratab 파일 수정 dbca 실행 [root@svr2 ~]# dbca -- ora19c DB가 목록에 없다 ora19c DB 확인 -- ora19c 정상 동작 중이다 [oracle@svr2 ~]$ ps -ef | grep smon grid 4262 1 0 17:30 ? 00:00:00 asm_smon_+ASM2 oracle 4480 1 0 17:31 ? 00:00:00 ora_smon_racdb2 oracle 7025 1 0 17:42 ? 00:00:00 ora_smon_ora19c oracle 15691 15640 0 18:26 pts/0 00:00:00 grep --color=auto smon [or.. 2023. 6. 22.
RAC VIP 변경 OS : oracle linux 7.5 DBMS : oracle 19.3 RAC 환경에서 svr2-vip 를 192.168.56.65 -> 192.168.56.67 로 변경 [목차여기] 순서 1. 변경대상 노드 vip 서비스 중지 2. 모든노드 /etc/hosts 파일 변경 3. 변경대상 노드 vip 서비스 시작 0. 작업 전 현황 -- RAC 네트워크 확인 [root@svr1 ~]# oifcfg getif enp0s3 192.168.56.0 global public enp0s8 192.168.57.0 global cluster_interconnect,asm -- hosts 파일 확인 IP 정보 [root@svr1 ~]# cat /etc/hosts ##Public 192.168.56.61 svr1 192.. 2023. 6. 20.
RAC 환경 VIP Failover 테스트 OS : oracle linux 7.5 DBMS : oracle 19.3 RAC 환경 vip failover 테스트 - node#1 에서 작업 진행 시 vip 가 node#2 로 넘어가는 상황 테스트 1. 인스턴스 shutdown 2. 리스너 stop 3. crs stop 요약 : crs stop 상황에서만 vip 가 다른 노드로 넘어간다 0. 테스트 전 현황 [root@svr1 ~]# ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_.. 2023. 6. 19.
RAC 노드 추가(OUI) OS : oracle linux 7.5 DBMS : oracle 19.3 RAC 2노드(svr1, svr2) 환경에서 svr3 노드 추가 1. 작업 전 설정(svr3) -- hosts 파일, 계정, 디렉토리 등 [root@svr1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ##Public 192.168.56.61 svr1 192.168.56.62 svr2 192.168.56.66 svr3 ##Private 192.168.57.61 svr1-priv #1.. 2023. 6. 18.
RAC 노드 제거(GUI) 시나리오 : 3개 노드(svr1, svr2, svr3) 중 svr3 노드 제거 버전 : 19c 1. 작업 전 확인 [root@svr1 ~]# olsnodes -s -t svr1 Active Unpinned svr2 Active Unpinned svr3 Active Unpinned [root@svr1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local .. 2023. 6. 10.
LMS(License Management Services) 체크 스크립트 - ORACLE 옵션 사용내역 체크 스크립트해당 스크립트를 사용하여 유료 옵션을 사용 중 또는 사용한 적이 있는지 확인 가능 스크립트 내용------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Name : options_packs_usage_statistics.sql------- MOS DOC ID 1317265.1-------------- Applies to: Oracle Databas.. 2023. 6. 1.
PMO_DEFERRED_GIDX_MAINT_JOB - 12c 이후 부터 파티션 테이블 작업 시 update indexes 구문을 통한 글로벌 인덱스 online 작업 가능 - PMO_DEFERRED_GIDX_MAINT_JOB 에 의해서 매일 02:00에 실제 인덱스 갱신 작업이 발생하고 그전까진 SYS.INDEX_ORPHANED_ENTRY_V$ SYS.INDEX_ORPHANED_ENTRY$ 등에 저장된 정보를 사용하는 것으로 보인다. SQL> create table psk.table1 (col1 varchar2(20)) partition by list (col1) (partition dgomez_table1_p1 VALUES ('guatemala'), partition dgomez_table1_p2 VALUES ('brasil'), partition d.. 2023. 6. 1.
NCHAR(national character set) 테스트 - NCHAR는 byte가 아닌 글자 수 단위 nvarchar2(100)은 100글자 - AL32UTF8은 AL16UTF16의 Super Set 이므로 AL32UTF8 DB에서는 사용할 필요 없음 - 영문, 숫자 모두 2byte로 저장되기때문에 공간낭비가 있을 수 있음 SQL> SELECT PARAMETER, VALUE FROM NLS_DATABASE_PARAMETERS where parameter IN ( 'NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET' ) ; PARAMETER VALUE ------------------------------ ------------------------------ NLS_NCHAR_CHARACTERSET AL16UTF16 NLS_CHAR.. 2022. 10. 7.
반응형