cari
Rumahpangkalan dataOraclekunci paparan oracle dan sql pelaksanaan sesi (perkongsian ringkasan)

Artikel ini membawa anda pengetahuan yang berkaitan tentang Oracle, yang terutamanya memperkenalkan isu yang berkaitan dengan menyemak kunci dan sql dalam pelaksanaan sesi Mari kita lihat bersama-sama. .

kunci paparan oracle dan sql pelaksanaan sesi (perkongsian ringkasan)

Tutorial yang disyorkan: "Tutorial Video Oracle"

Persekitaran pangkalan data untuk data ujian dalam artikel ini: Oracle 11g

Mengapa dikatakan bahawa ia adalah sql dalam pelaksanaan sesi Nampaknya rekod pelaksanaan sql sesi tertentu Saya juga telah membaca banyak catatan di Internet katakan bahawa sql_id dikaitkan dengan paparan v$active_session_history dan v$sqlarea Anda boleh menanyakan rekod pelaksanaan sql sesi tertentu Selepas latihan, saya mendapati ia tidak berfungsi (saya mencubanya jadual dba_hist_active_sess_history tetapi ia juga tidak berfungsi) sql_id bagi sesetengah sql tidak direkodkan sama sekali dalam v$active_session_history. Saya menyemaknya dan mendapati bahawa nilai parameter adalah normal dan pangkalan data parameter dibuka Rujuk catatan blog: Pertanyaan Oracle V$ACTIVE_SESSION_HISTORY tidak mempunyai data - wazz_s - Blog Park

Rekod pelaksanaan bagi. sql boleh disoal melalui pandangan v$sqlarea, tetapi sessionid yang melaksanakan sql tidak dapat dijumpai.

Jika saya ingin menanyakan sql yang menyebabkan jadual dikunci, kebanyakan catatan blog di Internet mengajar ini saya mendapat nilai medan prev_sql_addr yang sepadan dengan menanyakan paparan v $session, yang direkodkan sebagai Nilai A, dan kemudian gunakan nilai A sebagai nilai keadaan pertanyaan bagi alamat medan pandangan v$sqlarea, dan kemudian rekod SQL yang sepadan boleh disoal. Sebagai ujian amalan, anda boleh menemui SQL yang mencari jadual kunci, tetapi dalam kebanyakan kes anda tidak boleh mendapatkannya dalam persekitaran pengeluaran biasa Mengapa?

Artikel ini menggunakan pendekatan penerokaan untuk mengkaji untuk memastikan ketepatan data, saya membuka tiga sesi pangkalan data, direkodkan sebagai sesi1, sesi2 dan sesi3 seperti berikut:

1 Cipta jadual ujian dan data ujian baharu dalam sesi sesi1

--新建测试表
create table zxy_table(zxy_id int,zxy_name varchar2(20));
--插入数据
insert into zxy_table(zxy_id,zxy_name) values(1,'zxy1');
insert into zxy_table(zxy_id,zxy_name) values(2,'zxy2');
insert into zxy_table(zxy_id,zxy_name) values(3,'zxy3');
insert into zxy_table(zxy_id,zxy_name) values(4,'zxy4');
commit;
2 Lihat ID sesi daripada sesi1

 select userenv('sid') from dual;

Anda boleh melihat bahawa ID sesi ialah 2546

3 Dalam sesi1, kunci baris jadual zxy_table melalui pilih untuk kemas kini , seperti berikut:

 select * from zxy_table where zxy_name='zxy1' for update;
4 Dalam sesi2, tanya id sesi sebagai 2189:

Kemudian dalam sesi2, semak baris jadual zxy_table dengan value zxy_name='zxy1' Kemas kini, seperti berikut:

update zxy_table set zxy_name='zxy1_modify' where zxy_name='zxy1';
Kemudian kita lihat bahawa sql telah disekat, seperti yang ditunjukkan di bawah:

5 Kemudian kita datang ke session3 untuk melihat Situasi meja terkunci

Mula-mula semak jadual v$locked_object

select * from v$locked_object;

Anda boleh melihat bahawa sesi id yang menyebabkan jadual terkunci ialah 2546, iaitu satu sesi1 sebelumnya, dan object_id ialah 110154. Sudah tentu, dalam persekitaran penjanaan, anda pasti akan melihat lebih daripada satu rekod Anda perlu melaksanakannya beberapa kali lagi melaksanakan n kali, anda masih boleh melihat rekod, yang membuktikan bahawa rekod ini ialah jadual kunci

