Я пытаюсь создать пользователя-администратора XStream в базе данных контейнера, следуя инструкциям в Debezium. Соединитель для Oracle. Я хочу передавать данные из Oracle в Kafka. Я создал табличные пространства как в базе данных контейнера, так и в подключаемой базе данных, используя следующие команды при входе в систему как пользователь sys и в базе данных контейнера:
CREATE TABLESPACE xstream_adm_tbs DATAFILE '/opt/oracle/oradata/ORCL/xstream_adm_tbs.dbf'
SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
Затем я создал табличное пространство в подключаемой базе данных, войдя в систему как пользователь sys в базе данных pdb, используя следующую команду:
CREATE TABLESPACE xstream_adm_tbs DATAFILE '/opt/oracle/oradata/ORCL/ORCLPDB/xstream_adm_tbs.dbf'
SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
После этого я вошел в базу данных контейнера как пользователь sys и создал пользователя администратора XStream с помощью следующей команды:
CREATE USER c##xstrmadmin IDENTIFIED BY password
DEFAULT TABLESPACE xstream_adm_tbs
QUOTA UNLIMITED ON xstream_adm_tbs
CONTAINER=ALL;
Затем я предоставил этому пользователю следующие привилегии:
GRANT CREATE SESSION, SET CONTAINER TO c##xstrmadmin CONTAINER=ALL;
После этого я выполнил следующую команду, находясь в контейнере db:
BEGIN
DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => 'c##xstrmadmin',
privilege_type => 'CAPTURE',
grant_select_privileges => TRUE,
container => 'ALL'
);
END;
/
Он выдал следующую ошибку:
ORA-44001: неверная схема
Я пробовал все, что знал. Возможно, я что-то упустил в шагах выше. Любая помощь будет оценена по достоинству.
База данных контейнера: ORCL
Подключаемая база данных: ORCLPDB
c##xstrmadmin
в верхнем регистре в качестве грантополучателя. - person Popeye   schedule 07.02.2020