728x90

oracle 15

오라클 세션 죽이기 + AWS RDS

오라클 세션을 강제 종료시킬경우 SQL> alter system kill session 'SID, 시리얼번호'; 추가로 AWS RDS에서 강제 종료시 begin rdsadmin.rdsadmin_util.kill( sid => 'SID', serial => '시리얼번호'); end; / 출처 : docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.System.html#Appendix.Oracle.CommonDBATasks.KillingSession Oracle DB 인스턴스에 대한 공통 DBA 시스템 작업 - Amazon Relational Database Service 내부적으로, rdsadmin.rdsad..

oracle 2021.03.18

오라클 현재 실행중인 쿼리 체크

select a.sid, a.status, a.process, a.osuser, b.elapsed_time, b.sql_text, c.program from v$session a, v$sqlarea b, v$process c where a.sql_hash_value = b.hash_value and a.sql_address=b.address and a.paddr = c.addr and a.status = 'ACTIVE'; 실행하면 현재 실행중인 쿼리가 목록에 나온다 그 중에 elapsed_time이 긴것은 오랜시간동안 실행중이라는 뜻이다... 디비 부하 체크시에도 도움이 된다. elapsed_time 5초 = 5000000

oracle 2021.03.18

오라클 스케쥴러 권한 관련 ORA-27486

내부에서 프로시저로 스케쥴러에 등록하는 프로그램 이전작업중 ORA-27486 권한이 없습니다 오류가 계속 괴롭힌다. 당연 권한을 부여하면 해결되는 문제인데. 이걸 찾으려니 또 삽질한다. SQL> grant manage scheduler to 계정명 이걸로 해결이 안된다 SQL> grant create any job to 계정명 이걸 더 추가해 주니까 된다. 권한 설정을 모르다보니 생긴 무식함 일단 메모.

oracle 2021.03.17

ORACLE DB LINK for AWS

디비링크 거는 방법이다 AWS라고 특별한건 없지만 개삽질 방지를 위해 같이 올린다 오라클 RDS 디비링크 연결하기 SQL> create database link 디비링크이름 connect to 연결할서버아이디 identified by 비밀번호 using '(DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=연결할서버아이피) (PORT=1521) ) (CONNECT_DATA= (SID=ORCL) ) )'; 마지막으로 보안설정에서 해당 RDS끼리인 경우라도 인바운드 허용을 해줘야 통신이 된다. using 항목에서 괄호하나 빼먹어도 등록은 되지만 TNS오류 뻗는다 ERROR at line 1: ORA-12170: TNS:Connect timeout occurred 아예 using ..

oracle 2021.03.11

ORA-01033 에러 + 아카이브로그 복제서버

일반 계정으로 접속이 안됨 시스템 계정으로 접속해서 # sqlplus / as sysdba SQL> recover database; 복구 하고 SQL> shutdown SQL> startup 정상적으로 복구되서 접속되는지 확인해보자... ------ 아카이브 로그가 원본에서 복제되는 서버인경우 아카이브 로그가 잠시 멈추도록 설정해 준다 - 원본 서버 SQL> alter system set log_archive_dest_state_2=defer; SQL> show parameter log_archive_dest_state_2; 설정 확인해 보고 SQL> alter system switch logfile; 로그파일을 생성시켜서 생성이 되는지 안되는지 본다. 로그생성안되면 복구작업 시작 복구작업 끝나면 다시 ..

oracle 2021.02.25

expdp, impdp 백업 복구

옛날 exp, imp대신 펌프방식으로 백업 및 복구를 하면 속도도 빠르고 빠지는 내용없이 안전하게 백업도 된다. 사용법은 간단하다 데이터 베이스에 디렉토리를 먼저 등록한다 SQL> create directory 디렉토리명 as '실제경로'; 사용자에게 권한을 부여한다. SQL> grant read, write on directory 디렉토리명 to 유저명; 백업방법은 아래와 같다 # expdp 아이디/비번 directory=디렉토리명 dumpfile=저장할파일이름.dmp logfile=로그파일.log full=yes full=yes는 전체 백업이다. schemes로 나누어 백업이 가능하다. 자세한 옵션은 나중에 적을테니 패쓰;; 복구는 백업의 반대 # impdp 아이디/비번 directory=디렉토리명 ..

oracle 2021.02.23

varchar2 컬럼 4000byte 이상 사용하기

MAX_STRING_SIZE = EXTENDED 이옵션으로 디비를 업그레이드 한다. 아래같이 따라한다. SQL> ALTER SESSION SET CONTAINER=CDB$ROOT; SQL> ALTER SYSTEM SET max_string_size=extended SCOPE=SPFILE; shutdown SQL> startup upgrade; SQL> ALTER PLUGGABLE DATABASE ALL OPEN UPGRADE; EXIT; 다시 시도해 보자... 안된다... 다시 살펴보니 spfile로만 빼놓고 init.ora에 설정이 빠져있다 기동시킬때 spfile로 기동을 안시켰으니 init.ora에 설정 집어넣고 다시 해보자 *.max_string_size='EXTENDED' 다시 도전~ SQL> A..

oracle 2021.01.29

tablespace 생성 / 늘리기 (AWS)

SQL> create tablespace 테이블스페이스명 2 datafile '생성될 위치 디렉토리 포함.dbf' size 1000M 3 autoextend on next 100M; 2번째는 크기 3번째는 자동으로 늘어날 공간 크기 SQL > ALTER DATABASE DATAFILE '경로.dbf' resize 5000M; 늘리고 싶은 크기와 경로를 잡아준다 AWS RDS는 생성될 위치가 없다 SQL> create tablespace 테이블스페이스명 datafile size 1G autoextend on next 100M; 권한주기 SQL> alter user 유저명 quota unlimited on 테이블스페이스명; 사용자 생성을 나중에 하고 테이블스페이스 생성후 연결해주는것도 좋다 SQL> CREA..

oracle 2021.01.29

docker로 oracle imp시 오류 수정

다음에 접속됨: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 익스포트 파일은 규정 경로를 거쳐 EXPORT:V12.02.00 에 의해 생성되었습니다 경고: 객체는 다른 사용자 SYSTEM(이)가 엑스포트한 것입니다. UTF8 문자집합과 AL32UTF8 NCHAR 문자 집합에 임포트가 완성되었습니다 AL32UTF8 문자 집합을 사용해서 서버를 임포트합니다 (문자집합 변환이 가능합니다) AL16UTF16 NCHAR 문자 집합를 사용하여 서버를 익스포트합니다. (문자 집합 변환이 가능합니다.) IMP-00030: 쓰기 모드로 import_sys 파일을 만드는데 실패했습니다 IMP-00000: 임포트가 실패로 끝났습니다..

oracle 2021.01.28

oracle docker 기본

1. 도커 가입 http://docker.com 도커사이트에 방문하여 회원가입한다 2. 오라클 도커 찾기 리눅스에서 #docker search oracle 설치도 가능하지만 최신버젼은 지원이 미흡함 도커에서 제공하는 공식 오라클 http://hub.docker.com/_/oracle-database-enterprise-edition 접속후 간단한 인증을 하면 설치 가능 3. 리눅스에서 oracle 도커 설치 #docker login 도커 로그인을 해야 한다 4. 오라클 12c 설치 슬림버젼으로 설치 #docker run -it -v /backup:/backup -d -p 11521:1521 --name 이름 -e ORACLE_ALLOW_REMOTE=true store/oracle/database-ente..

oracle 2021.01.28
728x90