首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OracleExecute Immediate用法

Execute Immediate代替了以前Oracle8iDBMS_SQL package包。...它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,Execute Immediate的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码。...尽管DBMS_SQL仍然可用,但是推荐使用Execute Immediate,因为它获的收益包之上。...-- 使用技巧 1、Execute Immediate将不会提交一个DML事务执行,应该显式提交,如果通过Execute Immediate处理DML命令,那么完成以前需要显式提交或者作为Execute...3、当执行SQL语句时,不要用分号,当执行PL/SQL块时,在其尾部用分号。 4、Oracle手册,未详细覆盖这些功能。 下面的例子展示了所有用到Execute Immediate的可能方面。

1.3K30

SQL解析...没有什么大不了的?#oracle(译文)

他用剩下的时间通过asktom.oracle.com、StackOverflow、Twitter、他的博客和YouTube频道帮助开发人员和数据库管理员。...Oracle编写SQL语句时,我们都强调使用共享SQL的重要性,换种说法是:适当的情况下使用绑定变量,我们大多数人可能都已经看过关于这个原则的标准演示。...他们的观点是:“糟糕”的示例,我们每秒执行大约 1600 个语句。这和绑定变量一样好吗?当然不是...但是谁在乎呢?有很多系统每秒 16 个语句就可以了,更不用说 1600 个了。...对我个人而言,90年代初,我的Oracle数据库(版本7)运行在Sparcstation 10上,它具有非常强大且非常昂贵的50 Mhz处理器!...显然,复杂的SQL可能具有很长的执行时间,因此我们将通过使用DBMS_SQL仅解析,而不执行SQL

35710
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle 12c可插拔数据库深入理解

一、概述 1、Oracle 12c 可插拔数据库体系结构 Oracle 12c 引入了一个新功能就是Oracle Multitenant,这个功能可以租户容器数据库,创建并维护许多个可插拔数据库...Oracle Multitenant是Oracle企业版需要额外付费的组件。然而,在所有Oracle版本中都可以一个可插拔数据库免费使用它。...租户容器数据库(CDB)是指能够容纳一个或者多个可插拔数据库的数据库。容器是指CDB的数据文件和元数据的集合。可插拔数据库是指可以通过克隆另一个数据库轻松创建的数据容器。...2、容器数据库与可插拔数据库 1、ORACLE MULTITEMENT CONTAINER DATABASE(CDB),即容器数据库 是ORACLE12c新引入的特性,这个特性允许CDB容器数据库创建并且维护多个数据库...2、租户环境组成 (1)ROOT:ROOT容器数据库,是CDB环境的根数据库,在跟数据库中含有主数据字典视图,其中包含了与ROOT容器有关的元数据和CDB包含的所有PDB信息,CDB环境中被标识为

95010

Oracle PLSQL语句基础学习笔记(上)

PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理...当PL/SQL程序块PL/SQL引擎处理时,ORACLE服务器SQL语句执行器处理pl/sql程序块SQL语句。...(1).PL/SQL的优点 PL/SQL是一种高性能的基于事务处理的语言,能运行在任何ORACLE环境,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。...PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型 PL/SQL块可以被命名和存储ORACLE服务器,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问...分号分隔每一条语句,使用赋值操作符:=或SELECT INTO或FETCH INTO给每个变量赋值,执行部分的错误将在异常处理部分解决,执行部分可以使用另一个PL/SQL程序块,这种程序块被称为嵌套块所有的

2.7K10

Oracle 19c 之 RPM 包安装初体验 CDB(二)

容器(container)是租户体系结构的数据或元数据的逻辑集合。...元数据的一个例子是 oracle 提供的 PL/SQL 包的源代码。公共用户是每个容器中都知道的数据库用户。...数据库服务器 = 实例 + 租户容器数据库 实例(instance) = 内存 + 后台进程 数据库(database) = 数据文件 + 控制文件+ 重做日志文件 如上图所示,租户架构下,单个...租户架构,每个 PDB 使用很少的内存,控制文件和日志文件公用的,那么只有数据文件是位于 PDB 自己特定的目录下。...租户架构西安通过 CON_ID 来识别 PDB,根容器为 1,种子 PDB 为 2,其他PDB 依次往后排,那么 CON_UID是干嘛的呢?

