逻辑备库搭建完成后,想要在备库中添加对象,但是提示权限不够的错误:
SQL> CREATE TABLE T_LOG
(
RID VARCHAR2(32),
NAME VARCHAR2(1000),
RQ DATE DEFAULT sysdate,
OLDVALUE VARCHAR2(255),
NEWVALUE VARCHAR2(255)
); 2 3 4 5 6 7 8
CREATE TABLE T_LOG
*
ERROR at line 1:
ORA-01031: insufficient privileges
其实这个用户已经有创建表的权限了,并且表空间使用上没有配额的限制:
SQL> select * from session_privs;
PRIVILEGE
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE ANY TABLE
CREATE CLUSTER
CREATE SEQUENCE
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
这个是由于dg的模式不允许创建,用sys连接修改模式:
alter database guard standby;
再次创建表成功,此时向表中insert数据都是正常的,但是如果你向同步过来的表上insert数据,那么会提示下面的错误:
SQL> insert into test1 values(8);
insert into test1 values(8)
*
ERROR at line 1:
ORA-16224: Database Guard is enabled
可以使用alter database guard none;来关闭guard,但是这个时候同步也就断开了。如果想要在正常同步
SQL> alter database guard standby;
Database altered.
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
Database altered.
SQL> alter database guard standby;
在从库上创建了触发器,本想监控主库上的数据变更,但是在主库上update同步到从库上的时候,是没有办法触发从库的触发器的。