Topik ini menyediakan jawaban atas pertanyaan umum mengenai cara merefresh atau menyinkronkan kamus data (metadata) di Data Management (DMS), mencakup isu umum, topik khusus Redis, dan topik khusus Oracle.
Umum
Mengapa database atau tabel tidak muncul di DMS meskipun ada di database saya?
DMS tidak selalu membaca informasi database dan tabel dari database secara real time.
-
Instans hosting aman: DMS mengumpulkan dan menyimpan metadata instans. Pengumpulan metadata penuh dipicu saat instans pertama kali didaftarkan dan dijalankan terjadwal setiap hari pukul 18.00.
-
Instans hosting tidak aman: DMS hanya menyimpan informasi tingkat database. Metadata lainnya dimuat secara real time setelah Anda login ke instans tersebut.
-
Perubahan DDL yang dieksekusi melalui DMS memicu pengumpulan metadata inkremental. Skema yang diperbarui biasanya tersedia di DMS dalam waktu sekitar 5 detik setelah operasi selesai, meskipun waktu aktual dapat bervariasi tergantung pada beban database dan status tugas pengumpulan.
-
Perubahan yang dilakukan melalui konsol database atau klien lain mungkin memerlukan refresh manual atau sinkronisasi kamus data.
Untuk informasi lebih lanjut, lihat Pengumpulan, penampilan, dan pencarian metadata database.
Bagaimana cara merefresh informasi database dan tabel secara manual?
Anda dapat menggunakan salah satu metode berikut:
-
Metode 1: Di daftar instans di sisi kiri halaman utama DMS, klik kanan instans target dan pilih Refresh/Synchronize Data Dictionary. Konfirmasi operasi dan tunggu hingga pengumpulan selesai.
-
Metode 2: Di bilah navigasi atas, pilih . Di instance list, temukan instans target dan pilih .
Jika perubahan dilakukan melalui klien lain, Anda juga dapat mencoba login ulang ke instans untuk memuat ulang metadata.
Untuk informasi lebih lanjut, lihat Sinkronisasi kamus data instansiasi basis data dan Kapan dan mengapa DMS memuat ulang metadata database.
Apa yang harus saya lakukan jika database masih tidak muncul setelah menyinkronkan kamus data?
Kami menyarankan Anda memeriksa hal-hal berikut secara berurutan:
1. Periksa izin akun database yang digunakan oleh DMS
DMS hanya dapat mengumpulkan metadata untuk database yang dapat diakses oleh akun database yang dikonfigurasi. Masalah ini dapat terjadi pada ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, ApsaraDB RDS for SQL Server, PolarDB for MySQL, PolarDB for PostgreSQL, serta database pihak ketiga atau database yang dikelola sendiri.
Verifikasi hal-hal berikut:
-
Akun database dan kata sandi yang dikonfigurasi di DMS valid.
-
Akun tersebut memiliki izin akses ke database target.
-
Setelah database baru dibuat, database tersebut telah diberi otorisasi untuk akun yang digunakan oleh DMS.
-
Untuk menampilkan semua database di bawah suatu instans, akun harus memiliki izin akses ke semua database target.
-
Untuk database berbasis PostgreSQL, periksa juga izin pada database target, skema, dan objek terkait.
Untuk ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, ApsaraDB RDS for SQL Server, PolarDB for MySQL, dan PolarDB for PostgreSQL, database yang baru dibuat mungkin tidak secara otomatis diberi otorisasi untuk akun yang digunakan oleh DMS. Dalam kasus ini, database tidak akan ditampilkan di DMS meskipun Anda telah menyinkronkan kamus data. Anda harus terlebih dahulu memberikan izin akses ke database baru tersebut untuk akun yang digunakan oleh DMS, lalu menyinkronkan kamus data lagi.
Metode otorisasi bervariasi tergantung mesin database. Untuk informasi lebih lanjut, lihat topik berikut:
2. Periksa status koneksi instans
Verifikasi hal-hal berikut:
-
Instansiasi basis data berjalan dengan baik.
-
Alamat database, port, akun, dan kata sandi benar.
-
Alamat IP DMS telah ditambahkan ke daftar putih database.
-
Grup keamanan, firewall, dan tautan jaringan mengizinkan akses dari DMS.
-
Jika SSL/TLS diaktifkan pada database, metode koneksi SSL yang sesuai juga telah dikonfigurasi di DMS.
Untuk informasi lebih lanjut, lihat Memecahkan masalah login dan koneksi database dan Menambahkan alamat IP DMS ke daftar putih instans.
3. Periksa apakah aturan filter database sistem memblokir database tersebut
Mode kontrol kolaborasi Keamanan menyembunyikan database sistem tertentu secara default. Aturan keamanan juga dapat menentukan filter kustom untuk database atau skema. Saat database difilter, DMS tidak mengumpulkan metadata-nya, sehingga database tersebut tidak dapat dicari atau ditampilkan.
Untuk informasi lebih lanjut, lihat Database sistem yang diblokir oleh DMS secara default dan Menyesuaikan filter database sistem.
4. Periksa izin akses metadata pengguna DMS saat ini
Meskipun akun database memiliki izin akses, pengguna DMS saat ini mungkin tidak memiliki izin yang diperlukan. Saat kontrol akses metadata diaktifkan, pengguna tanpa izin instans atau database tidak dapat melihat sumber daya yang sesuai.
Jika administrator dapat melihat database tetapi pengguna biasa tidak bisa, periksa hal-hal berikut terlebih dahulu:
-
Apakah kontrol akses metadata tingkat pengguna, tingkat database, atau tingkat instans diaktifkan.
-
Apakah pengguna memiliki izin kueri, ekspor, atau perubahan pada database target.
-
Apakah DBA atau administrator telah memberikan izin yang diperlukan kepada pengguna tersebut.
Untuk informasi lebih lanjut, lihat Mengonfigurasi kontrol akses metadata.
Mengapa sinkronisasi kamus data membutuhkan waktu lama untuk selesai?
Waktu yang dibutuhkan untuk sinkronisasi metadata bergantung pada jumlah database dan tabel dalam instans. Jika instans berisi banyak tabel, tugas sinkronisasi mungkin memerlukan beberapa menit atau lebih lama.
Sistem saat ini memberlakukan batas waktu maksimum 120 detik untuk pernyataan SQL pengumpulan metadata. Jika satu database berisi jumlah tabel yang sangat besar (misalnya, sekitar 100.000 atau lebih), pernyataan SQL pengumpulan mungkin mengalami timeout, sehingga sinkronisasi metadata tidak dapat diselesaikan. Akibatnya, DMS tidak dapat menampilkan daftar tabel untuk database tersebut. Ini merupakan keterbatasan sistem yang diketahui. Angka 100.000 tabel adalah perkiraan referensi dan bukan ambang batas ketat. Terjadinya timeout juga bergantung pada kinerja database, beban, dan kondisi jaringan.
Saran:
-
Hindari memicu sinkronisasi berulang-ulang dalam periode waktu singkat.
-
Tunggu hingga tugas sinkronisasi saat ini selesai, lalu periksa hasilnya.
-
Verifikasi bahwa koneksi database stabil.
-
Verifikasi bahwa izin akun database belum berubah.
-
Untuk instans hosting tidak aman, coba login ulang ke instans tersebut.
Untuk informasi lebih lanjut, lihat Sinkronisasi kamus data instansiasi basis data.
Mengapa hanya beberapa pengguna yang tidak dapat melihat database?
Ini biasanya merupakan masalah izin pengguna DMS, bukan masalah pengumpulan metadata.
Periksa hal-hal berikut:
-
Apakah kontrol akses metadata tingkat pengguna, tingkat database, atau tingkat instans diaktifkan.
-
Apakah pengguna memiliki izin kueri, ekspor, atau perubahan pada database target.
-
Apakah DBA atau administrator telah memberikan izin instans atau database kepada pengguna tersebut.
Jika administrator dapat melihat database tetapi pengguna biasa tidak bisa, prioritaskan pemeriksaan di area ini.
Mengapa database sistem atau skema tertentu tidak terlihat?
Mode kontrol kolaborasi Keamanan menyembunyikan database sistem tertentu secara default. Contohnya:
-
MySQL:
mysql,information_schema,performance_schema, dan lainnya. -
SQL Server:
master,model,msdb,tempdb, dan lainnya. -
PostgreSQL: Terutama memfilter skema sistem seperti
information_schemadanpg_catalog.
Selain itu, untuk instans dalam mode kontrol kolaborasi Keamanan, Anda dapat menentukan filter kustom dengan membuka . Anda dapat memfilter database sistem atau database bisnis sensitif berdasarkan nama persis atau ekspresi reguler. Untuk database berbasis PostgreSQL, filter ini berlaku pada skema. Setelah mengubah aturan filter, Anda harus menyinkronkan kamus data lagi atau menunggu sinkronisasi metadata otomatis harian pukul 18.00 agar perubahan berlaku.
Untuk informasi lebih lanjut, lihat Database sistem yang diblokir oleh DMS secara default untuk setiap jenis database dan Menyesuaikan filter database sistem di DMS.
Mengapa skema tidak terlihat setelah database dikunci atau dalam kondisi tidak normal?
Saat DMS merefresh atau menyinkronkan kamus data, DMS terhubung ke database target dan menjalankan pernyataan SQL pengumpulan metadata. Jika instans ApsaraDB RDS atau database target dikunci atau tidak tersedia, DMS tidak dapat mengambil skema dan metadata lainnya. Melakukan sinkronisasi kamus data berulang kali biasanya tidak menyelesaikan masalah ini.
Kami menyarankan langkah-langkah berikut:
-
Periksa status berjalan instans dan database target di konsol database cloud yang sesuai.
-
Jika database dikunci, ikuti petunjuk di konsol database cloud untuk membukanya dan memulihkan akses normal.
-
Di DMS, uji koneksi untuk memastikan database dapat diakses.
-
Jalankan Refresh/Synchronize Data Dictionary lagi dan tunggu hingga pengumpulan selesai sebelum merefresh daftar objek.
Untuk informasi lebih lanjut, lihat Memecahkan masalah login dan koneksi database.
Redis
Mengapa saya hanya melihat DB0 setelah mendaftarkan kluster Redis melalui Internet?
Menurut dokumentasi DMS, setelah kluster Redis pihak ketiga atau yang dikelola sendiri didaftarkan di DMS, hanya DB0 yang ditampilkan.
Ini merupakan keterbatasan produk yang diketahui. Melakukan refresh atau sinkronisasi kamus data berulang kali tidak menyelesaikan masalah ini.
Saran:
-
Untuk instans Alibaba Cloud Tair atau Redis, daftarkan instans menggunakan sumber database Alibaba Cloud.
-
Untuk kluster Redis pihak ketiga atau yang dikelola sendiri, konfirmasikan kemampuan tampilan DMS terlebih dahulu.
Untuk informasi lebih lanjut, lihat Mendaftarkan database pihak ketiga atau database yang dikelola sendiri.
Bagaimana DMS mengidentifikasi mode kluster Redis?
Kemampuan mengidentifikasi arsitektur kluster Redis bergantung pada sumber instans dan metode pendaftaran.
-
Untuk instans kluster Alibaba Cloud Tair atau Redis, kami menyarankan mendaftarkan instans menggunakan sumber database Alibaba Cloud.
-
Kluster Redis yang didaftarkan melalui Internet atau dari sumber pihak ketiga atau yang dikelola sendiri memiliki kemampuan terbatas.
-
Seperti yang tercantum dalam dokumentasi, kluster Redis pihak ketiga dan yang dikelola sendiri saat ini hanya mendukung DB0.
Oracle
Mengapa skema, tabel, atau kolom masih tidak muncul setelah menyinkronkan kamus data untuk instans Oracle?
Saat DMS mengumpulkan metadata Oracle, DMS melakukan kueri terhadap tabel sistem atau view sistem Oracle menggunakan akun database yang dikonfigurasi saat pendaftaran instans. Jika akun tersebut tidak memiliki izin kueri pada objek terkait, metadata seperti skema, tabel, kolom, indeks, constraint, dan komentar mungkin dikumpulkan secara tidak lengkap, dan tetap tidak terlihat di DMS meskipun Anda telah menyinkronkan kamus data.
Pastikan akun database yang digunakan oleh DMS memiliki setidaknya izin kueri pada tabel sistem atau view berikut:
V$INSTANCESYS.DBA_USERSSYS.DBA_TABLESSYS.DBA_SEGMENTSSYS.DBA_TAB_COMMENTSSYS.DBA_TAB_COLUMNSSYS.DBA_COL_COMMENTSSYS.DBA_SYNONYMSSYS.DBA_OBJECTSSYS.DBA_INDEXESSYS.DBA_CONSTRAINTSSYS.DBA_IND_COLUMNS
V$INSTANCE biasanya merupakan sinonim untuk view kinerja dinamis. Saat memberikan izin, Anda mungkin memerlukan DBA Oracle untuk memberikan izin kueri pada objek dasar SYS.V_$INSTANCE. Persyaratan spesifik bergantung pada versi Oracle dan konfigurasi izin.
Setelah memberikan izin yang diperlukan, jalankan Refresh/Synchronize Data Dictionary lagi.