12c的PDB创建DIRECTORY要注意与PATH_PREFIX的关系(ORA-65254)
在创建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)的更多相关文章
- 3.通过现有的PDB创建一个新的PDB
实验说明:创建PDB除了可以通过种子PDB创建外,现在测试通过一个现有的用户PDB克隆创建新的PDB数据库 实验步骤: 1.创建测试数据 SQL> alter session set conta ...
- 12C cdb/pdb 配置监听
. PDB is not an instance, so using SID in the connection string will not work. When the database is ...
- Oracle创建directory
Oracle创建directory 一般创建directory都是为了用数据泵导入/导出数据用,其实directory还有很多别的用处,本文不做阐述 1.新建directory的语法 CREA ...
- 022. ASP.NET为DataSet中数据集添加关系及动态创建主子表和添加主子表关系
protected void Page_Load(object sender, EventArgs e) { string connectionString = "server=.;data ...
- Oracle 12C -- 使用seed PDB创建新的pdb
$ sqlplus '/as sysdba' SQL*Plus: Release Production on Tue Jun :: Copyright (c) , , Oracle. All righ ...
- Oracle 12c在PDB中创建scott/tiger
scott/tiger一直以来是oracle数据的默认用户,但是跟之前的版本相比,Oracle 12c引入了PDB管理,所以要麻烦一些 下面假设管理员为SYS/Oracle12csys,在orcl实例 ...
- Oracle 12c CDB PDB 安装/配置/管理
Oracle安装参考:https://www.cnblogs.com/zhichaoma/p/9288739.html 对于CDB,启动和关闭与之前传统的方式一样,具体语法如下: STARTU ...
- 12C CLONE PDB and config service_listener
Clone PDB PtestDEV to Ptestuat in testuat 1) Clone PtestDEV to Ptestuat C:\Windows\system32> ...
- Oracle 12c CDB PDB
先说基本用法: 先按11G之前进行 conn / as sysdba; create user test identifed by test; ORA-65096: 公用用户名或角色名无效. 查官方文 ...
随机推荐
- docker搭建环境积累
weblogic12搭建 sudo docker pull ismaleiva90/weblogic12 sudo docker run -d -p : -p : ismaleiva90/weblog ...
- 安装JumpServer到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.6.1810 (Core) 软件版本:JumpServer-1.4.8 硬件要求:最低2核4GB 官方文档:https://docs. ...
- Wannafly Winter Camp 2020 Day 7D 方阵的行列式 - 数学
于是去弄了个板子来 #include <bits/stdc++.h> using namespace std; #define int long long const int mod = ...
- 如何通过 SSH/Telnet 用 root 权限登录群晖
出于系统安全原因,对 Synology NAS 的 root 访问有限.如果您获取 root 权限,请在命令行界面中用任何属于Local Administrators群组的帐户证书登录 DSM(如Pu ...
- linux查找含有xxx内容的文件
find . -name *.json |xargs grep "6379" |awk '{print $1}'|uniq
- net core+Redis+IIS+nginx实现Session共享
.Net Core Web Api实践(二).net core+Redis+IIS+nginx实现Session共享 前言:虽说公司app后端使用的是.net core+Redis+docker+ ...
- 2020牛客寒假算法基础集训营4-D子段异或
思路 CODE #include <bits/stdc++.h> #define dbg(x) cout << #x << "=" <&l ...
- C语言 while
C语言 while while 语句 流程图 案例 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stri ...
- linux100讲——80 系统函数库介绍
1.系统自建了函数库,可以在脚本中引用 /etc/init.d/functions 2.自建函数库 使用 source 函数脚本文件 “导入”函数 3. vim /etc/init.d/functio ...
- 从零开始学 Java - 搭建 Spring MVC 记录云创的日子 第一章
2017年11月29日 来到新项目,需要用到Spring MVC ,那么我就开始记录我这次的学习. Spring MVC 框架是围绕一个 DispatcherServlet 来设计的,这个 Servl ...