반응형

Oracle 36

Oracle : LEFT JOIN 사용 시 구체화된 보기가 작동하지 않음

Oracle : LEFT JOIN 사용 시 구체화된 보기가 작동하지 않음 두 테이블의 왼쪽 조인에서 구체화된 뷰를 만들고 싶습니다.그러나 다음과 같은 오류가 발생합니다. SELECT field1 FROM table_1 a LEFT JOIN table_2 b ON a.field1=b.field2 ORA-12054: 구체화된 보기에 대해 ON COMMIT 새로 고침 특성을 설정할 수 없습니다. 그러나 다음은 작동합니다. SELECT field1 FROM table_1 a, table_2 b WHERE a.field1=b.field2 왜 이런 일이 일어나는지 아는 사람? 도움을 요청합니다.구체화된 보기를 빠르게 새로 고치기에는 두 가지 조건이 충족되지 않습니다.첫 번째는 관련된 모든 테이블의 행 ID 열을 지..

sourcetip 2023.07.02

Oracle에서 JDK 버전을 확인하는 방법은 무엇입니까?

Oracle에서 JDK 버전을 확인하는 방법은 무엇입니까? Oracle DB 내에 Java 클래스가 있는데 최근 해당 Java 클래스의 코드 한 줄이 오류를 발생시키고 있습니다. static BASE64Encoder B64 = new BASE64Encoder(); 오류가 발생했습니다. 자바.java.java예외.InInInitializer오류 이 코드 라인에서. 호스트에 대한 SYS 권한이나 액세스 권한이 없기 때문에 DB 측에서 무엇이 변경되었는지 잘 모르겠습니다. Oracle DB를 실행하는 JDK 버전을 확인하고 싶습니다. Oracle Database 11g Enterprise Edition 릴리스 11.2.0.3.0 - 64비트 운영. 감사해요.SELECT dbms_java.get_ojvm_pro..

sourcetip 2023.07.02

CLOB 상에서의 Substr 성능

CLOB 상에서의 Substr 성능 많은 작업을 수행하는 PL/SQL 절차가 있습니다.SUBSTR아들아VARCHAR2매개 변수길이 제한을 없애고 싶어서 다음으로 바꾸려고 했습니다.CLOB. 작동은 괜찮지만 성능이 저하되기 때문에 몇 가지 테스트를 수행했습니다(2005년의 테스트를 기반으로 함). 업데이트: Oracle 버전과 하드웨어가 서로 다른 여러 인스턴스에서 이를 재현할 수 있습니다.dbms_lob.substr항상 보다 눈에 띄게 느립니다.substr(CLOB)그리고 훨씬 더 느립니다.SUBSTR(VARCHAR2). Bob의 결과와 위 링크의 테스트는 다른 이야기를 합니다. 누가 이것을 설명하거나 적어도 밥이나 제 결과를 재현할 수 있습니까?감사합니다! 테스트 결과: +0000000000:00:00..

sourcetip 2023.06.27

SQL: 결과 행을 여러 번 반복하고 행 번호를 지정합니다.

SQL: 결과 행을 여러 번 반복하고 행 번호를 지정합니다. 다음과 같은 결과를 가진 SQL 쿼리가 있습니다. value | count ------+------ foo | 1 bar | 3 baz | 2 이제 각 행이 다음과 같이 되도록 확장합니다.count1보다 큰 값이 여러 번 발생합니다.이 행들에도 번호를 매길 필요가 있습니다.그래서 저는 다음을 얻을 것입니다. value | count | index ------+-------+------ foo | 1 | 1 bar | 3 | 1 bar | 3 | 2 bar | 3 | 3 baz | 2 | 1 baz | 2 | 2 모든 주요 데이터베이스(Oracle, SQL Server, MySQL, Postgre)에서 이 작업을 수행해야 합니다.SQL 및 기타)..

sourcetip 2023.06.17

Oracle에서 모든 테이블 인덱스 사용 안 함 및 나중에 사용 안 함

Oracle에서 모든 테이블 인덱스 사용 안 함 및 나중에 사용 안 함 Oracle에서 지정된 스키마/데이터베이스의 모든 인덱스를 비활성화하고 나중에 활성화하려면 어떻게 해야 합니까? 참고: 이는 sqlldr을 더 빠르게 실행하기 위한 것입니다.다음은 파일 없이 인덱스를 사용할 수 없도록 만드는 것입니다. DECLARE CURSOR usr_idxs IS select * from user_indexes; cur_idx usr_idxs% ROWTYPE; v_sql VARCHAR2(1024); BEGIN OPEN usr_idxs; LOOP FETCH usr_idxs INTO cur_idx; EXIT WHEN NOT usr_idxs%FOUND; v_sql:= 'ALTER INDEX ' || cur_idx.ind..

sourcetip 2023.06.12

Oracle에서 버전 4(랜덤) UUID를 생성하는 방법은 무엇입니까?

