반응형

Oracle 70

Oracle에서 MySQL로 마이그레이션

Oracle에서 MySQL로 마이그레이션 Oracle 데이터베이스에 심각한 성능 문제가 발생했습니다. MySQL 기반 데이터베이스(MySQL 직접 또는 Infobright)로 마이그레이션하려고 합니다. 중요한 것은 새 데이터베이스의 모든 기능이 필요에 부합하는지 실제로 알기 전에 몇 달은 아니더라도 최소한 몇 주는 이전 시스템과 새 시스템이 겹치게 해야 한다는 것입니다. 다음은 우리의 상황입니다. Oracle 데이터베이스는 수백만 개의 행이 있는 여러 테이블로 구성됩니다.하루 동안에는 말 그대로 수천 개의 성명서가 있지만, 마이그레이션을 위해 멈출 수는 없습니다. 매일 아침 새 데이터를 오라클 데이터베이스로 가져와 수천 개의 행을 대체합니다.이 프로세스를 복사하는 것은 문제가 되지 않으므로 이론적으로 두..

programing 2023.07.07

날짜를 10분 간격으로 반올림

날짜를 10분 간격으로 반올림 나는 있습니다DATE쿼리에서 다음으로 낮은 10분 간격으로 반올림할 열(아래 예 참조). 저는 몇 초를 잘라내고 마지막 몇 분을 빼면서 그것을 할 수 있었습니다. WITH test_data AS ( SELECT TO_DATE('2010-01-01 10:00:00', 'YYYY-MM-DD HH24:MI:SS') d FROM dual UNION SELECT TO_DATE('2010-01-01 10:05:00', 'YYYY-MM-DD HH24:MI:SS') d FROM dual UNION SELECT TO_DATE('2010-01-01 10:09:59', 'YYYY-MM-DD HH24:MI:SS') d FROM dual UNION SELECT TO_DATE('2010-01-01 ..

programing 2023.07.07

Oracle에서 선택한 행에서 행 번호를 가져오는 방법

Oracle에서 선택한 행에서 행 번호를 가져오는 방법 데이터베이스에서 몇 개의 행을 선택하는 중입니다. 예: select * from student where name is like %ram% 결과: ID Name email Branch 7 rama rama@gmail.com B1 5 ramb ramb@gmail.com B2 3 ramc ramc@gmail.com B3 8 ramd ramd@gmail.com B4 11 rame rame@gmail.com B5 12 ramf ramf@gmail.com B6 14 ramg ramg@gmail.com B7 어느 지점이 B5인지 행 번호를 알아야 합니다.예상 값은 "5"입니다. 누가 이것을 어떻게 구현할 것인지 쿼리에서 제안해 주시겠습니까?테이블에는 고유한 순..

programing 2023.07.07

Oracle PL/SQL 문자열 비교 문제

Oracle PL/SQL 문자열 비교 문제 다음과 같은 Oracle PL/SQL 코드가 있습니다. 여러분의 관점에서 볼 때 녹슬 수 있습니다. DECLARE str1 varchar2(4000); str2 varchar2(4000); BEGIN str1:=''; str2:='sdd'; IF(str1str2) THEN dbms_output.put_line('The two strings is not equal'); END IF; END; / 이것은 str1과 str2 두 문자열이 동일하지 않다는 것이 매우 명백한데, 왜 '두 문자열이 동일하지 않음'이 출력되지 않았습니까?오라클에서 두 문자열을 비교하는 다른 일반적인 방법이 있습니까?Phil이 지적했듯이 빈 문자열은 NULL로 처리되며 NULL은 어떤 문자열과..

programing 2023.07.07

조건을 기준으로 한 열 개수

조건을 기준으로 한 열 개수 아래와 같이 오라클 쿼리를 생성했습니다. 쿼리는 정상적으로 작동하지만 문제는 카테고리가 A이고 ID가 1인 이름 개수 열을 하나 더 원한다는 것입니다. SELECT name, velocity, COUNT(*) AS count, category FROM section GROUP BY name, velocity 이것에 대한 해결책을 알려주실 수 있나요?SELECT name, velocity, COUNT(*) AS count, COUNT(CASE WHEN category = 'A' AND id = 1 THEN 1 END) FROM section GROUP BY name, velocity 이게 통할 겁니다. 레코드가 조건을 충족하지 못하면 NULL을 반환하고 카운트는 NULL 필드를..

programing 2023.07.02

Oracle SQL 쿼리에서 선행 0을 추가하는 방법은 무엇입니까?

Oracle SQL 쿼리에서 선행 0을 추가하는 방법은 무엇입니까? COUNT() 함수를 사용하여 쿼리에서 removal_count라는 열을 검색하고 있습니다.결과적으로 removal_count의 데이터 유형은 BIGDECIMAL입니다.저는 숫자를 다섯 자리로 바꾸고 싶습니다.따라서 값이 5자리 미만이면 선행 0으로 표시해야 합니다. 예1) 제거 횟수가 540인 경우 00540을 표시합니다. 제거 카운트가 60이면 00060을 표시합니다. 제거 카운트가 정수/문자열 값이면 Java 식을 사용하여 선행 0을 추가할 수 있습니다. --if removal_count is integer-- String.format("%05d",removal_count) --if removal_count is string-- (..

programing 2023.07.02

두 표의 데이터를 하나의 보기로 변환

두 표의 데이터를 하나의 보기로 변환 필드가 동일한 두 테이블의 데이터를 하나의 보기로 가져올 수 있습니까?기본적으로 보기는 데이터를 하나의 테이블처럼 봅니다.네, 연합을 사용합니다. CREATE VIEW vw_combined AS SELECT * FROM TABLE1 UNION ALL SELECT * FROM TABLE2 ...열 수가 같고 각 위치에서 데이터 유형이 일치해야 합니다. ..JOIN을 사용하는 것이 좋습니다. CREATE VIEW vw_combined AS SELECT * FROM TABLE1 t1 JOIN TABLE2 t2 ON t2.col = t1.col 그러나 뷰에 따라 경고하고 싶습니다. 구체화되지 않았다면 SQL 문만 준비되었을 뿐입니다.성능상의 이점은 없으며 다른 뷰를 기반으로..

programing 2023.07.02

드라이버 관리자 getConnection에 대한 연결 시간 초과

드라이버 관리자 getConnection에 대한 연결 시간 초과 표준 JDBC 방식을 사용하여 DB에 연결하려고 합니다. connection = DriverManager.getConnection(url, username, password); 연결에 시간 초과 최대값이 있는지, 연결이 얼마나 오래 유지되는지, 값을 늘릴 수 있는지 등입니다.저는 연결이 영원히 열리길 원하는데, 좋은 생각인가요?다음과 같이 드라이버 관리자의 시간 초과를 설정할 수 있습니다. DriverManager.setLoginTimeout(10); Connection c = DriverManager.getConnection(url, username, password); 이는 연결이 지정된 시간 내에 열리지 않으면 시간 초과됨을 의미합니다..

programing 2023.06.27

sqlplus 현재 연결된 데이터베이스 세션의 세부 정보를 찾는 방법

sqlplus 현재 연결된 데이터베이스 세션의 세부 정보를 찾는 방법 저는 아주 최근에 오라클 데이터베이스 작업을 시작했습니다.일반적으로 여러 오라클 데이터베이스에 대해 열려 있는 sqlplus 창이 많습니다.한 sqlplus 세션에서 다른 sqlplus 세션으로 전환할 때 각 sqlplus 세션에 대한 현재 세션 세부 정보를 보려면 어떻게 해야 합니까?어떤 도움이든 대단히 감사합니다!show user 연결된 사용자를 얻기 위해 select instance_name from v$instance sqlplus에서 인스턴스를 가져오거나 설정합니다. set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> " 저는 이것이 오래된 질문이라는 것을 알지만 위의 모든 답변을 시도했지만 저의 경..

programing 2023.06.27

Oracle에서 잠긴 행을 찾는 방법

Oracle에서 잠긴 행을 찾는 방법 Oracle 데이터베이스가 있으며 고객 계정 테이블에는 약 백만 개의 행이 있습니다.몇 년 동안 NAT은 4개의 서로 다른 UI(Oracle Forms에 2개, 에 2개)를 구축했습니다.Net), 모두 사용 중입니다.또한 여러 가지 백그라운드 작업(지속적 작업 및 예약된 작업)이 있습니다. 계정 테이블의 행에 있는 긴 잠금(예: 30초 이상)이 걸려 지속적인 백그라운드 작업 중 하나가 실패하는 경우가 있습니다.업데이트 시간이 초과되면 문제의 백그라운드 작업이 자동으로 다시 시작됩니다.우리는 그 일이 일어난 후 몇 분 후에 그것에 대해 알게 되지만, 그 때쯤이면 자물쇠가 풀렸습니다. 우리는 그것이 잘못된 UI일 수 있다고 믿는 이유가 있지만, "스모킹 건"을 찾을 수 ..

programing 2023.06.22
반응형