83720

Oracle 12c租户架构及优缺点

就像在没有租户特性之前,Oracle与MSSQL以及MySQL还是有很大的差异,因此对于Oracle租户也有一些不同的地方。本文主要描述Oracle 12c租户架构。...一、租户概念 Oracle租户环境包含一个容器数据库(CDB)和零个或多个可插拔数据库(PDB),一个PDB是一个模式,模式对象,以及非模式对象,如到一个Oracle网络客户端作为非CDB。...二、CDB容器 1、什么是CDB容器 一个CDB容器租户架构内的数据或元数据的逻辑集合。 下图为CDB容器示例 ?...元数据的一个例子是Oracle提供的PL/SQL包的源代码。公共用户是每个容器已知的数据库用户。根容器被命名CDB$ROOT。 系统容器 该系统包括根CDB和在CDB所有的PDBS。...3、带有应用程序容器的CDB 本变体,CDB包含一个名为的应用程序容器saas_sales_ac。

2.1K20

【安全警告】Oracle 12c 租户SQL注入高危风险防范

使用Oracle租户选件时,由于Container容器和PDB融合共存,则权限控制必将更加重要,之前的文章我们提到,Oracle 12.2 的 lockdown profile就是为了实现PDB...我们2016年『比特币事件』,总结了:数据安全的十六大军规,其中有一条也明确提到最小权限守则,而且要真正实现权限管理。...SQL注入攻击的风险 我们来看看如果权限控制不当,可能遭遇到的数据库安全风险。根据最近披露的风险之一,通过SQL注入可能影响数据库的安全,以下问题影响到租户的12.1.0.2.0最新版本。...假如我们CDB拥有一个普通用户,因为某种原因它申请和被授予了EXECUTE_CATALOG_ROLE的角色: SQL> connect / as sysdba Connected....当以下一个系列的SQL执行之后,一个普通用户获得了DBA的权限,如果这是一个租户的环境,这个提权将是非常危险的: SQL> connect c##eygle/eygle Connected.

1.1K60

Oracle 12c 租户专题|CDB元数据内幕

原文链接 https://blog.dbi-services.com/oracle-12c-cdb-metadata-a-object-links-internals/ 译者 周天鹏 温馨提示:这篇文章只适合那些想了解租户环境下数据字典...对于12c的租户架构来说,最具挑战性的技术难题是如何共享数据字典。 首先,虽然每个PDB有自己的元数据描述自己独有的信息。...但是,数据字典自身的元数据必须共享,举个例子就是,所有dbms_xxx的PL/SQL包都存储CDB$ROOT,PDB仅存放指向他们的一个链接。...例如通过12c新增的CDB_xxx视图。虽然他们暴露为用来查询容器数据的对象,但其实他们真正查询的数据还是存储每个PDB。 这听起来似乎有点迷,虽然官方文档也不会很深入的讲具体的实现原理。...SQL> select * from DEMO_REG_TABLE; DUMMY ---------- 111 然后,我PDB执行相同操作(但数据不同): SQL> alter

1.3K110

Oracle 12c CDB数据库数据字典架构

除此之外,Oracle自身的一些数据库对象,如目录,PL/SQL代码等等这些都是元数据,都需要存放在数据字典。随着12c 容器数据的普及,Oracle数据字典发生了哪些变化呢,下文即是具体描述。...Oracle 12c CDB数据库采取分离存放的方式,及各个PDB数据字典独立存放。 从用户和应用程序的角度来看,CDB每个容器的数据字典是分开的,因为它将在非CDB。...如下图显示PDB的数据字典包含指向根数据字典的指针。在内部,Oracle提供的对象(如数据字典表定义和PL / SQL包)仅在根中表示。 ?...这种架构实现了CDB内的两个主要目标:     减少重复         例如,DBMS_ADVISORCDB不是将PL / SQL包的源代码存储每个PDB,而是将其存储CDB$ROOT其中,从而节省了磁盘空间...12c租户架构及优缺点 Oracle 12c手工建库(非CDB及CDB创建)

1K10

租户:防止意外创建可插拔数据库(PDB)- Lone-PDB

Oracle 12c之前的数据库都是非CDB,从Oracle 12.1.0.2开始,不推荐使用非CDB体系结构,而是使用租户架构。...租户架构,使用单个可插拔数据库(PDB)(也称为单租户或lone-PDB),可以不必支付租户选项相关费用。...标准版,你不能无意中创建其他PDB;但在企业版,你可能需要购买一些额外的许可证。 本文给出了一个例子,说明如何避免Lone-PDB实例创建多个用户定义的PDB。...> 企业版没有任何内容阻止您创建额外用户定义的可插拔数据库,即使您没有租户选项。...:) 如果你容器数据库中意外创建了多个用户定义的PDB,并且你对潜在的许可违规情有独钟,您可能需要执行以下操作。 创建一个没有PDB的新CDB实例。 使用前面提到的触发器保护新的CDB实例。

55300

YH9:Oracle Multitenant 知识库

如在 CDB 层面的用户信息查询,可以通过新的视图 CDB_USERS 进行,通过这个视图可以直观的看到一个用户在哪些容器存在: ?...回答了这四个问题,少踩12c 租户的好多坑 3、安全管理 用Oracle租户选件时,由于Container容器和PDB融合共存,则权限控制必将更加重要,Oracle 12.2 的 lockdown...前段时间披露的风险,通过SQL注入可能影响数据库的安全,有些问题影响到租户的12.1.0.2.0最新版本。...【安全警告】Oracle 12c 租户SQL注入高危风险防范 4、用户权限管理 租户环境,权限可以全局授予整个CDB,一个应用容器数据库(application container),或者单个的...12.2,关于权限,又有哪些新的变化呢? 一起来学习Oracle12.2 租户环境下的授权管理。

1.3K70

Oracle 12c系列(一)|租户容器数据库

可插入数据库的概念 Oracle Multitenant Container Database(CDB),即租户容器数据库,是Oracle 12C引入的特性,指的是可以容纳一个或者多个可插拔数据库的数据库...租户环境的组成 ROOT Root容器数据库,是CDB环境的根数据库,根数据库中含有主数据字典视图,其中包含了与Root容器有关的元数据和CDB中所包含的所有的PDB信息。...Application Containers 12cR2版本,Oracle租户功能进行了增强,CDB root容器可以创建一个叫做Application root的容器,可在其内创建多个依赖于...PDB无法执行ALTERSYSTEM SWITCH LOGFILE命令,只有公用用户ROOT容器才可以执行该命令。.../rdbms/admin/catcdb.sql 注意事项: 1.catcdb.pl执行需要输入两个参数,文档并没有指出是什么参数.

2.5K70

Oracle 12c系列(一)|租户容器数据库

可插入数据库的概念 Oracle Multitenant Container Database(CDB),即租户容器数据库,是Oracle 12C引入的特性,指的是可以容纳一个或者多个可插拔数据库的数据库...租户环境的组成 ·ROOT Root容器数据库,是CDB环境的根数据库,根数据库中含有主数据字典视图,其中包含了与Root容器有关的元数据和CDB中所包含的所有的PDB信息。...Application Containers 12cR2版本,Oracle租户功能进行了增强,CDB root容器可以创建一个叫做Application root的容器,可在其内创建多个依赖于...PDB无法执行ALTER SYSTEM SWITCH LOGFILE命令,只有公用用户ROOT容器才可以执行该命令。.../rdbms/admin/catcdb.sql 注意事项: 1.catcdb.pl执行需要输入两个参数,文档并没有指出是什么参数.

