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. .
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;
select * from zxy_table where zxy_name='zxy1' for update;4 Dalam sesi2, tanya id sesi sebagai 2189:
update zxy_table set zxy_name='zxy1_modify' where zxy_name='zxy1';Kemudian kita lihat bahawa sql telah disekat, seperti yang ditunjukkan di bawah:
select * from v$locked_object;
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:
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!

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

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.

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.

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.

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.

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.

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.

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.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini
