全部产品
Search
文档中心

ApsaraDB for OceanBase:Hak istimewa minimum yang diperlukan ketika database Oracle berfungsi sebagai sumber

更新时间:Jun 28, 2025

Topik ini menjelaskan hak istimewa minimum yang diperlukan pada setiap tahap migrasi data saat database Oracle digunakan sebagai sumber.

Pembuatan sumber data

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

GRANT SELECT on DUAL to oms_user;
GRANT SELECT on NLS_DATABASE_PARAMETERS to oms_user;
GRANT SELECT on PRODUCT_COMPONENT_VERSION to oms_user;
GRANT SELECT on V_$DATABASE to oms_user;
GRANT SELECT ANY DICTIONARY to oms_user;

Migrasi skema

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

-- Hak istimewa SELECT pada semua tabel yang akan dimigrasikan.
GRANT SELECT on any-replicated-table to oms_user;

Migrasi penuh

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

GRANT SELECT on DBA_CONSTRAINTS to oms_user;
GRANT SELECT on DBA_CONS_COLUMNS to oms_user;
GRANT SELECT on DBA_EXTENTS to oms_user;
GRANT SELECT on DBA_INDEXES to oms_user;
GRANT SELECT on DBA_IND_COLUMNS to oms_user;
GRANT SELECT on DBA_MVIEWS to oms_user;
GRANT SELECT on DBA_MVIEW_LOGS to oms_user;
GRANT SELECT on DBA_OBJECTS to oms_user;
GRANT SELECT on DBA_PART_KEY_COLUMNS to oms_user;
GRANT SELECT on DBA_SUBPART_KEY_COLUMNS to oms_user;
GRANT SELECT on DBA_TABLES to oms_user;
GRANT SELECT on DBA_TAB_COLS to oms_user;
GRANT SELECT on DBA_TAB_COLUMNS to oms_user;
GRANT SELECT on DBA_TAB_PARTITIONS to oms_user;
GRANT SELECT on DBA_TAB_SUBPARTITIONS to oms_user;
GRANT SELECT on DBA_USERS to oms_user;
GRANT SELECT on NLS_DATABASE_PARAMETERS to oms_user;
GRANT SELECT on SYS.SMON_SCN_TIME to oms_user;
GRANT SELECT on V_$INSTANCE to oms_user;
GRANT SELECT on V_$NLS_PARAMETERS to oms_user;

-- Hak istimewa SELECT pada semua tabel yang akan dimigrasikan.
GRANT SELECT on any-replicated-table to oms_user;

Sinkronisasi tambahan

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

GRANT SELECT on ALL_CONSTRAINTS to oms_user;
GRANT SELECT on ALL_INDEXES to oms_user;
GRANT SELECT on ALL_IND_COLUMNS to oms_user;
-- Hak istimewa untuk menanyakan atribut objek.
GRANT SELECT on ALL_OBJECTS to oms_user; 
GRANT SELECT on ALL_TAB_COLS to oms_user;
-- Hak istimewa untuk menanyakan pengguna dalam daftar izin dan daftar blokir.
GRANT SELECT on ALL_USERS to oms_user; 
GRANT SELECT on DBA_CONSTRAINTS to oms_user;
GRANT SELECT on DBA_CONS_COLUMNS to oms_user;
GRANT SELECT on DBA_MVIEWS to oms_user;
-- Hak istimewa untuk mengecualikan tampilan material saat Anda menanyakan semua objek.
GRANT SELECT on DBA_MVIEW_LOGS to oms_user; 
-- Hak istimewa untuk menanyakan waktu saat ini dan zona waktu dari database.
GRANT SELECT on DUAL to oms_user; 
-- Hak istimewa untuk menanyakan jumlah node dalam RAC.
GRANT SELECT on GV_$INSTANCE to oms_user; 
-- Hak istimewa untuk menanyakan set karakter yang digunakan oleh database.
GRANT SELECT on NLS_DATABASE_PARAMETERS to oms_user; 
GRANT SELECT on SYS.CDEF$ to oms_user;
GRANT SELECT on SYS.COL$ to oms_user;
GRANT SELECT on SYS.CON$ to oms_user;
GRANT SELECT on SYS.ICOL$ to oms_user;
GRANT SELECT on SYS.OBJ$ to oms_user;
-- Hak istimewa untuk menanyakan nama pengguna dalam daftar blokir di bawah tenant SYS untuk menyaring tabel milik pengguna tersebut.
GRANT SELECT on SYS.USER$ to oms_user; 
-- Hak istimewa untuk menanyakan file arsip.
GRANT SELECT on V_$ARCHIVED_LOG to oms_user; 
GRANT SELECT on V_$ARCHIVE_DEST to oms_user;
-- Hak istimewa untuk menanyakan apakah pencatatan tambahan diaktifkan dan mode akses Oracle.
GRANT SELECT on V_$DATABASE to oms_user; 
GRANT SELECT on V_$LOG to oms_user;
-- Hak istimewa untuk menanyakan log online.
GRANT SELECT on V_$LOGFILE to oms_user; 
-- Hak istimewa untuk menanyakan set hasil yang dikembalikan oleh LogMiner.
GRANT SELECT on V_$LOGMNR_CONTENTS to oms_user;
GRANT SELECT on V_$PARAMETER to oms_user;

