찾다
데이터 베이스OracleOracle에 삽입하면 테이블이 잠길까요?

Oracle의 Insert는 테이블을 잠급니다. Oracle이 insert와 같은 DML 문을 실행할 때 두 개의 insert 문이 동시에 테이블에 대해 작업을 시도하면 세션이 종료됩니다. 다른 세션이 커밋되거나 롤백되어 교착 상태가 발생합니다.

Oracle에 삽입하면 테이블이 잠길까요?

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

Insert in oracle lock the table?

Oracle lock the table

ORACLE이 insert 등의 DML 문을 실행할 때 먼저 자동으로 해당 테이블에 TM 잠금을 적용합니다. TM 잠금을 획득한 후 자동으로 TX 유형 잠금을 신청합니다. 두 개 이상의 세션이 테이블의 동일한 레코드에 대해 DML 언어를 실행하는 경우 첫 번째 세션은 해당 레코드를 잠그고, 다른 세션은 첫 번째 세션이 커밋된 후 TX 잠금이 해제될 때까지 대기 상태가 되며, 나머지 세션만 잠글 수 있습니다.

두 개의 insert 문이 동일한 PK 또는 고유 값을 가진 데이터를 동시에 테이블에 삽입하려고 시도하여 세션이 차단되고 다른 세션이 커밋 또는 롤백되기를 기다리므로 교착 상태가 발생하기 때문입니다.

이 경우 세션 중 하나가 제출되면 다른 하나는 ORA-00001을 보고합니다. 고유 제약 조건이 위반되어 교착 상태가 종료되거나 세션 중 하나가 롤백되고 다른 하나는 정상적으로 실행될 수 있습니다. .

오라클에서 테이블을 잠그는 이유는 프로그램이 테이블에 삽입을 수행하고 아직 커밋되지 않은 경우 다른 프로그램도 동일한 테이블에 삽입을 수행하면 리소스 사용 예외가 발생하기 때문입니다. , 테이블 잠금.

테이블을 잠그는 주요 이유는 다음과 같습니다.

(1) 프로그램 A는 tableA의 삽입을 실행하고 커밋 전에 프로그램 B도 tableA를 삽입합니다. 이때 리소스 사용 중 예외가 발생합니다. . Table

(2) 테이블 잠금은 병렬이 아닌 동시성으로 발생하는 경우가 많습니다(병렬에서는 한 스레드가 데이터베이스를 작동하면 다른 스레드는 데이터베이스, CPU 및 I/O 할당 원칙을 작동할 수 없음)

확률을 줄이는 방법 of table locking :

(1) insert, update, delete 문 실행과 커밋 사이의 시간을 줄입니다. 구체적으로 일괄 실행을 단일 실행으로 변경하여 SQL 자체의 비실행 속도를 최적화합니다

(2) 트랜잭션이 비정상적으로 롤백되는 경우

테이블을 잠그는 이유는 행 데이터가 수정되어 행 데이터를 제출하는 것을 잊었으며 이로 인해 테이블도 잠기게 됩니다.

지식 확장:

결정을 내리기 전에 이유를 확인하는 것이 좋습니다.

1 테이블 잠금 쿼리의 코드 형식은 다음과 같습니다.

select count(*) from v$locked_object;
select * from v$locked_object;

2. 어떤 테이블이 잠겨 있는지 확인하세요.

select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;

3 어떤 세션이 잠겼는지 확인하세요.

select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;

추천 튜토리얼: "Oracle Video Tutorial"

위 내용은 Oracle에 삽입하면 테이블이 잠길까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
오라클은 무엇을 제공합니까? 제품 및 서비스가 설명되었습니다오라클은 무엇을 제공합니까? 제품 및 서비스가 설명되었습니다Apr 16, 2025 am 12:03 AM

OracleOffersAcorMeRensiveSuiteOfProductsandServicesIncludingDatabasEmanagement, CloudComputing, EnterprisesOftware, AndHardWaresolutions.1) OracledAtabaseSupportSvariousDatamodelswithiciantmanagementFeatures.2) ORACLECLOUDINFRASTRUCH (OCILECLOUDINFRASTROC) 제공

Oracle Software : 데이터베이스에서 클라우드까지Oracle Software : 데이터베이스에서 클라우드까지Apr 15, 2025 am 12:09 AM