1.8K130

docker 部署oracle

Oracle数据库服务器Docker映像包含在Oracle Linux 7上运行的Oracle数据库服务器12.2.0.1企业版。该映像包含具有一个pdb的租户配置的默认数据库。...当该STATUS字段显示(healthy)的输出时,数据库服务器就可以使用了docker ps。 连接到数据库服务器容器 使用sys用户连接到数据库的默认密码是Oradoc_db1。...从容器内部连接 可以通过执行SQL * Plus来连接数据库服务器, $ docker exec -it bash -c "source /home/oracle/.bashrc...; sqlplus /nolog" 从容器外部连接 数据库服务器为通过SQL Net协议的 Oracle客户端连接公开端口1521,为Oracle XML DB公开端口5500。...通过重用OracleDBData数据卷,可以将持久化的数据文件与另一个容器重用。

2.3K30

oracle数据库发展简史

2、第一个商业可用的关系数据库管理系统(RDBMS) 1979年,RSI推出了Oracle V2 (版本2),是第一个商业可用的基于SQL的RDBMS,关系数据库历史上具有里程碑的意义。...3、可移植版本的Oracle数据库 1983年发布的Oracle Version 3是第一个大型机、小型计算机和个人计算机上运行的关系数据库。...此外,Version 6还引入了PL/SQL语言的第一个版本,这是一种专有的过程化扩展SQL。 5、PL/SQL存储程序单元 1992年发布的Oracle7引入了PL/SQL存储过程和触发器。...7、互联网计算 1999年发布的Oracle8i数据库提供了对互联网协议的本机支持以及对Java的服务器端支持。Oracle8i是为互联网计算而设计的,使数据库能够部署多层环境。...11、接入云计算 Oracle Database 12c是2013年发布的,专为云环境设计,具备新的租户架构、内存列存储(IM列存储)以及对JSON文档的支持。

33640

【DB宝26】Oracle 19c创建容器数据库(3)--手动创建CDB

您可以使用新子句SEED FILE_NAME_CONVERT重命名种子可插拔数据库的数据文件,同时从根容器执行复制操作。该子句会创建种子可插拔数据库及该数据库自己的数据文件。...•第四步是通过执行连接到根容器的catcdb.sql脚本创建目录和其他组件。 麦老师不建议手工建库,因为很多组件不全,而且创建过程非常麻烦。...此时会创建根容器和种子可插拔数据库。您可以使用另一个子句SEED FILE_NAME_CONVERT指定种子文件的位置。如果省略此子句,OMF会决定种子文件的名称和位置。...本例,/oracle/dbs和/oracle/seed目录必须存在。...手工建库只是特殊场景才会用到。 本文结束。

3.6K20

Oracle 19c 之多租户 PDB 连接与访问(三)

前面已经说过创建租户以及租户体系架构了,感兴趣的小伙伴可查看历史文章。今天下午微信公众号又有重大的更新了,底部出现了分享、点赞、再看三个按钮,所以发一篇试试新功能。...如上图,当我使用 sqlplus 连接到 PDB 时,每行 SQL 前均会显示所连接到的容器租户以及用户名称,如 SYS@JIEKEPDB1> .这个命令提示符是可以配置的。... $ORACLE_HOME/sqlplus/admin 目录下有一个 glogin.sql 文件,最后添加 sqlprompt 相关的提示便可以了。...最最后,亲测,export ORACLE_PDB_SID 12c 不可用,不过 TWO_TASK=JIEKEXUPDB1 到时可以使用。...TWO_TASK 和直接通过 tns 别名登录到 PDB 的,需要租户容器 SYS 密码,当不知道密码时比较麻烦;那么只有通过 sqlplus 先登录到根容器然后再使用 alter session set

4K20
领券