Oracle ialah salah satu sistem pengurusan pangkalan data hubungan berskala besar dan sering digunakan untuk pembangunan dan pengurusan aplikasi peringkat perusahaan. Dalam Oracle, pemadaman pengguna dan pemadaman ruang jadual adalah operasi yang sangat biasa, tetapi jika masalah berlaku secara tidak sengaja, ia boleh membawa kepada akibat yang serius. Artikel ini akan memperkenalkan cara memadam pengguna dan ruang jadual dengan betul dalam Oracle, dan memberikan beberapa cadangan untuk mengelakkan pemadaman tidak sengaja.
1. Memadam pengguna
Dalam Oracle, memadam pengguna adalah operasi biasa. Biasanya, pengguna perlu dialih keluar daripada pangkalan data jika mereka tidak lagi memerlukan akses kepada pangkalan data. Berikut ialah langkah-langkah untuk memadam pengguna:
Langkah 1: Semak sama ada pengguna mempunyai sebarang aktiviti yang belum selesai
Sebelum memadamkan pengguna, anda mesti menyemak sama ada pengguna mempunyai sebarang aktiviti yang belum selesai. Aktiviti ini mungkin termasuk menjalankan proses, urus niaga tanpa komitmen atau sesi tidak tertutup. Jika pengguna mempunyai aktiviti yang belum selesai, aktiviti ini perlu ditamatkan sebelum pengguna dipadamkan.
Untuk menyemak sama ada pengguna mempunyai aktiviti yang belum selesai, anda boleh melaksanakan pernyataan SQL berikut:
PILIH s.sid, s.serial#, s.username, s.program, s.status
FROM v$session s
WHERE s.username = '&username';
Pernyataan ini akan mengembalikan semua maklumat sesi yang berkaitan dengan nama pengguna yang ditentukan. Anda boleh menamatkan sesi menggunakan pernyataan berikut:
SESI PEMBUNUH SISTEM ALTER SYSTEM '&sid,&serial#';
Di mana, &sid ialah ID sesi dan &serial# ialah nombor siri. Dengan cara ini, sesi pengguna boleh ditamatkan dan pengguna dipadamkan.
Langkah 2: Batalkan Kebenaran dan Pindahkan Pemilikan
Sebelum memadamkan pengguna, anda mesti memindahkan semua kebenaran pengguna kepada pengguna lain dan memastikan tiada pengguna lain bergantung pada pengguna. Anda boleh menggunakan pernyataan berikut untuk memindahkan kebenaran pengguna kepada pengguna lain:
BATALKAN SEMUA KEISTIMEWAAN DARIPADA nama pengguna;
BERI [keistimewaan] KEPADA [nama_pengguna_baru];
Di mana, [keistimewaan ] ialah kebenaran untuk diberikan kepada pengguna baharu, dan [new_username] ialah nama pengguna pengguna baharu. Anda boleh menggunakan pernyataan ini untuk memastikan bahawa semua objek yang bergantung kepada pengguna ini tidak lagi bergantung kepada pengguna ini:
UBAH PANDANGAN [nama_objek] KOMPILE;
UBAH PROSEDUR [nama_objek] KOPILE;
UBAH FUNGSI [nama_objek] KOMPILE;
UBAH PENCETUS [nama_objek] LUPUKKAN;
Langkah 3: Padam pengguna
Selepas melengkapkan dua langkah pertama, anda boleh memadamkan pengguna. Anda boleh memadamkan pengguna menggunakan penyataan berikut:
LEPASKAN PENGGUNA [nama pengguna] CASCADE;
Di mana, CASCADE menentukan untuk memadam pengguna dan semua objek kepunyaan pengguna. Jika anda tidak menggunakan CASCADE semasa memadamkan pengguna, sebarang objek kepunyaan pengguna itu akan kekal tetapi menjadi tidak boleh digunakan.
2. Padamkan ruang jadual
Dalam Oracle, ruang jadual ialah unit storan logik yang digunakan untuk menyimpan jadual, indeks dan objek lain. Sebab utama untuk memadam ruang meja adalah untuk mengosongkan ruang cakera. Berikut ialah langkah untuk memadam ruang jadual:
Langkah 1: Sahkan bahawa tiada objek lain bergantung pada ruang jadual
Sebelum memadamkan ruang jadual, anda mesti mengesahkan bahawa tiada objek lain dalam ruang meja bergantung padanya. Objek ini mungkin termasuk jadual, indeks, sekatan, LOB, dsb. Anda boleh menggunakan pernyataan pertanyaan berikut untuk mendapatkan objek bergantung dalam ruang jadual:
PILIH * DARI dba_dependencies
WHERE REFERENCED_OWNER = '&tablespace_name'
DAN REFERENCED_TYPE IN ('JADUAL','INDEX' ,' PARTITION','LOB');
Jika terdapat objek yang bergantung pada ruang jadual ini, objek ini mesti dipindahkan ke ruang jadual lain sebelum ruang jadual boleh dipadamkan.
Langkah 2: Kosongkan ruang meja
Selepas objek dalam ruang meja dipindahkan ke ruang meja lain, ruang meja mesti dikosongkan. Ini boleh dicapai dengan mengikuti langkah berikut:
UBAH RUANG MEJA [tablespace_name] LUAR TALIAN SEMENTARA;
LEPASKAN JADUAL [nama_jadual];
LEPASKAN INDEKS [nama_indeks];
LEPASKAN MEJA [nama_jadual];
Nota bahawa jika semua objek dalam ruang jadual tidak dipindahkan (atau digugurkan) sebelum menjatuhkan ruang jadual, objek ini akan digugurkan atau menjadi tidak boleh diakses.
Langkah 3: Padamkan fail tablespace
Selepas mengosongkan ruang jadual dan mengesahkan bahawa tiada objek lain dalam tablespace bergantung padanya, anda boleh melaksanakan arahan berikut untuk memadam fail tablespace:
LEPASKAN RUANG MEJA [tablespace_name] TERMASUK KANDUNGAN DAN FAIL DATA;
Apabila menjalankan arahan ini, anda mesti memasukkan pilihan untuk memasukkan kandungan dan fail data, jika tidak, arahan itu hanya akan memadamkan ruang jadual itu sendiri, bukan yang ada dalam ruang jadual Objek dan fail.
3. Cadangan untuk mencegah pemadaman secara tidak sengaja
Apabila menjalankan operasi pemadaman dalam Oracle, anda perlu memberi perhatian khusus kerana pemadaman secara tidak sengaja boleh menyebabkan kehilangan data atau ranap sistem. Untuk mengelakkan pemadaman secara tidak sengaja, anda boleh menggunakan cadangan berikut:
1 Sandarkan pangkalan data: Sebelum melakukan sebarang operasi pemadaman, sila pastikan anda membuat sandaran pangkalan data. Jika apa-apa berlaku, anda boleh memulihkan data anda daripada sandaran.
Ringkasan: Dalam Oracle, pemadaman pengguna dan pemadaman ruang jadual adalah operasi yang sangat biasa, tetapi ia perlu dilakukan dengan berhati-hati dan berhati-hati. Terdapat beberapa langkah pencegahan, seperti menyandarkan pangkalan data, menggunakan sekatan, menyekat hak akses dan amaran buletin, yang boleh membantu mencegah pemadaman tidak sengaja dan melakukan yang terbaik untuk mengelakkan kehilangan data yang tidak perlu atau ranap sistem. Jika anda masih menghadapi masalah, pastikan anda berunding dengan pentadbir pangkalan data atau pakar untuk memastikan operasi yang selamat.
Atas ialah kandungan terperinci oracle padam pengguna padam ruang jadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!