Pertanyaan melalui object_id: 110154

dba4_objects table Pertanyaan maklumat jadual kunci terperinci <.>

select object_name as 被锁的表名称,obj.* from dba_objects obj where object_id='110154';

Pertanyaan melalui sessionid: 2546 Paparan v$session

select 
       s.prev_sql_addr,
       module as 客户端工具名称,
       s.user# as 数据库账号名,
       s.osuser as 连接数据库客户端对应的window账号名称,
       s.machine as 连接数据库客户端对应的计算机名称,
       s.* 
from v$session s where sid='2546';

mendapat nilai prev_sql_addr: 00000000 dan kemudian menanyakan pandangan v$sqlarea

select * from v$sqlarea where address='000000012E045E28';

Daripada gambar di atas, anda boleh melihat kenyataan yang menyebabkan jadual dikunci, tetapi banyak catatan blog telah selesai pada langkah ini. Adakah pertanyaan ini benar-benar boleh dipercayai? Jawapannya tidak boleh dipercayai. Anda boleh kembali ke session1 dan laksanakan sql sesuka hati, seperti berikut:

Kemudian anda boleh pergi ke session3 untuk melaksanakan
 select * from zxy_table;

select 
       s.prev_sql_addr,
       module as 客户端工具名称,
       s.user# as 数据库账号名,
       s.osuser as 连接数据库客户端对应的window账号名称,
       s.machine as 连接数据库客户端对应的计算机名称,
       s.* 
from v$session s where sid='2546';

 再看看prev_sql_addr是不是变了,从000000012E045E28变为了00000001FB03CEC0,再通过00000001FB03CEC0查询视图v$sqlarea

select * from v$sqlarea where address='00000001FB03CEC0';

得到的sql_text是select * from zxy_table,你敢说这条sql导致了锁表吗?所有只能说是session1当前执行的sql,而且你很难保证session1执行完锁表的sql: select * from zxy_table where zxy_name='zxy1' for update且在提交前不再执行别的sql,这就是前文提出的问题的答案。

推荐教程:《Oracle视频教程

Atas ialah kandungan terperinci kunci paparan oracle dan sql pelaksanaan sesi (perkongsian ringkasan). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:CSDN. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Perisian Oracle Apa: Fungsi dan Ciri UtamaPerisian Oracle Apa: Fungsi dan Ciri UtamaApr 28, 2025 am 12:08 AM

Ciri-ciri utama perisian Oracle termasuk seni bina multi-penyewa, analisis lanjutan dan perlombongan data, clustering aplikasi masa nyata (RAC), dan pengurusan dan pemantauan automatik. 1) Senibina multi-penyewa membolehkan pengurusan pelbagai pangkalan data bebas dalam satu contoh pangkalan data, memudahkan pengurusan dan mengurangkan kos. 2) Analitik lanjutan dan alat perlombongan data seperti Oracle Advanced Analytics dan OracLedataming Bantuan Extract Insights dari data. 3) Kluster Aplikasi Masa Nyata (RAC) menyediakan ketersediaan dan skalabiliti yang tinggi, meningkatkan toleransi dan prestasi kesalahan sistem. 4) Alat pengurusan dan pemantauan automatik seperti Oracle EnterpriseManager (OEM) untuk mengautomasikan tugas penyelenggaraan harian dan memantau nombor dalam masa nyata

Impak Oracle: Pengurusan Data dan seterusnyaImpak Oracle: Pengurusan Data dan seterusnyaApr 27, 2025 am 12:11 AM

Oracle mempunyai kesan mendalam dalam bidang pengurusan data dan aplikasi perusahaan. Pangkalan datanya terkenal dengan kebolehpercayaan, skalabilitas dan keselamatannya, dan digunakan secara meluas dalam industri seperti kewangan, penjagaan perubatan dan kerajaan. Pengaruh Oracle juga telah berkembang ke medan pengkomputeran middleware dan awan seperti WebLogicserver dan Oraclecloudinfrastructure (OCI), menyediakan penyelesaian inovatif. Walaupun persaingan dalam pangkalan data sumber terbuka dan pasaran pengkomputeran awan, Oracle mengekalkan kedudukan utama melalui inovasi berterusan.

