안녕하세요, 우리노트 Benjamin입니다. 오라클 startup중에 다음과 같은 에러가 발생하였습니다. ORA-24324: service handle not initialized ORA-01041: internal error. hostdef extension doesn't exist 내용을 찾아보니 기존의 데이터베이스가 정상적이지 않은 방법으로 shutdown 되거나 중단되면 발생하는 에러인 것 같습니다. 재접속하여서 startup 시키면 거의 대부분 해결됩니다.
안녕하세요, 우리노트 Benjamin입니다. IT공부를 하다보면 Null에 대해 알아야 할 일이 생깁니다. 특히 DB에서는 더욱 중요한것 같습니다.간단한것 같으면서도 잘 이해하기 힘든게 바로 Null인데요. 오늘 한번 제대로 파헤쳐 보겠습니다. ■ 초기값을 지정하지 않은 테이블을 빈 상태로 놔두면 널값이 입력되어지게 됩니다. 그럼 널값은 무엇일까요? → 쉽게 정답을 말하자면 모르는 값입니다. 그렇다면 특정값과 NULL값을 비교하거나 연산하면 어떻게 될까요? → 10 > NULL => 크다? 적다? 정답은 모른다 입니다. 즉 NULL값이 출력됩니다. → 10 + NULL => 역시 NULL이 출력됩니다. 모든 수 * 0 = 0 또는 0 / 모든수 = 0 이라는 절대적인 규칙에 널은 어떻게 적용 될까요? →..
안녕하세요, 우리노트 Benjamin입니다. 데이터 베이스 생성중 데이터베이스가 갑자기 죽어서 alert log를 확인해보니 다음과 같은 에러가 발생되었습니다. -- ORA-00704: bootstrap process failure -- ORA-39700: database must be opened with UPGRADE option 수동DB생성후 스크립트를 돌리는 과정에서 에러가 있었던 것 같습니다. upgrade모드로 데이터베이스를 열어서 다시 스크립트를 실행하여 주었더니 해결되었습니다. OS] export ORACLE_SID=[DB Name] OS] sqlplus /as sysdba SQL> startup upgrade; SQL> select instance_name, status v$instanc..
안녕하세요, 우리노트 Benjamin입니다. 오라클 데이터베이스에 데이터가 저장되는 내부 처리 방식에 대해 알아보겠습니다. 크게 두가지로 DMT와 LMT를 비교해봐야 할 것이며, ASSM과 MSSM을 비교해보아야 할 것입니다. - DMT : Data Dictionary 에서 공간할당을 총괄하기 때문에 경합이 생기기 쉽습니다.- LMT : Extent 마다 1비트를 할당하여 0,1로 공간이 비어있는지를 표시하여 저장 속도가 빠르지만 공간낭비가 생깁니다. # 오라클은 LMT 사용을 권장합니다. 기존에 DMT로 생성된 테이블 관리를 위해 DMT 명령이 남아있을 뿐 입니다. - MSSM : Segment Header 에서 프리리스트로 여유공간을 갖는 방식입니다- ASSM : Segment Header 가 각 e..
(1) 수치 함수 SQL> select abs(-15) from dual; --> 절대값을 반환한다. SQL> select ceil(15,7) from dual; --> 천정값을 반환한다. SQL> select mod(11,4) from dual; --> 나머지값을 반환한다. SQL> select power(2,3) from dual; --> 제곱승을 반환한다. SQL> select round(3.2111, 2) from dual; --> 소숫점 2번째 자리까지 반올림하여 반환한다. SQL> select sqrt(9) from dual; --> 제곱근을 반환한다. SQL> select trunc(15.12, 1) from dual; --> 소수점 1번째 자리에서 버림한다. 두번째 변수를 음수로 넣어주면 ..
안녕하세요, 우리노트 Benjamin입니다. 오라클을 사용하다보면 정말 개발자를 찬양하게 만드는 경우들이 종종 있습니다. 그 예를 하나 살펴 보겠습니다. # 아래 쿼리의 결과 두가지는 동일한 결과를 리턴합니다. 당신이라면 어떤 쿼리를 선택하겠습니까? SQL> select * from emp where sal >= 1000 and sal select * from emp where sal between 1000 and 1500 set autot on 으로 하고 실행 계획을 확인해보면 두쿼리 모두 sal >= 1000 and sal