Este tema describe cómo crear una cuenta normal para un inquilino compatible con Oracle en una instancia de clúster de OceanBase y otorgar a dicha cuenta los privilegios mínimos necesarios en las distintas fases de la migración de datos.
Contexto
Una instancia de clúster de OceanBase en modo compatible con Oracle admite dos tipos de cuentas de base de datos: cuenta normal y cuenta súper. Cuando utilice el servicio de transmisión de datos para migrar información desde una instancia de clúster de OceanBase, observe las siguientes reglas:
Si utiliza una cuenta normal, otorgue privilegios a la cuenta según las descripciones de este tema.
Si utiliza una cuenta súper, esta cuenta tiene privilegios de lectura y escritura en todas las bases de datos de forma predeterminada.
En este ejemplo, se crea una cuenta normal para una instancia de clúster de OceanBase. Especifique esta cuenta en el campo Username al crear un origen de datos de OceanBase.

Si desea migrar una tabla sin clave única, también debe crear un usuario __OCEANBASE_INNER_DRC_USER con privilegio de solo lectura antes de la migración de datos. Posteriormente, al crear un origen de datos de OceanBase, especifique la contraseña de __OCEANBASE_INNER_DRC_USER.

Crear una cuenta normal para una instancia de clúster
-
Vaya a la página Cluster Instance Workspace.
-
Inicie sesión en ApsaraDB for OceanBase console
.
En la esquina superior izquierda, seleccione la región donde se encuentra la instancia de destino.
En el panel de navegación izquierdo, haga clic en Instances y luego haga clic en el nombre de la instancia de destino.
-
-
Vaya a la página Accounts.
En la página Cluster Instance Workspace, haga clic en Tenant Management en el panel de navegación izquierdo.
-
En la página Tenants, haga clic en el nombre del inquilino de destino cuyo Tenant Mode sea Oracle.

En la página Tenant Workspace, haga clic en Account Management en el panel de navegación izquierdo.
-
En la página Account Management, haga clic en Create Account en la esquina superior derecha.

-
En el cuadro de diálogo Create Account, configure los parámetros.

Parámetro
Descripción
Username
El nombre de la cuenta puede contener letras, dígitos y guiones bajos (_). Debe comenzar con una letra y terminar con una letra o dígito, y no puede exceder los 32 caracteres de longitud.
Account Type
Seleccione Normal Account. Luego podrá otorgar privilegios sobre bases de datos a la cuenta. Para obtener más información sobre los privilegios, consulte Account privileges in Oracle mode.
Password
La contraseña debe tener entre 10 y 32 caracteres de longitud y contener tres de los siguientes tipos de caracteres: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales. Los caracteres especiales admitidos son los siguientes: ! @ # $ % ^ & * ( ) _ + - =. Puede hacer clic en Randomly generated para completar automáticamente una contraseña aleatoria.
NotaTambién puede hacer clic en Copy Password para copiar la contraseña y mantenerla confidencial.
Remarks (opcional)
Introduzca la descripción de la cuenta.
Haga clic en OK.
Gestionar objetos de acceso
Esta sección describe cómo otorgar privilegios sobre tablas a una cuenta normal en una instancia de clúster. Puede otorgar privilegios según las descripciones de privilegios en las siguientes secciones.
Vaya a la página Account Management de un inquilino compatible con Oracle de OceanBase Database.
-
Haga clic en Manage Access Objects junto a la cuenta normal de destino.

-
En la página Manage Access Objects, haga clic en Add Object en la esquina superior derecha.

-
En el cuadro de diálogo Add Object, configure los parámetros.

Parámetro
Descripción
Método de adición
Puede seleccionar Specify Objects o Import Objects.
Selección de objetos
Si selecciona Specify Objects, seleccione los objetos de tabla de destino en la lista Source Object del lado izquierdo y haga clic en > para agregarlos a la lista del lado derecho.
Si selecciona Import Objects, pegue los objetos de tabla de destino en el cuadro de texto con el formato
username/object namey separe varios objetos con comas (,).
Otorgar privilegios
Puede otorgar el privilegio Read-only o Read/Write según sea necesario.
Haga clic en OK.
Otorgar privilegios a una cuenta normal en una instancia de clúster de origen
La siguiente tabla enumera los privilegios mínimos requeridos para una cuenta normal en una instancia de clúster de OceanBase de origen (modo compatible con Oracle) en las diferentes fases de la migración de datos.
Tipo de tabla | Migración de esquema | Migración completa | Sincronización incremental | Verificación completa | Incremento inverso |
Tabla con clave principal o clave única no nula | Solo lectura | Solo lectura | Solo lectura | Solo lectura | Lectura/Escritura |
Tabla sin clave principal o clave única no nula | Solo lectura |
| Solo lectura | Se requiere __OCEANBASE_INNER_DRC_USER | Lectura/Escritura |
Otorgar privilegios a una cuenta normal en una instancia de clúster de destino
La siguiente tabla enumera los privilegios mínimos requeridos para una cuenta normal en una instancia de clúster de OceanBase de destino (modo compatible con Oracle) en las diferentes fases de la migración de datos.
|
Tipo de tabla |
Migración de esquema |
Migración completa |
Sincronización incremental |
Verificación completa |
Incremento inverso |
|
Tabla con clave principal o clave única no nula |
Lectura/Escritura |
Lectura/Escritura |
Lectura/Escritura |
Solo lectura |
Solo lectura |
|
Tabla sin clave principal o clave única no nula |
Lectura/Escritura |
Lectura/Escritura |
Lectura/Escritura |
No compatible |
Solo lectura |
Crear __OCEANBASE_INNER_DRC_USER y otorgarle privilegios
Inicie sesión en la consola de ApsaraDB for OceanBase y vaya a la página Tenant Workspace.
-
En la página Tenant Workspace, haga clic en Log on to Database en la esquina superior derecha.

En el cuadro de diálogo Enter a database account, introduzca el nombre de la base de datos para iniciar sesión o selecciónelo de la lista desplegable y luego haga clic en OK.
En el cuadro de diálogo Enter the connection password, introduzca la contraseña para iniciar sesión en la base de datos y haga clic en OK.
-
Después de iniciar sesión, ejecute el siguiente comando para crear el usuario
__OCEANBASE_INNER_DRC_USER:CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <YOUR_PASSWORD>>; -
Ejecute el siguiente comando para otorgar privilegios al usuario:
GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER'; GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';Puede otorgar el privilegio
SELECTsobre las tablas de la base de datos que se van a migrar de cualquiera de las siguientes maneras:// Grant system privileges. GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER'; // Grant privileges on specific database table objects. GRANT SELECT ON <schema>.<table> TO '__OCEANBASE_INNER_DRC_USER';