Oracle: Meneroka Misi dan Nilai SyarikatOracle: Meneroka Misi dan Nilai SyarikatApr 26, 2025 am 12:06 AM

Misi Oracle adalah untuk "membantu orang melihat nilai data", dan nilai terasnya termasuk: 1) pelanggan pertama, 2) integriti, 3) inovasi, dan 4) kerja berpasukan. Nilai-nilai ini membimbing pengambilan keputusan strategik dan inovasi perniagaan Oracle di pasaran.

Fungsi Teras Oracle: Menyediakan penyelesaian pangkalan dataFungsi Teras Oracle: Menyediakan penyelesaian pangkalan dataApr 25, 2025 am 12:06 AM

Pangkalan Data Oracle adalah sistem pengurusan pangkalan data relasi yang menyokong model relasi SQL dan objek untuk menyediakan keselamatan data dan ketersediaan yang tinggi. 1. Fungsi teras pangkalan data Oracle termasuk penyimpanan data, pengambilan semula, keselamatan dan sandaran dan pemulihan. 2. Prinsip kerja melibatkan struktur penyimpanan pelbagai lapisan, mekanisme MVCC dan pengoptimuman. 3. Penggunaan asas termasuk membuat jadual, memasukkan dan menanyakan data; Penggunaan lanjutan melibatkan prosedur dan pencetus yang tersimpan. 4. Strategi Pengoptimuman Prestasi termasuk penggunaan indeks, pernyataan SQL yang dioptimumkan dan pengurusan memori.

Menggunakan Perisian Oracle: Pengurusan Pangkalan Data dan seterusnyaMenggunakan Perisian Oracle: Pengurusan Pangkalan Data dan seterusnyaApr 24, 2025 am 12:18 AM

Sebagai tambahan kepada pengurusan pangkalan data, perisian Oracle juga digunakan dalam aplikasi Javaee, grid data dan pengkomputeran berprestasi tinggi. 1. Oracleweblogicserver digunakan untuk menggunakan dan menguruskan aplikasi Javaee. 2. Oraclecoherence menyediakan perkhidmatan penyimpanan data dan caching berprestasi tinggi. 3. OracleExadata digunakan untuk pengkomputeran prestasi tinggi. Alat ini membolehkan Oracle memainkan peranan yang lebih pelbagai dalam seni bina IT Enterprise.

Peranan Oracle dalam dunia perniagaanPeranan Oracle dalam dunia perniagaanApr 23, 2025 am 12:01 AM

Oracle bukan sahaja syarikat pangkalan data, tetapi juga pemimpin dalam pengkomputeran awan dan sistem ERP. 1. Oracle menyediakan penyelesaian yang komprehensif dari pangkalan data ke perkhidmatan awan dan sistem ERP. 2. Oraclecloud mencabar AWS dan Azure, menyediakan perkhidmatan IaaS, PaaS dan SaaS. 3. Sistem ERP Oracle seperti E-BusinessSuite dan FusionApplications membantu perusahaan mengoptimumkan operasi.

Perisian Oracle dalam Tindakan: Contoh dunia nyataPerisian Oracle dalam Tindakan: Contoh dunia nyataApr 22, 2025 am 12:12 AM

Aplikasi perisian Oracle di dunia nyata termasuk platform e-dagang dan pembuatan. 1) Pada platform e-dagang, oracledatabase digunakan untuk menyimpan dan menanyakan maklumat pengguna. 2) Dalam pembuatan, Oraclee-BusinessSuite digunakan untuk mengoptimumkan perancangan inventori dan pengeluaran.

Perisian Oracle: Aplikasi dan IndustriPerisian Oracle: Aplikasi dan IndustriApr 21, 2025 am 12:01 AM

Sebab mengapa perisian Oracle bersinar dalam pelbagai bidang adalah aplikasi yang kuat dan penyelesaian yang disesuaikan. 1) Oracle menyediakan penyelesaian yang komprehensif dari pengurusan pangkalan data kepada ERP, CRM, SCM, 2) penyelesaiannya boleh disesuaikan mengikut ciri -ciri industri seperti kewangan, penjagaan perubatan, pembuatan, dan sebagainya.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini