오랜만에 오라클 12c 사용자 계정을 만들려고 하니깐 모든게 다 막힌다. ㅎㅎ sqlplus로 접속해서 conn "/as sysdba"를 만든후 create user test identified by test123; 라고 치니깐.. 아래와 같은 메시지를 만나게 되었다. ORA-65096: 공통 사용자 또는 롤 이름이 부적합니다. 또는 ORA-65096: invalid common user or role name in oracle. 오라클 12C로 넘어가면서 오라클 사용자 명칭이 보안때문에 변경이 되었다. 예를 들어서 사용자를 생성시 C##을 붙여야 한다. create user c##username identified by password; 그게 싫으면 아래와같은 스크립트를 먼저 치고 해야 한다. ALTE..
유지보수 하다가.. ORA-01652 : unable to extend temp segment by 128 in temp space 오류 메시지가 발견되었다. 답이 없다..ㅜ.ㅜ 해당 오류는 시간을 두면 전체 솔류션에 영향을 시키기 때문에 빨리 해결해야 했다. 우선 사용자에게 테이블 스페이스 용량을 확인 했다. [쿼리] SELECT A.tablespace_name, Round(A.bytes_alloc / 1024 / 1024, 2) CURRENT_SIZE, Round(Nvl(B.bytes_free, 0) / 1024 / 1024, 2) FREE_SIZE, Round(( A.bytes_alloc - Nvl(B.bytes_free, 0) ) / 1024 / 1024, 2) USED_SIZE, Round(( ..
별거 아니여도 막상 안보고 쿼리를 칠려고 하면....어렵다. --오라클 unixtime 일반시간으로 표현 select to_char(to_date('19700101090000', 'YYYYMMDDHH24MISS') +( unixtimeColumn /86400),'MM/DD HH24:MI:SS') from dual --오라클 unixtime 오늘 날짜 구하기 select round((sysdate - TO_DATE('19700101', 'YYYYMMDD')) * 86400 - 32400)-300 from dual --오라클 unixtime 비교 unixtime 컬럼을 to_char로 해서 변환해서 비교하면 안될까? to_char(to_date('19700101090000', 'YYYYMMDDHH24MISS..
고객사에 가서 프로시져 및 함수를 배포 하는데 아래와 같은 오류(ORA-38824)가 발생했다. 내부적으로 개발 서버에서는 이상이 없는데 고객사에서만 나는 오류이다. 구글에서 찾아보면 EDITIONABLE 옵션을 프로시져 및 함수명 앞에 쓰면 된다고 하는데... 잘 안되는 것 같다. ORA-38824: A CREATE OR REPLACE command may not change the EDITIONABLE property of an existing object. Cause: An attempt was made to replace an existing object with a different value for the EDITIONABLE property. Action: Switch the EDITIONA..
개발을 하다보면 벨리데이션 체크때문에 글자의 바이트수가 중요한데.. DB 마다 인식하는 것을 다르다.그래서 오라클에서 어떻게 byte를 인식하는지 찾아보았는데 오라클에서 제공하는 VSIZE() 함수를 사용하면 문자열의 byte 크기수를 확인 할 수 있다.[예시]select vsize('안') as byteSize from dual;참고로 oracle 12c에서는 기본적으로 한글을 3byte로 인식한다.개발 한지 8년이 넘어가는데 아직도 이런 함수도 제대로 모르는 내 자신이 싫다. ㅎㅎㅎ
프로젝트 개발을 한참을 하다보면 DB 설정을 도대체 어디에 했는지 잊어 버릴수가 있습니다.특히 sqlplus로 개발이 아니라 DB 툴로 개발 하다보면 더욱더 그렇습니다. 아니면 누군가에게 인수인계시에 그 사람의 tns file이 어디에 있는지 확인 시에는 더욱더 그렇고요 우연히 PL/SQL Developer에서 tns file 정보를 찾는 방법을 찾았습니다. 아래의 화면에서 help를 클릭 하면 팝업이 뜨는데 거기에서 i를 클릭하면 아래와 같이 내용을 확인 할 수 있습니다.PL/SQL Developer 버전정보나 어디에서 실행 파일이 있는지 (Parameters)설정 위치나(Preference Files) oracle Aliases나 오라클 Homes 위치 TNS File 파일 위치언어셋 등을 확인 할 ..
고객사에가서 소스 배포를 할때 가장 어려운일은 DB관련 작업입니다. 제가 생각하기에는 대부분의 개발자 분들이 오라클로 개발을 할때는 sqlDeveloper나 toad 등 툴을 이용해서 개발을 하는데 실제로 고객사에 가서 작업을 하게 되면 SQLPLUS로 작업을 하게 됩니다. 그럴때는 정말로 여러가지 면에서 어렵습니다. 예를들어서 프로시져를 실행시킬때나 실행계획을 볼때나 그중 저에게 가장 어려운일은 한글입력이 되지 않을때가 가장 힘들었습니다. 해결 방법을 찾아보면 여러가지 내용이 있겠지만 가장 시도할만한 사항은 리눅스 서버일경우 오라클 계정의 .bash_profile를 수정하는 것입니다. 제가 만난 오류는 ora-01756 : quoted string not property teminated의 오류 메시지..
쿼리를 작성을 할때 보면 쿼리안에서 여러가지 이유로 select문에서 함수를 사용할 때가 많습니다.예를 들어서 select emp_no, get_emp_info(emp_no) as emp_info from emp_tab 처럼요.이때 get_emp_info가 어떤 함수일지는 모르지만 이런식으로 사용하게 되면 데이터가 많을 수록 쿼리의 속도가 많이 느려집니다.그렇다고 해서 함수를 사용하지 않고 inner join, left outer join를 하는 것도 추후 유지보수 시 힘들게 되고요.만약 사용하고 있는 오라클 DB 버젼이 10g 이상이라면 쿼리를 스카라 서브쿼리를 사용하는 것을 권유합니다.* 스칼라 서브쿼리이란 : SELECT문에 있는 서브쿼리[이전]select emp_no, get_emp_info(em..
프로젝트를 하다보니 이것저것 오류를 많이 만나게 됩니다.select query를 짜다가 보니깐 in으로 받게 되었는데 이때 받아오는 개수가 1000개가 넘어가니깐 아래와 같은 오류를 만나게 되었습니다.ORA-01795: maximum number of expressions in a list is 1000 인터넷에서 찾아보니깐 여러가지 방법이 있겠지만 가장 손수운 방법으로 찾은 것은 Multiple-Column Subquery으로 쿼리를 짜는 것이였습니다.* Multiple-Column Subquery : 결과 값이 두 개 이상의 컬럼을 반환하는 Subquery예를 들면 아래와 같이 짜면 됩니다.select t.id from tablename t where (t.name, 1) in ( (? ,1), (?..
- Total
- Today
- Yesterday
- 담양 죽녹원
- 맛집
- 정동지
- 이클립스
- 토드
- java api
- PPTX
- 테라로사
- ora-01940
- 인천여행
- 가평여행
- 인스타그램
- 덤프
- 제주도여행
- 인천
- 오라클
- 파주여행
- oracle
- 가평팬션
- 보성녹차밭
- 대관령양떼목장
- 부천역
- jdk
- 밀리세컨드
- 임자도
- 산외한우마을
- pdf ms워드 변환
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |