Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Setelah menjatuhkan partisi, indeks menjadi tidak dapat digunakan, apa yang harus saya lakukan,

  • ANALYZE TABLE tidak membangun kembali indeks, kan?

    Saya tidak tahu tetapi saat ini Anda harus menggunakan DBMS_STATS.GATHER_TABLE_STATS daripada ANALYZE TABLE

  • Pemuatan langsung berarti data tidak dimasukkan baris demi baris tetapi sebagai massal, lihat Pemuatan Jalur Langsung

  • Jika indeks Anda menjadi UNUSABLE maka itu harus berupa indeks global.

  • Gunakan UPDATE GLOBAL INDEXES klausa, yaitu alter table target_table drop partition target_eldest_partition UPDATE GLOBAL INDEXES; atau buat indeks lokal.

  • Tergantung pada kolom mana yang telah Anda indeks. Alih-alih seluruh tabel, Anda juga dapat menjalankan DBMS_STATS.GATHER_INDEX_STATS . Dengan DBMS_STATS.GATHER_TABLE_STATS Anda juga dapat menentukan hanya satu partisi dan bahkan satu kolom.

btw, untuk banyak pertanyaan, jawaban saya sebenarnya adalah:"Apakah Anda berkonsultasi dengan dokumentasi Oracle"? atau "Apakah Anda tahu google"? Menurut tangkapan layar Anda, Anda menggunakan skema SYS dan tablespace SYSAUX untuk objek pengguna Anda. Anda tidak harus melakukan itu. Buat pengguna Anda sendiri dan buat objek apa pun dalam skema ini.

Secara umum ada tiga jenis indeks yang dipartisi:

  1. GLOBAL INDEX:Anda memiliki satu indeks besar yang mencakup seluruh tabel. Ini wajib misalnya untuk INDEKS UNIK jika kolom yang diindeks bukan bagian dari kunci partisi. Sebenarnya indeks tersebut tidak dipartisi. (seperti yang ditunjukkan dalam ALL_INDEXES )
  2. LOCAL INDEX:Indeks ini dipartisi dengan cara yang sama seperti tabel dasarnya. Setiap partisi tabel memiliki partisi indeks yang sesuai.
  3. INDEX YANG DIPARTISISI:Indeks ini dipartisi tetapi berbeda daripada tabel di bawahnya. Saya pikir bahkan mungkin untuk membuat indeks yang dipartisi pada tabel yang tidak dipartisi. Indeks yang dipartisi terbatas pada kasus penggunaan yang sangat khusus saja. Sebenarnya saya tidak bisa membayangkan di mana indeks seperti itu masuk akal.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle RESET_PACKAGE tidak mengatur ulang nilai variabel dalam sesi

  2. Buat pengguna dengan semua hak istimewa di Oracle

  3. PILIH induk dari catatan

  4. Nonaktifkan pemicu dan aktifkan kembali pemicu tetapi hindari perubahan tabel untuk sementara

  5. Oracle UNION kolom yang berbeda