You need to create an account that can access the data source, which will be used in pipeline tasks to access the data source for data extraction and writing.
For details about account creation, see the official document.
The operations in this section must be performed for Oracle databases of the following versions:
1. 10g and 11g
2. 12c, 18c, 19c, 21c, and Oracle RAC clusters: required for all non-PDB architectures
10g and 11g
Use the following command to create a user account and assign privileges:
CREATE USER Username IDENTIFIED BY Password;GRANT create session, alter session, execute_catalog_role, select any dictionary, select any transaction, select any table, unlimited tablespace to Username;
You can now use this user account to establish a data connection. For example, if the user Nora is created, the data connection configuration page is shown in the following figure.
12c, 18c, 19c, and 21c Standard Edition
Create a database user and grant necessary privileges.
1. Log in to the database as the database admin.
2. Create a common user.
CREATE USER Username IDENTIFIED BY Password;GRANT create session, alter session, select any dictionary, select any transaction,select any table,logmining, execute_catalog_role TO Username;
Depending on the required privileges for the table, repeat the last command to grant the SELECT privilege.
Use the following commands to check if the current user has the LOGMINER privilege:
WITH required_sys_privileges AS ( SELECT column_value AS PRIVILEGE FROM TABLE ( sys.odcivarchar2list( 'SELECT ANY TRANSACTION', 'CREATE SESSION', 'SELECT ANY DICTIONARY', 'SELECT ANY TABLE', 'LOGMINING' ) )), required_role_privileges AS ( SELECT column_value AS ROLE_NAME FROM TABLE ( sys.odcivarchar2list( 'EXECUTE_CATALOG_ROLE', 'RESOURCE' ) ) ), required_table_privileges AS ( SELECT column_value AS PRIVILEGE FROM TABLE ( sys.odcivarchar2list( 'DBMS_LOGMNR', 'DBMS_LOGMNR_D' ) ) )SELECT r.PRIVILEGE, NVL2(p.USERNAME, 'OK', 'REQUIRED') AS PRIVILEGE_STATUSFROM required_sys_privileges r LEFT JOIN user_sys_privs p ON r.PRIVILEGE = p.PRIVILEGEUNIONSELECT r.ROLE_NAME, NVL2(p.USERNAME, 'OK', 'REQUIRED') AS PRIVILEGE_STATUSFROM required_role_privileges r LEFT JOIN user_role_privs p ON r.ROLE_NAME = p.GRANTED_ROLEUNIONSELECT r.PRIVILEGE, NVL2(p.GRANTEE, 'OK', 'REQUIRED') AS PRIVILEGE_STATUSFROM required_table_privileges r LEFT JOIN user_tab_privs p ON r.PRIVILEGE = p.TABLE_NAME;
If the returned result is Required, the LOGMINER privilege is not enabled. If it is OK, the privilege is enabled.
For any privileges that are required but not yet granted, you must grant them.
If the source-end database is a PDB, you cannot directly read its redo log. You must read it through the CDB.
1. Use the command in SQL*Plus to check the current PDB status, as shown in the following figure.
show pdbs;
You can also use the following command on the database query page:
SELECT name, open_modeFROM v$pdbsORDER BY name;
2. Start PDBORCL and ORCLPDB using the following command if they are not started:
Check the PDB status again to ensure all PDBs are open.
1. Create a user account.
CREATE USER C##Username IDENTIFIED BY Password CONTAINER=all;
1. In this example, the username and password are C##ROXY122 and 123, respectively. Modify them to actual values.
2. When the Oracle database is in a multi-tenant mode, prefix the username with C##.
2. Grant privileges.
GRANT create session, alter session, select any dictionary, select any transaction,select any table,logmining, execute_catalog_role,set container TO C##Username container=all;
This step only applies to the new account.
ALTER USER C##Username QUOTA UNLIMITED ON "USERS";SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;GRANT create session, alter session, select any dictionary, select any transaction,select any table,logmining, execute_catalog_role TO C##Username;
Grant the V_$PDBS privilege to the user, as shown in the following figure.
alter user C##Username set container_data=all for sys.v_$pdbs container = current;
Check the privileges of the new account:
SELECT USERNAME, OBJECT_NAME FROM CDB_CONTAINER_DATA WHERE USERNAME = C##Username AND OBJECT_NAME = 'V_$PDBS';
You can view the corresponding V_$PDBS privilege, as shown in the following figure.
Log in to the Oracle server remotely, switch to SQL*Plus mode, and execute the privilege-granting command:
grant restricted session TO C##Username container=all;
Execute the command to grant table creation privileges:
GRANT CREATE TABLE TO Username CONTAINER=ALL;
After execution, check if the table creation privilege is granted:
SELECT PRIVILEGE FROM USER_SYS_PRIVS WHERE PRIVILEGE = 'CREATE TABLE';
Now, the account can create tables normally.
After you configure the database, you can configure the data source in FineDataLink.
Configure the data connection to source and target databases in FineDataLink before configuring pipeline tasks for real-time synchronization. This will allow you to control synchronization tasks by selecting the data source name during the task configuration process. For details, see Data Source Creation and Management.
Configure pipeline task. For details, see Pipeline Task Configuration.
Note: Archived logs take up large disk space. Business operations may be impacted if the disk is full. Clean up expired archived logs regularly. For details, see Cleaning Oracle Archived Logs.
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy