본문 바로가기
반응형

oracle38

[oracle] SE(standard edition)의 AWR - STATSPACK 구성 statspack 구성PERFSTAT 스키마 생성sqlplus로 접속하여 spcreate.sql 스크립트 실행하면 statpack 관련 오브젝트가 생성됩니다.중간에 비밀번호, 테이블스페이스 등 선택하는 단계가 나오니 선택해 주세요SQL> @?/rdbms/admin/spcreate.sqlSession altered.Choose the PERFSTAT user's password-----------------------------------Not specifying a password will result in the installation FAILINGEnter value for perfstat_password: oracleoracleChoose the Default tablespace for the PE.. 2025. 4. 11.
[oracle] 인덱스 생성 시 TEMP 사용량 테스트 요약order by 조회 시 보다 인덱스 실제 생성 시 temp를 더 많이 사용함temp 사이즈는 컬럼 평균 사이즈 * 전체 건 보다 최소 2배 이상 필요index 생성 시 nologging 이 빠르다테스트 대상DB noarchivelog 모드데이터 건수: 56,039,932테이블 사이즈: 6,106 MB유형별 테스트 결과※ 괄호()는 인덱스 컬럼 사이즈 대비컬럼 타입datevarcharvarcharvarchar컬럼 평균 사이즈(byte)8388+3컬럼 평균 사이즈 * 전체 건(MB)448168448616order by 조회 시 temp 사이즈(MB)862(2배)647(3배)862(2배)1080(2배)인덱스 생성 시 temp 사이즈(MB)1510(4배)1292(6배)1510(4배)1725(3배)인덱스 사.. 2025. 4. 3.
[oracle] DB LINK에 있는 SYS_HUB DROP and CREATE 방법 oracle 12.2 이후 부터 DB LINK에 기본적으로 생성되어 있는 SYS_HUB는read only 인스턴스에서 DML을 read write 가능한 인스턴스로 라우팅해주는 용도이다.read only / read write 를 별도 구성하여 사용하지 않는 일반적인 환경에서는 불필요한 기능이며 삭제 하여도 영향도가 없음 공식 문서What Is The Use Of DataBase Link SYS.SYS_HUB And Can It Be Deleted (Doc ID 2413797.1)https://support.oracle.com/epmos/faces/DocContentDisplay?id=2413797.1  How to Drop and Create SYS_HUB (Database Link) ? (Doc ID.. 2025. 3. 26.
[oracle] dbca 진행 중 에러 발생. [DBT-50000] Unable to check for available system memory OS: window server 2022DBMS: 19.21 문제dbca 사용하여 DB 생성 진행 중 DBT-50000 에러 발생  해결방법아래 명령어로 dbca 실행(공백없음 주의)dbca -J-Doracle.assistants.dbca.validate.ConfigurationParams=false 2025. 3. 19.
[oracle] 최대 접속 세션 수 변경 시 processes, sessions 파라미터 테스트 processes, sessions 파라미터에 의해 결정됨sessions 최소값은 (processes * 1.5)+22 으로 작은 값 설정 시 해당 값으로 강제된다sessions 파라미터는 그냥 default로 사용하고 processes 값만 변경하면 됨 sessions 최소값 보다 낮게 설정-- 현재 설정 확인SELECT name, value , ISDEFAULTFROM v$parameterWHERE name IN ('processes','sessions');NAME VALUE ISDEFAULT------------------------------ ---------- ---------processes 200 .. 2025. 3. 19.
[oracle] 테이블 nologging 모드여도 특정 상황에서만 로깅함 (로그마이너) nologging 테이블 생성> CREATE TABLE sk.tab1 (c1 NUMBER) nologging 0 row(s) modified.> SELECT table_name, logging FROM dba_tables WHERE owner = 'SK'TABLE_NAME|LOGGING|----------+-------+TAB1      |NO     |P_TAB2    |       |2 row(s) fetched.-- 아카이브 모드 확인> SELECT * FROM v$instance INSTANCE_NUMBER|INSTANCE_NAME|HOST_NAME|VERSION   |VERSION_LEGACY|VERSION_FULL|STARTUP_TIME       |STATUS|PARALLEL|THREAD#|.. 2024. 10. 18.
[oracle] ASM disk 추가 rebalance 시간 비교 rebalance 시간은 움직이는 데이터량에 비례한다compact 단계는 memory disk 환경에서는 불필요하므로 비활성 현재 사용 중인 데이터 사이즈 및 compact 옵션별 add disk 시 rebalance 시간 테스트 진행 6GB 데이터, 20GB disk 1개씩 추가, compact 포함> select group_number, disk_number, name, mount_status, header_status, state, path, os_mb, total_mb, cold_used_mb, free_mbfrom v$asm_diskWHERE 1=1order by 1,3 GROUP_NUMBER|DISK_NUMBER|NAME |MOUNT_STATUS|HEADER_STATUS|STATE |P.. 2024. 10. 12.
[oracle] 계정 만료(expired) 시 account_status 상태 변경 시점 account_status 상태는 신규 로그인 시 변경된다. 로그인 전까지 직전 상태 유지account_status 상태 변화: OPEN -> EXPIRED(GRACE) -> EXPIRED만료일 이전, OPEN계정 상태 OPEN이고 만료일 이전-- 현재 상태 확인> SELECT username, account_status, expiry_date, profile, last_login, password_change_Date FROM dba_users WHERE ORACLE_MAINTAINED != 'Y'-- 계정 open 상태USERNAME|ACCOUNT_STATUS|EXPIRY_DATE |PROFILE|LAST_LOGIN |PASSWORD_CHANGE_D.. 2024. 9. 26.
[oracle] WITH GRANT OPTION 회수 grant option 만 회수할 수 있는 방법은 없음해당 권한 회수 후 with grant option 없이 동일 권한 재부여해당 옵션을 가지고 있는 상위 유적의 권한을 회수하면 하위 권한도 자동 회수됨role 에는 with grant option 부여 불가 USR1에 SELECT 및 WITH GRANT OPTION 부여> GRANT SELECT ON sk.tab1 TO usr1 WITH GRANT OPTION0 row(s) modified.> SELECT * FROM dba_tab_privsWHERE table_name = 'TAB1'GRANTEE|OWNER|TABLE_NAME|GRANTOR|PRIVILEGE|GRANTABLE|HIERARCHY|COMMON|TYPE |INHERITED|-------+.. 2024. 9. 6.
[oracle] RU 패치 적용/롤백 시 기존 interim 패치 상태는? RU 패치 시 기존 interim 패치가 포함된다면 비활성화되며 신규 RU 패치만 확인됨RU rollback 시 기존 interim 패치 활성화되며 다시 보임 RU 패치 적용현재 버전 확인19.13 버전에 33121934 interim 패치가 적용되어 있습니다[oracle@svr1 36582781]$ opatch lspatches33121934;IAD E23POD LIBRARY CACHE LOCK / LOAD LOCK / MUTEX X DURING CONNECTION STORM33192793;Database Release Update : 19.13.0.0.211019 (33192793)29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)OPatch succeeded. .. 2024. 8. 29.
[oracle] RMAN 백업 스크립트 로컬영역에 RMAN을 이용하여 백업 진행 시 스크립트crontab에 등록하여 매일 full backup 진행 RMAN 백업 스크립트14일 이전 백업파일 삭제database full backuparchive log 백업control file 백업#!/bin/bash. ~/.bash_profileexport BACKDIR="/home/ora19ent/back"if [ ! -d $BACKDIR ]; then mkdir -p $BACKDIRfirman target /  crontab 등록매일 01시 백업 진행rman 로그는 불필요하므로 /dev/null 2>&1 구문을 넣어줍니다[ora19ent@svr ~]$ crontab -l0 1 * * * /home/ora19ent/bck.sh >/dev/null 2>.. 2024. 7. 11.
[oracle] deadlock 테스트 ORA-00060 - deadlock 발생 시 오라클은 마지막 deadlock 발생 명령문만 롤백함(교착상태만 풀림)  트랜잭션이 종료된 것이 아니기 때문에 commit/rollback을 진행해줘야 함- insert, update, delete 모든 상황에서 발생 가능- deadlock 을 예방하기 위해서는 insert, update, delete 대상이 되는 테이블들의 작업순서를 동일하게 해 주는 게 좋음  모듈 1은 tab1 -> tab2로, 모듈 2는 tab2 -> tab1 이런 식으로 하면 deadlock 발생 가능성 있음 테스트 테이블 생성SQL> create table sk.tab1(c1 number, c2 number);Table created.SQL> insert into sk.tab1 values(1 ,.. 2024. 6. 13.
[oracle] TRANSACTION 모드, ISOLATION LEVEL 테스트 SET TRANSACTION READ ONLY ;-- transaction-level 읽기 일관성-- 트랜잭션 시작 시점의 데이터를 보여준다SET TRANSACTION READ WRITE ;-- statement-level 읽기 일관성-- SQL 실행 시점의 데이터를 보여준다SET TRANSACTION ISOLATION LEVEL SERIALIZABLE ;-- 트랜잭션 시작 시점의 읽기 일관성-- 시작 이후 다른 세션에서 변경한 값을 변경하려고 하면 에러 발생 - SYS 유저로 조회 시 READ ONLY 에서도 최신값을 보여주므로 다른 계정으로 테스트- SYS 유저는 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 명령시 에러 발생 SET TRANSACTION READ O.. 2024. 5. 29.
[oracle] COLD BACKUP 이후 발생한 아카이브 로그 적용 방법 DBMS: oracle 19.3 - cold backup에서 recover 적용 시 using backup controlfile 옵션 없으면 아카이브 적용 안됨- 백업 이후 발생한 아카이브 적용하려면 using backup controlfile 옵션 필수 [목차여기] 테스트 준비COLD BACKUP 수행SQL> select count(*) from sk.tab1 ;  COUNT(*)----------     72373SQL> shut immediate Database closed.Database dismounted.ORACLE instance shut down.SQL> exitDisconnected from Oracle Database 19c Enterprise Edition Release 19.0.0... 2024. 5. 19.
[oracle] data pump 작업 시 trigger 주의 DBMS: oracle 19.3 - 테이블 및 트리거 생성된 상태에서 data pump 사용한 import 작업 시 트리거 작동한다 - 작업 전 트리거 비활성 후 작업 진행 등 검토해야함 - TABLE_EXISTS_ACTION 옵션 기본값: SKIP CONTENT=DATA_ONLY 지정 시 기본값: APPEND [목차여기] 테스트 오브젝트 생성 tab1 테이블에 IDU 발생 시 tri_tab1 작동하여 tab1_log 테이블에 데이터 insert SQL> CREATE TABLE SK.TAB1 (C1 number(10)) ; Table created. SQL> CREATE TABLE SK.TAB1_LOG (DT DATE, CMD VARCHAR(10), C1 number(10)) ; Table created.. 2024. 4. 2.
반응형