Oracle에서 버전 4(랜덤) UUID를 생성하는 방법은 무엇입니까? 이 블로그는 다음과 같이 설명합니다.sys_guid()모든 시스템에 대해 랜덤하지 않습니다. http://feuerthoughts.blogspot.de/2006/02/watch-out-for-sequential-oracle-guids.html 안타깝게도 저는 그런 시스템을 사용해야 합니다. 임의 UUID를 가져오는 방법은 무엇입니까? 합니까?sys_guid()Oracle에서 안정적으로 랜덤 UUID를 가져오는 방법이 없다면 어떻게 해야 합니까?여기 @Pablo Santa Cruz의 답변과 당신이 게시한 코드를 바탕으로 한 완벽한 예가 있습니다. 저는 당신이 왜 에러 메시지를 받았는지 모르겠습니다.아마도 SQL Developer의 문제..

sourcetip 2023.06.12

Microsoft T-SQL에서 Oracle SQL로 변환

Microsoft T-SQL에서 Oracle SQL로 변환 저는 수년간 T-SQL과 함께 일했지만, 이제 막 Oracle 자료를 작성해야 하는 조직으로 옮겼습니다. 적어도 제 발을 찾을 때까지는 단순한 CRUD 작업이 필요할 것입니다.애플리케이션 개발의 관점에서 기존 Oracle 데이터베이스와 상호 작용하여 데이터베이스를 마이그레이션하지는 않습니다.T-SQL을 Oracle SQL로 쉽게 변환할 수 있는 도구나 유틸리티가 있는지, 키워드 매퍼를 찾고 있습니다. 추신: 저는 RTFM에 너무 게으르고, 게다가 그것은 제 역할에 큰 부분을 차지하지 않을 것이기 때문에 저는 단지 제가 조금 더 빨리 속도를 낼 수 있는 무언가를 원합니다.지금까지 나열된 언어 차이는 논리적 차이에 비해 미미합니다.누구나 NVL을 조..

sourcetip 2023.06.12

Oracle에서 활성/열린 연결을 나열하는 방법

Oracle에서 활성/열린 연결을 나열하는 방법 특정 순간에 활성 연결을 보여주는 숨겨진 테이블, 시스템 변수 또는 무언가가 있습니까?뷰를 사용합니다. V$SESSION에 각 현재 세션의 세션 정보를 나타냅니다. 자세한 답변은http://http://dbaforums.org/oracle/index.php?showtopic=16834 를 참조해 주세요. select substr(a.spid,1,9) pid, substr(b.sid,1,5) sid, substr(b.serial#,1,5) ser#, substr(b.machine,1,6) box, substr(b.username,1,10) username, -- b.server, substr(b.osuser,1,8) os_user, substr(b.progr..

sourcetip 2023.04.03

Oracle의 여러 행에서 열 값을 연결하기 위한 SQL 쿼리

Oracle의 여러 행에서 열 값을 연결하기 위한 SQL 쿼리 여러 행에서 열 값을 연결하기 위해 SQL을 구성할 수 있습니까? 다음은 예를 제시하겠습니다. 표 A PIDabc 표 B PID SEQ 설명 A 1 HaveA 2 a nice3일. B 1 수고하셨습니다. C 1 있음C 2 할 수 있다C 3 doC 4 이 일! SQL 출력은 다음과 같습니다. PID 설명A 좋은 하루 되세요. B 수고하셨습니다. C 네, 우리는 이 일을 할 수 있어요! 즉 기본적으로 출력 테이블의 Desc 열은 표 B의 SEQ 값을 연결한 것입니까? SQL에 대해 도움이 필요하십니까?사용하고 있는 버전에 따라 몇 가지 방법이 있습니다.문자열 집약 기술에 관한 Oracle 문서를 참조해 주십시오.매우 일반적인 방법은 다음과 같습니..

sourcetip 2023.03.19

오라클 데이터베이스에서 무작위로 레코드를 가져오려면 어떻게 해야 합니까?

오라클 데이터베이스에서 무작위로 레코드를 가져오려면 어떻게 해야 합니까? Oracle DB에서 행을 랜덤으로 선택해야 합니다. 예: 100개의 행이 있는 테이블을 가정하면 100개의 행 전체에서 20개의 레코드를 랜덤으로 반환할 수 있습니다. SELECT * FROM ( SELECT * FROM table ORDER BY DBMS_RANDOM.RANDOM) WHERE rownum < 21; SAMPLE()은 정확히 20개의 행을 제공하는 것을 보증하지는 않지만 적절할 수 있습니다(또한 큰 테이블의 풀 쿼리 + 랜덤 정렬보다 훨씬 성능이 향상될 수 있습니다). SELECT * FROM table SAMPLE(20); ★★★★★20필요한 행의 수가 아닌 대략적인 퍼센티지를 나타냅니다.이 경우 100개의 행이..

sourcetip 2023.03.09
반응형