ORA-65169: ошибка при попытке скопировать файл
Привет, я пытаюсь создать clone_link между двумя базами данных ora19 из-за клонирования баз данных PDB
обе БД создали пользователя вроде:
CREATE USER c##remote_clone_user IDENTIFIED BY remote_clone_user CONTAINER=ALL;
GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##remote_clone_user CONTAINER=ALL;
Я хочу скопировать PDB из DB2 в DB1, поэтому я закрыл требуемый PDB в DB2 и открыл для чтения:
alter pluggable database testpdb close;
alter pluggable database testpdb open read only;
из DB1 создали clone_link и попытались скопировать PDB (соединение tns testpdb установлено на DB2)
--db link to database we want to copy
create database link clone_link
connect to C##remote_clone_user identified by remote_clone_user using 'testpdb';
-- clone from DB2 to DB1
create pluggable database testpdb from testpdb@clone_link
file_name_convert = ('/u01/app/oracle/oradata/', '/testpdb/');
но я получаю ошибку:
Error starting at line : 14 in command -
create pluggable database testpdb from testpdb@clone_link
file_name_convert = ('/u01/app/oracle/oradata/', '/testpdb/')
Error report -
ORA-65169: error encountered while attempting to copy file /u01/app/oracle/oradata/testpdb/testpdb_index.dbf
ORA-19504: failed to create file "/testpdb/testpdb/testpdb_index.dbf"
ORA-27040: file create error, unable to create file
Linux-x86_64 Error: 13: Permission denied
Additional information: 3
65169. 00000 - "error encountered while attempting to copy file %s "
*Cause: An error was encountered while attempting to copy the file
while creating a pluggable database.
*Action: Check additional error messages for the cause of the failure to
copy the file, and resolve the issue accordingly.
в журнале предупреждений я вижу только:
Undo Create of Pluggable Database TESTPDB with pdb id - 7.
**************************************************************
ORA-65169 signalled during: create pluggable database testpdb from testpdb@clone_link
file_name_convert = ('/u01/app/oracle/oradata/', '/testpdb/')...
я не уверен, какие разрешения нужно установить
2 ответа
Действия, необходимые для решения этой проблемы: Это проблема с разрешениями, и вам нужен каталог /oradata/, чтобы иметь разрешения. Выполните следующие действия или, что еще лучше, создайте сценарий на основе приведенной ниже процедуры, чтобы решить проблему:
[oracle@oracle ~]$ ls -l /u01/app/oracle/product/19.0.0/db_1/mydbfiles/ORCLDB/pdbseed
-rw-r-----. 1 oracle oinstall 104865792 Nov 3 07:29 undotbs01.dbf
Поэтому я обновил разрешения для файла. Он должен иметь права на групповую запись:
[oracle@oracle ~]$ chmod -R 777 /u01/app/oracle/product/19.0.0/db_1/mydbfiles/ORCLDB/pdbseed
[oracle@oracle ~]$ ls -l
/u01/app/oracle/product/19.0.0/db_1/mydbfiles/ORCLDB/pdbseed
-rwxrwxrwx. 1 oracle oinstall 104865792 Nov 3 07:29 undotbs01.dbf
Тогда это будет работать:
SQL> CREATE PLUGGABLE DATABASE pdb2 ADMIN USER admin2 IDENTIFIED BY Shane123 ROLES = (dba)
2 FILE_NAME_CONVERT = ('/u01/app/oracle/product/19.0.0/db_1/mydbfiles/ORCLDB/pdbseed' , '/u01/app/oracle/product/19.0.0/db_1/mydbfiles/ORCLDB/pdb2');
Pluggable database created.
После создания вы можете вернуть прежние разрешения. Хотя это обходной путь, если вы добавите его в скрипт, он сработает как по волшебству!
У меня работает в CDB
alter system set "_exadata_feature_on" =true scope=spfile;
shutdown immediate;
startup;