본문 바로가기

Server Oriented/DB-Oracle

(38)
ora-00997, long data 유형은 사용할 수 없다..? long raw 작업시 to_lob 고려 2개의 테이블이 동일하게 생겼는데 insert ~ select 문을 사용하니까, ora-00997 오류 발생.확인해 보니 Long Data 유형을 사용할 수 없다고 하는데..칼럼에 Long raw 가 하나 들어가다 보니 발생. 네이버에 검색해 보니 Procedure 문에서 커서를 사용하면 된다는데..이리저리 해 보아도 안 되네요. 그리고 쿼리문으로는 안 되는 것인가..? 옆에 있는 동료에게 문의해 보니 to_lob 함수를 사용해 보라는데..헐, 그냥 되네요.. ~. 아래 쿼리문에서 문제의 long raw 칼럼이 columnB 라고 하면,insert into tableA(columnA, columnB, ...)select columnA, to_lob(columnB), ... from tableB a whe..
오라클 all_resource 에서 특정 문자열 포함한 내용 찾기 http://blog.naver.com/kalbin_2?Redirect=Log&logNo=140125815940 시스템 계정으로 로그인 한 다음 아래 쿼리를 실행.select * from all_source where text like '%검색어%';
사용자가 입력한 일자가 정상적인지 체크 select wedding_anniversary from tableA where not exists (select 1 from (select to_char(to_date('18700101','yyyymmdd') + rownum ,'yyyymmdd') date1 from dual connect by level
11g 부터는 utl_http 에 대한 접근권한을 설정해야 작동합니다 10g 까지는 utl_http 를 사용해서, 웹서비스 URL 을 DB 프로시저에 호출하도록 하고, DB Job 에 스케줄로 DB 프로시저를 실행하는데 문제가 없죠.그런데, 11g 부터는 권한 설정을 별도로 해 주어야 상기 프로세스가 가능합니다. 10g 에선 잘 작동하다가 아래 에러 메시지가 나온다면, 이곳에 기술된 내용을 처리해야 합니다.ORA-24247: network access denied by access control list (ACL) DB sys 계정으로 작업해야 한다고 하는데, system 계정도 되지 않나 싶긴 합니다만.. 참고 웹페이지. http://blog.naver.com/jinh2004?Redirect=Log&logNo=80139511224UTL_HTTP 활용 안내. http://..
Oracle 에서 소수점 수치 관련 애매했던 점 varchar2 로 세팅된 칼럼 colA 에 -0.2 를 update 하고 select 해 보니, -.2 라고 나와요.이걸 화면에 그대로 표시할 수는 없으니까 -0.2 라고 해야 하는데..java 에서 불러온 다음 -. 또는 . 로 시작하는 내용을 -0. 또는 0. 으로 하려고 하니까.. 또 문제네요..물론, 어떻게 어떻게 하면 풀 수가 있겠지만.. 쿼리에서 제대로 만들어 보자구요. 이때는 select to_number(colA,'999.9') 이런식으로 해 보세요.이렇게 하면 varchar2 에는 -.2 또는 .2 라고 들어가 있던 값이,다시 -0.2 와 0.2 가 되어서 표시됩니다. ^^. 하지만, 2 인 경우 소수점이 없지요..?이것도 소수점이 있게 하려면.. 이건 찾아 보세요. ㅋ
오라클 11g, 정렬이 중요하다면 인덱스를 타도록 힌트를 주더라도 order by 명시 오라클 9i 에서 인덱스를 타도록 힌트를 주었고 order by 문장 없이 잘 돌아가던 쿼리가,오라클 11g 에서 정상적으로 나오지 않아서 order by 문장 없이 다시 힌트를 고쳤는데..통계를 갱신했더니 다시 순서가 틀어지네요..결국, 오라클 11g 에서는 옵티마이저가 플랜을 세우는데 혼동이 생기지 않도록 order by 를 주는 것이 정석인 모냥이네요..
MySql 클라이언트, SqlYog 다운로드 http://code.google.com/p/sqlyog/downloads/list
truncate table TableA 와 insert into TableA(...) select ... 보다는 drop table TableA 와 create table TableA as select ... 가 훨씬 빠라다는.. truncate table TableA ; insert into TableA (col1, col2, ...) select col1, col2, ... ; 상기 조합 보다는 아래 조합이 더 빠르다고 하네요.. drop table TableA ; create table TableA as select col1, col2, ... ;