GRANT EXECUTE on SYS.DBMS_LOGMNR to oms_user;

-- Hak istimewa SELECT pada semua tabel yang akan dimigrasikan. Jika tabel baru harus disinkronkan selama sinkronisasi tambahan, pengguna migrasi harus memiliki hak istimewa SELECT pada tabel ini.
GRANT SELECT on any-replicated-table to oms_user;

-- Hak istimewa flashback dan SELECT ANY TRANSACTION pada semua tabel yang akan dimigrasikan. (Secara default, query flashback tidak digunakan dan dalam hal ini hak istimewa flashback tidak diperlukan.)
GRANT FLASHBACK on any-replicated-table to oms_user;
GRANT SELECT ANY TRANSACTION to oms_user;

-- Hak istimewa berikut harus diberikan di Oracle Database 12c dan versi lebih baru:
GRANT LOGMINING TO oms_user;  
GRANT SELECT on DBA_PDBS to oms_user;

Anda perlu memberikan hak istimewa tambahan kepada pengguna migrasi dalam situasi berikut:

  • Untuk Oracle Database 12c dan versi lebih baru, berikan hak istimewa berikut selama sinkronisasi tambahan:

    GRANT LOGMINING TO oms_user;  
    GRANT SELECT on DBA_PDBS to oms_user;
  • Jika query flashback harus diaktifkan (dinonaktifkan secara default) selama sinkronisasi tambahan, berikan hak istimewa berikut:

    GRANT FLASHBACK on any-replicated-table to oms_user;
    GRANT SELECT ANY TRANSACTION to oms_user;
  • Jika database sumber adalah database pluggable (PDB) dari Oracle Database 12c, 18c, atau 19c, pengguna umum diperlukan untuk menarik data dari PDB. Selain itu, CONTAINER=ALL harus ditambahkan ke pernyataan untuk memberikan hak istimewa yang sesuai.

    alter session set container=CDB$ROOT;
    create user C##XXX identified by yyy;

    Tambahkan CONTAINER=ALL ke pernyataan sebelumnya, kecuali untuk pernyataan yang memberikan hak istimewa pada tabel bisnis yang akan disinkronkan. Sebagai contoh, Anda dapat menulis ulang GRANT ALTER SESSION to oms_user; menjadi GRANT ALTER SESSION to C##XXX CONTAINER=ALL;.

  • Jika data tambahan dari tabel baru harus disinkronkan selama sinkronisasi tambahan, berikan hak istimewa SELECT pada tabel baru tersebut kepada pengguna migrasi.

    Jika Anda tidak dapat mengidentifikasi tabel baru sebelum membuat proyek migrasi data, berikan hak istimewa SELECT ANY TABLE kepada pengguna migrasi.

Pergantian maju

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

GRANT SELECT on ALL_CONSTRAINTS to oms_user;
GRANT SELECT on ALL_CONS_COLUMNS to oms_user;
GRANT SELECT on ALL_IND_EXPRESSIONS to oms_user;
GRANT SELECT on ALL_LOBS to oms_user;
GRANT SELECT on ALL_MVIEWS to oms_user;
GRANT SELECT on ALL_MVIEW_LOGS to oms_user;
GRANT SELECT on ALL_TABLES to oms_user;
GRANT SELECT on ALL_TAB_COLUMNS to oms_user;
GRANT SELECT on ALL_TAB_PRIVS to oms_user;
GRANT SELECT on ALL_TYPES to oms_user;
GRANT SELECT on ALL_USERS to oms_user;
GRANT SELECT on ALL_VIEWS to oms_user;
GRANT SELECT on DUAL to oms_user;
GRANT SELECT on NLS_DATABASE_PARAMETERS to oms_user;
GRANT SELECT on PRODUCT_COMPONENT_VERSION to oms_user;
GRANT SELECT on USER_ROLE_PRIVS to oms_user;
GRANT SELECT on V_$DATABASE to oms_user;
GRANT SELECT on V_$PWFILE_USERS to oms_user;

Migrasi tambahan terbalik

GRANT ALTER SESSION to oms_user;
GRANT CREATE SESSION to oms_user;
GRANT CONNECT to oms_user;

-- Hak istimewa untuk membuat tabel transaksi internal guna memastikan kualitas data tabel tanpa kunci utama.
GRANT CREATE ANY TABLE to oms_user; 
-- Hak istimewa untuk menghapus tabel transaksi internal, yang bisa lebih cepat jika Anda menghapus tabel berdasarkan partisi.
GRANT DROP ANY TABLE to oms_user; 
GRANT INSERT ANY TABLE to oms_user;
GRANT DELETE ANY TABLE to oms_user;
GRANT UPDATE ANY TABLE to oms_user;
GRANT UNLIMITED TABLESPACE to oms_user;

Jika Anda memerlukan sinkronisasi terbalik untuk pernyataan DDL, berikan izin DDL kepada pengguna migrasi. Contohnya:

GRANT ALTER ANY TABLE to oms_user;