关于用户权限的说明:
一般为了在使用OGG同步数据时可以顺利进行,需要给予用户以下权限:
Onsource database (extract):
GRANT CREATE SESSION, ALTER SESSION,RESOURCE, CONNECT,SELECT ANY dictionary,SELECT ANY TRANSACTION TO ggtest;
GRANT flashback ANY TABLE, SELECTANY TABLE TO ggtest;
GRANT EXECUTE ON dbms_flashback TO ggtest;
Ontarget (Replicat) database:
GRANT CREATE SESSION, ALTER SESSION,RESOURCE, CONNECT,SELECT ANY dictionary TO ggtest;
GRANT SELECT ANY TABLE, INSERT ANYTABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO ggtest;
GRANT CREATE TABLE, ALTER ANY TABLE,LOCK ANY TABLE TO ggtest;
GRANT ALTER ANY TABLE TO ggtest;
也可以直接给予用户DBA权限,但是这样做是有一定安全隐患的
如果是配置DDL操作碰到权限引起的问题,可以考虑加上以上提及的权限,之前的实验只给了2个权限,CONNECT和RESOURCE,实验中并没有遇到不能同步的问题,用的授权语句是GRANT CONNECT,RESOURCE TO ggtest;来看看这2个权限具体包含哪些权限:
SQL>select GRANTEE,PRIVILEGE from DBA_SYS_PRIVSwhere GRANTEE = 'CONNECT';
SQL>select GRANTEE,PRIVILEGE from DBA_SYS_PRIVSwhere GRANTEE = 'RESOURCE';
一般为了在使用OGG同步数据时可以顺利进行,需要给予用户以下权限:
Onsource database (extract):
GRANT CREATE SESSION, ALTER SESSION,RESOURCE, CONNECT,SELECT ANY dictionary,SELECT ANY TRANSACTION TO ggtest;
GRANT flashback ANY TABLE, SELECTANY TABLE TO ggtest;
GRANT EXECUTE ON dbms_flashback TO ggtest;
Ontarget (Replicat) database:
GRANT CREATE SESSION, ALTER SESSION,RESOURCE, CONNECT,SELECT ANY dictionary TO ggtest;
GRANT SELECT ANY TABLE, INSERT ANYTABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO ggtest;
GRANT CREATE TABLE, ALTER ANY TABLE,LOCK ANY TABLE TO ggtest;
GRANT ALTER ANY TABLE TO ggtest;
也可以直接给予用户DBA权限,但是这样做是有一定安全隐患的
如果是配置DDL操作碰到权限引起的问题,可以考虑加上以上提及的权限,之前的实验只给了2个权限,CONNECT和RESOURCE,实验中并没有遇到不能同步的问题,用的授权语句是GRANT CONNECT,RESOURCE TO ggtest;来看看这2个权限具体包含哪些权限:
SQL>select GRANTEE,PRIVILEGE from DBA_SYS_PRIVSwhere GRANTEE = 'CONNECT';
SQL>select GRANTEE,PRIVILEGE from DBA_SYS_PRIVSwhere GRANTEE = 'RESOURCE';