데이터베이스에서 클라우드 컴퓨팅에 이르기까지 Oracle 소프트웨어의 개발 기록에는 다음이 포함됩니다. 1. 1977 년에 시작하여 처음에는 RDBMS (Relational Database Management System)에 중점을 두 었으며 엔터프라이즈 수준의 응용 프로그램의 첫 번째 선택이되었습니다. 2. 미들웨어, 개발 도구 및 ERP 시스템으로 확장하여 완전한 엔터프라이즈 솔루션 세트를 형성합니다. 3. Oracle Database는 SQL을 지원하여 소규모에서 대형 엔터프라이즈 시스템에 적합한 고성능 및 확장 성을 제공합니다. 4. 클라우드 컴퓨팅 서비스의 상승은 Oracle의 제품 라인을 더욱 확장하여 필요한 엔터프라이즈의 모든 측면을 충족시킵니다.

MySQL vs. Oracle : 장단점MySQL vs. Oracle : 장단점Apr 14, 2025 am 12:01 AM

MySQL 및 Oracle 선택은 비용, 성능, 복잡성 및 기능 요구 사항을 기반으로해야합니다. 1. MySQL은 예산이 한정된 프로젝트에 적합하며 설치가 간단하며 중소형 응용 프로그램에 적합합니다. 2. Oracle은 대기업에 적합하며 대규모 데이터 및 높은 동시 요청을 처리하는 데있어 훌륭하게 수행하지만 구성에서는 비용이 많이 들고 복잡합니다.

Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Oracle의 목적 : 비즈니스 솔루션 및 데이터 관리Apr 13, 2025 am 12:02 AM

Oracle은 비즈니스가 제품 및 서비스를 통해 디지털 혁신 및 데이터 관리를 달성 할 수 있도록 도와줍니다. 1) Oracle은 데이터베이스 관리 시스템, ERP 및 CRM 시스템을 포함한 포괄적 인 제품 포트폴리오를 제공하여 기업이 비즈니스 프로세스를 자동화하고 최적화 할 수 있도록 도와줍니다. 2) E-BusinessSuite 및 FusionApplications와 같은 Oracle의 ERP 시스템은 엔드 투 엔드 비즈니스 프로세스 자동화를 실현하고 효율성을 높이며 비용을 절감하지만 높은 구현 및 유지 보수 비용이 있습니다. 3) Oracledatabase는 높은 동시성 및 고 가용성 데이터 처리를 제공하지만 라이센스 비용이 높습니다. 4) 성능 최적화 및 모범 사례에는 인덱싱 및 분할 기술의 합리적인 사용, 정기 데이터베이스 유지 보수 및 코딩 사양 준수가 포함됩니다.

Oracle 라이브러리 실패를 삭제하는 방법Oracle 라이브러리 실패를 삭제하는 방법Apr 12, 2025 am 06:21 AM

Oracle이 라이브러리를 작성하지 못한 후 실패한 데이터베이스를 삭제하는 단계 : Sys 사용자 이름을 사용하여 대상 인스턴스에 연결하십시오. 드롭 데이터베이스를 사용하여 데이터베이스를 삭제하십시오. 쿼리 v $ 데이터베이스는 데이터베이스가 삭제되었는지 확인합니다.

Oracle Loop에서 커서를 만드는 방법Oracle Loop에서 커서를 만드는 방법Apr 12, 2025 am 06:18 AM

Oracle에서 FOR 루프 루프는 커서를 동적으로 생성 할 수 있습니다. 단계는 다음과 같습니다. 1. 커서 유형을 정의합니다. 2. 루프를 만듭니다. 3. 커서를 동적으로 만듭니다. 4. 커서를 실행하십시오. 5. 커서를 닫습니다. 예 : 커서는 상위 10 명의 직원의 이름과 급여를 표시하기 위해주기별로 만들 수 있습니다.

Oracle View를 내보내는 방법Oracle View를 내보내는 방법Apr 12, 2025 am 06:15 AM

Oracle View는 Expitility : Oracle 데이터베이스에 로그인하여 내보낼 수 있습니다. 뷰 이름 및 내보내기 디렉토리를 지정하여 EXP 유틸리티를 시작하십시오. 대상 모드, 파일 형식 및 테이블 스페이스를 포함한 내보내기 매개 변수를 입력하십시오. 내보내기를 시작하십시오. IMPDP 유틸리티를 사용하여 내보내기를 확인하십시오.

Oracle 데이터베이스를 중지하는 방법Oracle 데이터베이스를 중지하는 방법Apr 12, 2025 am 06:12 AM

Oracle 데이터베이스를 중지하려면 다음 단계를 수행하십시오. 1. 데이터베이스에 연결하십시오. 2. 즉시 종료; 3. 셧다운은 완전히 중단됩니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.