본문 바로가기

Oracle/오라클 양성반 15기

SYSOPER 철저하게 본인 생각에 의해서 쓰여진 부분입니다. 있다는것을 알지만 한번도 들어가본적없을것같은 SYSOPER 테스트. oracle database 가 최적의 성능을 발휘하기위해서 선택한 것이 OS에 최적화된성능일것이라 생각된다. 그래서 해당 OS에 맞는 설치파일이 개별로 존재를 하고 각 OS별로 튜닝(하드웨어적인 시스템적인)이 다르다. 완전히 독립적이지 못하다 보니 OS와 떨어져서 예기할수도 없다. 아무튼 중요한건 Oracle DataBase 는 OS와 생각보다 많은 연관이 있다. 현업(실제 업무)에서는 DBA가 있고 SE가 있다. DBA 말그대로 DATABASE Administrator 다. DATABASE 의 관리자 DATABASE 안의 데이터까지도 전부 컨트롤을 해야하는 사람. 그리고 SE - Sys.. 더보기
dbca. script, template 이것저것 템플릿 : 플라스틱이나 아크릴로 만든 얇은 판에 여러 가지 크기의 원 또는 타원 등과 같은 기본도형이나 각종 문자기호 등을 그리는 제도용구. 본인이 아는 템플릿의 정의는 붕어빵기계다. 아마도 웹디자인을 했던사람이라면 더욱더 잘 알만한 말같다. 템플릿의 가장큰 특징은 정해진 양식. 또는 정해진 구성을 가지고 약간만의 수정을 통해서 짧은 시간에 많은 결과물을 낼수있다고 하는것이 가장 큰것이 아닐까하고 생각이 된다. 오라클의 DBCA에 template 옵션이 있는데. 사실은 모르겠다. 흔히들 알고있는 템플릿의 용도같아보이며 이것또한 간단한 몇가지 설정을 통해서 바로 또다른 DB를 생성할수있는 용도로 보인다. 우선 db 하나를 dbca를 통해서 생성을 했다. 물론 template 옵션을 활성화하고나서.(여기는 .. 더보기
pl/sql exception Exception PL/SQL을 작성할때 예기치 않은 오류를 발생할경우 처리할수있는 구문 일반 개발언어의 exception , try catch 구문과 흡사하다. PL/SQL내에서 여러가지 복잡한 조건을 처리하다보면 생각하지 못했던 오류들이 발생할수있다. 또한 그런 오류가 발생했을때 사용자가 오류화면만 보고 아무것도 알지 못하는 상황이 발생하게 될수가 있기때문에 PL/SQL내부에서 작성자가 예상할수있는 부분을 예외처리를 통해서 그 예외가 발생했을때 무슨일이 있어도 어떠한 액션을 취하게끔 해주는 역할을 한다. 예를 들면 누군가 인터넷 뱅킹으로 100만원을 입금하고있다. 프로그램 내부에서는 어떤 입금관련 sql이 실행되고있다. (물론 이 sql은 pl/sql로 작성되어있다.) 그런데 예기치 못하게 내부에서 .. 더보기
merge into 프로그램을 개발하면 특정 테이블에 데이터를 넣거나 아니면 수정하거나 할일이 있다. 보통 개발을 하게되면 개발 언어로 해당 데이터가 있는지 없는지 확인(select 실행)을 하고 데이터가 있으면 수정 ( update 실행 ) 데이터가 없으면 삽입 ( insert 실행 ) 이런류의 작업을 주로 한다. 이 작업이 조금 개선이 되면 처음부터 데이터를 수정(update 실행)을 시도 하거나 삽입(insert 실행)을 시도한다. 그리고나서 그결과가 실패면 반대의 작업을 한다. 이런 작업을 프로그램상에서 select 문, update 문 , insert 문을 실행하는것보다. 한번에 해당 요청을 한번에 해서 오라클자체 내에서 처리하는것이 이득일것이라고 본다. 오라클에서는 merge 라는 기능으로 이러한 작업을 SQL문.. 더보기
composite data type , cursor PL/SQL (미리말하지만 ㅡ_ㅡ;; 전 글재주가 없습니다.) /**************************************************************************/ composite data type 기본적인 하나의 데이터 타입 ( 스칼라 데이터 타입 ) 1개이상의 데이터를 묶어서 만든 데이터 타입 ============ Record ============ * Record : 하나이상의 기본 자료형을 모아서 만든 사용자 정의 데이터 타입. (개발언어에서의 클래스 , type, 구조체와 비슷함) A. 기본구문 : Type type_name IS RECORD (column_name1, column_name2,column_name3 ... ); B. 예 : TYPE emp_.. 더보기
for update 다시한번말하지만~~~ 글재주제로입니다. 이세상에 존재하는 모든 데이터베이스는 무결성을 베이스로 해서 데이터베이스가 만들어진다.( 아니면 말고;;; ) 데이터는 한곳에 있는데 그 데이터를 여러사람들이 접근을 해야하고 그로인해서 발생할수있는 문제들로 인해서 LOCK이라는것이 생겼다. 뭐 각설하고 보통 TX,TM 여러가지 락들이 있는데 그중에서 사용자가 원하는 데이터를 락을 걸수는 없을라나? 구조를 보면 누군가 update를 하거나 delete를 하면 lock을 획득하고 다른사람이 그 데이터를 볼때 오라클이면 오라클만의 구조로 무결성을 유지하고, MSSQL이면 mssql에 맞는 구조로 무결성을 유지한다. 헌데 select 한 데이터를 락을 걸어야 할경우도 분명있다. 9i부터 새로 생긴기능인 for update.. 더보기