SMALL

프로시저?

프로시저는 PL/SQL로 만들어지며, 자주 사용하는 sql를 프로시저로 만들어두면 필요할때마다 호출해서 사용할 수 있게한다. 예제로 알아보자.

프로시저 생성


프로시저 실행

만들어진 프로시저를 아래와 같이 실행하면된다.

EXEC PLAYER_PROC('3','꼬물이');



LIST
SMALL

오늘 저녁에 회사에서 특정 테이블 지운적이 있는지 전화가 왔음. 알아보니, 누군가가 마스터 테이블을 삭제해서 서비스가 중지 되었다고 한다.


그래서 급하게 회사에서는 플래시백을 이용하여 테이블을 복구하였다.


플래시백(flashback)?

간단히 말하면 데이터 처리를 하고 커밋 시 데이터를 원복 할수있게 해준다.

얼마전까지의 데이터를 복구 해주는지는, 설정마다 다를 것


얼마전의 데이터까지 복구 가능한지 알아보기


SHOW PARAMETER UNDO;



위와 같이 나옴,, undo_retention의 value 값이 원복가능한 시간이다.. 초 단위이므로 위의 db는 900/60 = 15분전까지 되돌릴수 있음.


위의 쿼리 일반 사용자로 실행하면 접근권한 없다고, root 계정으로 접속함.


FLASHBACK TABLE 테이블명 TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);

을 돌리니 데이터가 원복되었다.




LIST
SMALL

계정이 만료되서 위와 같은 오류가 났다..


그래서 계정 비밀번호 기간을 무제한으로 변경해야 한다..



1. SQLPLUS 접속


2. SELECT USERNAME, ACCOUNT_STATUS, EXPIRY_DATE FROM DBA_USERS WHERE USERNAME = '계정명';


3. 2번을 조회해보면 EXPIRED 되어있음.


4. 기본 패스워드는 180일로 설정되어있길래 기본 설정자체를 바꿔야한다.


ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;


5. ALTER USER 계정명 IDENTIFIED BY 비밀번호;



SELECT USERNAME, ACCOUNT_STATUS, EXPIRY_DATE FROM DBA_USERS WHERE USERNAME = '계정명';


다시 조회해보면 만료가 사라져 있고, 계정 접속이 가능해짐..


LIST
SMALL

패스워드 만료되서 sysdba로 들어가서 패스워드 유효기간 변경할려고 했는데 sysdba로 접속시 제목과 같은 오류가 납니다.


해결방안 

1) 오라클 재설치 하면 된다고 한다..


2) 재설치 없이 권한 부여하기


1. 시작 메뉴 -> Administration Assistant for Windows 열기



2. 아래 그림과 같이 추가/제거 클릭



3. 도메인을 설정하고, 사용자 계정을 클릭하고 추가를 누른 뒤 추가하고 저장



그리고 다시 cmd 접속해서 sqlplus / as sysdba 하면 계정 접속이 된다..

LIST
SMALL

실행 쿼리에서 컬럼명 작성부분에서 오류가 났을 때 나타난다.


,를 두번 쓰거나, 컬럼명을 쓰지 않았을 때 주로 발생하는 오류이다.


ex )

update emp set usrid = 'a' , name = '철수', where usrid = 'b';



LIST
SMALL

유지보수 DB를 구축할 때 실 db의 메타데이터만 가지고 구축을 하였습니다.


데이터 펌프(DataPump) 임포트(import) 구문


impdp directory=DATAPUMP dumpfile = 파일명.pdump METADATA_ONLY


LIST
SMALL

과거 시스템 유지보수용 컴퓨터에 DB를 구축 시 데이터 펌프를 이용하여 import시 에러 발생이 일어 났다.


에러 로그를 확인 하기 위해서는


alert%.log 파일을 찾아서 확인을 할 수 있다.

LIST
SMALL

초기 오라클 설치 시 db 생성을 안했을때 아래와 같은 명령어를 사용하면 된다.


sqlplus /nolog

LIST
SMALL

인덱스 탐색과정은 수직적 탐색과 수평적 탐색이 있다.

 

수직적 탐색

 - 인덱스 스캔 시작지점을 찾는 과정

 - 조건을 만족하는 첫번째 레코드를 찾는 것

수평적 탐색

 - 데이터를 찾는 과정

LIST
SMALL

테이블 스페이스 할당량 부여 권한 필요

 

SQLPLUS SYSTEM 계정으로 접속후

alter user 유저명 default tablespace users quota unlimited on 테이블스페이스명;

LIST

'전공 > Oracle' 카테고리의 다른 글

DB 생성 안했을때 SQLPLUS 접속 방법  (0) 2019.12.19
인덱스 탐색 과정  (0) 2019.08.04
테이블스페이스 조회 및 변경  (0) 2019.07.28
계정 생성  (0) 2019.07.28
사용자 정의 함수 조회  (0) 2018.11.09

+ Recent posts