在创建PDB过程中如果使用了带PATH_PREFIX的参数,意味着在创建DIRECTORY目录时需要指定相对路径,而不能指定其它绝对路径。来自博客园AskScuti

11g整库作为一个PDB迁移至阿里云12c CDB的过程中,在连接PDB,创建DIRECTORY目录的时候报错:ORA-65254: invalid path specified for the directory

目录

1. 项目过程

2. 问题

3. 原因

4. 解决方案

1. 项目过程

11g整库已经通过数据泵方式完整导出,拷贝到阿里云平台对应目录;在12c数据库中通过PDB$SEED快速创建PDB(注意:语句中带了参数path_prefix='/u01/app/oracle/oradata/cdbdb/pdb11g/'),连接PDB后,创建相应DIRECTORY时,提示错误。

create pluggable database pdb11g admin user pdb11g identified by * path_prefix='/u01/app/oracle/oradata/cdbdb/pdb11g/' file_name_convert=('/u01/app/oracle/oradata/cdbdb/pdbseed/','/u01/app/oracle/oradata/cdbdb/pdb11g/')

2. 问题

[oracle@izj6cf6xxwhjlqnfh4cmnyz:/home/oracle]$sqlplus sys/oracle@pdb11g as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Tue Jun 4 18:41:52 2019

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> show con_name CON_NAME
-------------------------
PDB11G
SQL> show user
USER is "SYS"
SQL> !ls /u01/app/oracle/
admin audit cfgtoollogs checkpoints diag oradata product pump SQL> create or replace directory pumpdir as '/u01/app/oracle/pump';
create or replace directory pumpdir as '/u01/app/oracle/pump'
*
ERROR at line 1:
ORA-65254: invalid path specified for the directory

路径及权限无误,却依然报错。

3. 原因

SQL> !oerr ora 65254
65254, 00000, "invalid path specified for the directory"
// *Cause: An absolute path was used in the CREATE DIRECTORY statement.
// Since the PDB has set the PATH_PREFIX property, only relative
// path is allowed for directories.
// *Action: Specify a relative path and reissue the statement.
//

因为在创建PDB的语句中指定了PATH_PREFIX子句,所以PATH_PREFIX指定的路径将作为前缀添加到该PDB的所有本地目录对象中,只能指定基于PATH_PREFIX的相对路径

官方文档 Release 12.2 Database Administrator’s Guide:Example 38-5 PATH_PREFIX Clause

4. 解决方案

SQL> create or replace directory oracle_path_prefix as 'pump';

Directory created.

SQL> select owner o,directory_name dn,directory_path dp,origin_con_id cid from dba_directories where directory_name='ORACLE_PATH_PREFIX';

O    DN              DP                                   CID
---- ------------------ ----------------------------------------- ---
SYS ORACLE_PATH_PREFIX /u01/app/oracle/oradata/cdbdb/pdb11g/pump 4

定义好DIRECTORY_NAME之后,只需要在AS关键字后面定义目录名称即可,DIRECTORY_PATH会根据PDB中的PATH_PREFIX子句,自动生成。

12c的PDB创建DIRECTORY要注意与PATH_PREFIX的关系(ORA-65254)的更多相关文章

  1. 3.通过现有的PDB创建一个新的PDB

    实验说明:创建PDB除了可以通过种子PDB创建外,现在测试通过一个现有的用户PDB克隆创建新的PDB数据库 实验步骤: 1.创建测试数据 SQL> alter session set conta ...

  2. 12C cdb/pdb 配置监听

    . PDB is not an instance, so using SID in the connection string will not work. When the database is ...

  3. Oracle创建directory

    Oracle创建directory   一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述   1.新建directory的语法 CREA ...

  4. 022. ASP.NET为DataSet中数据集添加关系及动态创建主子表和添加主子表关系

    protected void Page_Load(object sender, EventArgs e) { string connectionString = "server=.;data ...

  5. Oracle 12C -- 使用seed PDB创建新的pdb

    $ sqlplus '/as sysdba' SQL*Plus: Release Production on Tue Jun :: Copyright (c) , , Oracle. All righ ...

  6. Oracle 12c在PDB中创建scott/tiger

    scott/tiger一直以来是oracle数据的默认用户,但是跟之前的版本相比,Oracle 12c引入了PDB管理,所以要麻烦一些 下面假设管理员为SYS/Oracle12csys,在orcl实例 ...

  7. Oracle 12c CDB PDB 安装/配置/管理

    Oracle安装参考:https://www.cnblogs.com/zhichaoma/p/9288739.html 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下:     STARTU ...

  8. 12C CLONE PDB and config service_listener

    Clone PDB PtestDEV to Ptestuat in testuat 1)       Clone PtestDEV to Ptestuat C:\Windows\system32> ...

  9. Oracle 12c CDB PDB

    先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文 ...

随机推荐

  1. [大数据技术]Kettle初次连接MySQL数据库 报错问题 错误连接数据库 Error occured while trying to connect to the database Exception while loading class org.gjt.mm.mysql.Driver

    报错内容如下: 错误连接数据库 [foodmartconn] : org.pentaho.di.core.exception.KettleDatabaseException: Error occure ...

  2. 【笔记】机器学习 - 李宏毅 - 3 - Bias & Variance

    A more complex model does not always lead to better performance on testing data. Because error due t ...

  3. 分享10个免费或便宜的Photoshop替代工具

    说到编辑照片和图像文件,一般很多人都使用photoshop软件.然而,使用现在的最新版本Photoshop CC每月最低也要支付980日元,感觉使用门槛有点高的人应该不少吧. 有一篇文章,推荐了10个 ...

  4. 使用Python库paramiko登录远程设备

    前言 手动下载paramiko库的安装包.在PyPi库中查找即可,但是不到是我的电脑问题还是网络问题,2.0.0以上版本我都安装不了,因此我自己是安装的paramiko 1.17.0版本,此版本经过测 ...

  5. JavaScript学习—基本类型—Number

    在JavaScript中,采用IEEE754表示整数和浮点数 整数 十进制 let num10 = 10 八进制 let num8 = 0(1~7) JavaScript中,八进制数值以0作为前导,后 ...

  6. 获取现有Table中某些字段

    //dtH System.Data.DataTable dttemp = new System.Data.DataTable(); DataView tempDv = dtH.DefaultView; ...

  7. C# interact with Command prompt

    using System.IO; using System.Diagnostics; static void Main(string[] args) { CmdDemo("dir" ...

  8. mui下拉上拉(明一)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  9. Spring-Cloud微服务踩坑

    @feignclient和@requestmapping混用的时候出错 重写springmvc扫描controller时不带有@feignclient才实例化 @Configuration @Cond ...

  10. openlayers添加弹出框

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...