Ora2Pg 高级配置之导出指定模式
文章目录
- 导出指定 Oracle 模式
原文地址:http://ora2pg.darold.net/documentation.html
导出指定 Oracle 模式
导出 Oracle 数据库时可以选择导出指定模式(Schema)或者命名空间(Namespace),可以强制将其设置为连接数据库的用户。
SCHEMA
用于设置导出的模式名称。例如:
SCHEMA APPS
将会导出 APPS 模式下的对象。
如果没有指定模式名称,并且启用了 EXPORT_SCHEMA ,Ora2Pg 将会导出 Oracle 实例中所有模式下的所有对象,并且对象名称以模式名为前缀。
EXPORT_SCHEMA
默认情况下,Oracle 中的模式不会被迁移到 PostgreSQL 数据库中,所有的对象使用默认的 Pg 命名空间进行创建。如果想要导出模式,并且在该命名空间下创建所有的对象,可以将 EXPORT_SCHEMA 参数设置为 1 。设置该参数将会在导出的 SQL 文件头部添加一个语句,将模式的搜索路径 search_path 设置为 SCHEMA 参数的值。如果想要改变搜索路径,可以使用 PG_SCHEMA 参数。
CREATE_SCHEMA
在输出文件的头部启用/禁用 CREATE SCHEMA 语句。该参数与 TABLE 导出类型相关,默认为启用。
COMPILE_SCHEMA
默认情况下,Ora2Pg 只导出有效的 PL/SQL 代码。设置该参数后,Oracle 会在导出之前尝试编译无效的代码,如果成功编译,就会导出相应的对象。
启用该配置将会强制 Oracle 在导出代码之前执行一次模式的编译。如果启用该参数的同时设置了 SCHEMA,只有该模式下的无效对象会进行重新编译;如果没有设置 SCHEMA,Oracle 中所有的模式都会进行编译。如果想要编译指定模式下的无效对象,可以将 COMPILE_SCHEMA 设置为该模式名称。
‘VALID’ 或者 ‘INVALID’ 状态适用于函数、过程、包以及用户定义类型。
EXPORT_INVALID
如果上面的配置选项无法验证 PL/SQL 代码,可以启用该选项导出所有的PL/SQL 代码,包括无效的代码。 ‘VALID’ 或 ‘INVALID’ 状态适用于函数、过程、包以及用户定义类型。
PG_SCHEMA
定义导入操作使用的 PostgreSQL 模式。默认情况下,如果将 EXPORT_SCHEMA 设置为 1,导入 PostgreSQL 时的 search_path 将会设置为 SCHEMA 参数指定的模式名称。
该参数的值可以是一个逗号分隔的模式名称列表,但是使用 TABLE 导出类型除外,因为这种导出类型会产生 CREATE SCHEMA 语句,而该语句不支持指定多个模式名称。例如,如果将 PG_SCHEMA 设置为 “user_schema, public”,生成的搜索路径设置语句如下:
SET search_path = user_schema, public;
强制导入时使用其他模式(user_schema)而不是 SCHEMA 指定的 Oracle 模式。
也可以使用以下语句为连接 PostgreSQL 的用户设置默认的 search_path:
ALTER ROLE username SET search_path TO user_schema, public;
这样就不需要设置 PG_SCHEMA 参数了。
SYSUSERS
如果没有明确指定模式,Ora2Pg 将会导出不属于以下系统模式或角色的所有对象:
CTXSYS,DBSNMP,EXFSYS,LBACSYS,MDSYS,MGMT_VIEW,OLAPSYS,ORDDATA,OWBSYS,
ORDPLUGINS,ORDSYS,OUTLN,SI_INFORMTN_SCHEMA,SYS,SYSMAN,SYSTEM,WK_TEST,
WKSYS,WKPROXY,WMSYS,XDB,APEX_PUBLIC_USER,DIP,FLOWS_020100,FLOWS_030000,
FLOWS_040100,FLOWS_010600,FLOWS_FILES,MDDATA,ORACLE_OCM,SPATIAL_CSW_ADMIN_USR,
SPATIAL_WFS_ADMIN_USR,XS$NULL,PERFSTAT,SQLTXPLAIN,DMSYS,TSMSYS,WKSYS,
APEX_040200,DVSYS,OJVMSYS,GSMADMIN_INTERNAL,APPQOSSYS,MGMT_VIEW,
ODM,ODM_MTR,TRACESRV,MTMSYS,OWBSYS_AUDIT,WEBSYS,WK_PROXY,
OSE$HTTP$ADMIN,AURORA$JIS$UTILITY$,AURORA$ORB$UNAUTHENTICATED,
DBMS_PRIVILEGE_CAPTURE
某些 Oracle 安装中可能还包含其他的系统角色。使用 SYSUSERS 选项可以定义一个使用逗号分隔的模式排除列表。例如:
SYSUSERS INTERNAL,SYSDBA,BI,HR,IX,OE,PM,SH
将 INTERNAL 和 SYSDBA 等角色添加到模式排除列表中。
FORCE_OWNER
默认情况下,导入的数据库对象属于连接 PostgreSQL 时使用的用户。如果使用其他用户(例如 postgres)执行导入,将该参数设置为 1,可以强制 Ora2Pg 将导入对象的拥有者设置为与 Oracle 数据库中的同名用户;或者将该参数设置为其他的用户名,可以将导入对象的拥有者设置为该用户。
FORCE_SECURITY_INVOKER
Ora2Pg 使用 Oracle 中设置的函数安全权限,通常是 SECURITY DEFINER。如果想要将所有的函数安全权限设置为 SECURITY INVOKER,可以启用该选项。
USE_TABLESPACE
如果启用了该选项,ora2pg 使用 Oracle 数据库中的表空间名称导出所有的表、索引约束和索引。该选项只能用于非 TEMP、USERS 以及 SYSTEM 表空间。
WITH_OID
如果启用了该选项,Ora2Pg 在创建表或者将视图转换为表时增加 WITH (OIDS) 参数。默认禁用该参数,和 PostgreSQL 一致。
LOOK_FORWARD_FUNCTION
指定一个逗号分隔的模式列表,Ora2Pg 在导出当前模式之前,将会在这些模式下查找所有的函数/过程/包声明。将函数调用替换为 OUT 参数时,如果某个函数是在其他的包中进行了声明,无法进行函数调用的重写,因为 Ora2Pg 只能获取当前模式下的函数声明。
人生本来短暂,你又何必匆匆!点个赞再走吧!
Ora2Pg 高级配置之导出指定模式相关推荐
- Nacos 1.1.0发布,支持灰度配置和地址服务器模式
Nacos 是阿里巴巴开源的配置中心和服务发现产品,开源距今已经超过一年的时间.本次1.1.0的发布,带来了许多重量级的特性更新,包括灰度配置等社区呼声很高的特性,下面会介绍1.1.0版本发布的新特性 ...
- HBase高级配置跟调整(1)
搜搜 日榜 周榜 月榜 总榜 HBase高级配置跟调整(1) 2015-03-25 05:52 | 4932人阅读 | 来源 HBase高级配置和调整(1) 在对HBase集群进行调整之前,你需要先知 ...
- 大型企业网络配置系列课程详解(三)--OSPF高级配置与相关概念的理解
大型企业网络配置系列课程详解(三)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office&qu ...
- 无法加入nacos服务列表_Nacos 1.1.1 发布,支持灰度配置和地址服务器模式
Nacos 是阿里巴巴开源的配置中心和服务发现产品,开源距今已经超过一年的时间.本次1.1.0的发布,带来了许多重量级的特性更新,包括灰度配置等社区呼声很高的特性,下面会介绍1.1.0版本发布的新特性 ...
- 《Cisco/H3C交换机高级配置与管理技术手册》目录
备受业界关注,备受无数读者殷切期待的,我的2012年新作--<Cisco/H3C交换机高级配置与管理技术手册>,经过一年的艰辛编写,现终于胜利封笔.现应许多热心读者的要求,把本书的原始目录 ...
- firewalld防火墙配置、测试服务、高级配置与IP伪装、端口转发
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Firewalld防火墙 防火墙基础 一.防火墙配置 二.使用防火墙安装http服务测试分别测试内网.外网.dmz 三.firewal ...
- 【Python】PDF文档导出指定章节为TXT
PDF文档导出指定章节为TXT 需求 要导出3000多个pdf文档的特定章节内容为txt格式(pdf文字可复制). 解决 导出PDF 查了一下Python操作PDF文档的方法,主要是通过3个库,PyP ...
- Linux下如何实现用户的集中管理(NIS服务器的高级配置)
Linux下如何实现用户的集中管理 (NIS服务器的高级配置) 一.NIS服务器的属性设置 1.修改NIS系统的主机名 Linux系统可以使用hostname命令查看和临时设置Linux系统的 ...
- Linux运维实战之DNS的高级配置(转发器、视图等)
上次博文我们具体配置了一台DNS服务器并实现了主辅之间的区域传送,本次博文我们来看看DNS的一些高级配置. 在进行DNS的高级配置之前,必须要理解DNS的原理(参见http://sweetpotato ...
最新文章
- 使用awk获得java进程号,获取进程号并赋值判断进程状态
- 文巾解题 9 回文数
- 【1024】阿里开源项目汇总
- org.springframework.dao.InvalidDataAccessApiUsageException: Write operations
- python3中pip的安装、常见问题及万能解决方案。
- ASP.NET MVC 2 验证
- JS中用构造函数创建对象
- Rust 让人奔溃的那些特性!
- java字符串怎么拼接字符串_Java中String使用+ 拼接字符串的原理是什么?
- PyQt5-QLineEdit控件使用
- 开发一个APP到底要多少钱?
- c# 接管系统鼠标_4个阶段的方法来接管大型,混乱的IT系统
- 如何下载微信公众号视频
- 后端程序员生产力工具合集
- 知识付费小程序源码可开流量主
- FDM3D打印机结构类型总结
- php ses 发送邮件,使用 Amazon SES API 和 AWS SDK for PHP 版本 3 验证电子邮件身份 - 适用于 PHP 的 AWS 开发工具包...
- nvme固态硬盘安装win10填坑记
- 没NFC功能的手机如何能刷公交卡
- 华为虚拟服务器 vrm,配置虚拟化管理服务器-VRM
热门文章
- Prometheus 简介与架构
- MFC DockPane 分割窗口 嵌入对话框
- linux最新flash+player,Adobe Flash Player v10.0.21.1 Alpha For Linux
- “ 装逼不成,被雷劈了。。。。 ”答案
- 服务器远程桌面输完密码闪断,远程桌面的连接闪断解决方案
- 不管你学的是什么专业,你都应该多少懂些管理学的东西
- 没有相爱,只有相杀:微软和谷歌又撕上了...
- 深入解读微服务架构下分布式事务解决方案
- 分享一个嗖嗖移动管理系统
- 【项目问题总结】4:修改操作的重复性验证逻辑