♣ 题目部分 RAC中如何指定JOB的运行实例? ♣ 答案部分 在RAC中,可以让JOB在某个指定的实例上运行。...对于DBMS_JOB和DBMS_SCHEDULER来说,它们的指定方法不同: (1)在DBMS_JOB下,在执行SYS.DBMS_JOB.SUBMIT包创建JOB的时候,可以指定INSTANCE参数,该参数指定了...JOB运行的实例。...在RAC环境中,采用DBMS_JOB包可以指定JOB运行时候的实例。...FROM V$PARAMETER D WHERE D.NAME = 'BACKGROUND_DUMP_DEST')); / 3) 创建存储过程用于在指定的实例上运行程序
♣ 问题 在Oracle中,如何判定实例是否运行? ♣ 答案 在启动Oracle实例之前,必须定义ORACLE_SID,Oracle根据SID的HASH值来唯一确定一个实例的地址。...当打开SQL*Plus工具,输入“sqlplus / as sysdba”以后,系统根据SID进行HASH,查找在共享内存中是否有相应的共享内存段(SHMID)存在,如果有,那么返回connected,...否则返回connect to an idle instance,这个实例名是存放在SGA中的variable size中。...通过ORADEBUG IPC可以得到variable所存放的SHM的SHMID号,在OS下使用ipcrm -m SHMID可以删掉这一段共享内存。...另外,在OS级别也可以使用sysresv命令来获取SHMID号。
存储和缓存的方案也有多种:你可以选择直接将会话存储在 SQL 数据库中,并且每次访问都查询一下、可以将他们存储在例如 Redis 或 Memcached 这样的缓存中、或者两者结合,在数据库之前设置缓存引擎...这就是你可以在一个 Django 请求中访问 request.user 的原因。...user_id 从解码到的 session_data 中获取,内建的 User 对象将根据存储的 user_id 被填充,在这之后在项目的视角中 User 对象就持续可用了。...然而,在 Postgres 中如果你尝试解析一个非法 JSON 文本,Postgres 会抛出一个错误并终止你的查询。在我自己的数据库中,有一些会话数据不能被作为 JSON 解析。...当你创建实例化视图时(以及当你刷新它时),视图对应的源代码将会被执行以生成结果用于填充视图。确保你在需要最新的数据的时候刷新一下视图!
; -- 结果 select * from test1; a --- 1 2 4 5 嵌套调用【内层提交】【外层回滚】:内外层数据全部存在 对于事务系统来说,内层函数、外层函数都在一个事务中,...内层提交就等于把事务提交了,所以外层数据也在。
相关 《Postgresql源码(60)事务系统总结》 https://www.postgresql.org/docs/current/plpgsql-transactions.html 实例...return PLPGSQL_RC_OK; } 实例2:PROCEDURE内报错自动回滚已执行的语句 drop table test1; create table test1 (a int); CREATE...= 0) AbortCurrentTransaction() 走AbortCurrentTransaction触发回滚动作 实例3:PROCEDURE内报错不会滚已经提交的语句 drop table...实例4:PROCEDURE包含EXCEPTION的语句块不支持COMMIT drop table test1; create table test1 (a int); CREATE or replace...false : true); 如果是call procedure语句 _SPI_current->atomic = false; 所以在执行exec_stmt_commit时,不会报错。
Q 题目 在Oracle中,实例恢复和介质恢复的区别是什么? A 答案 Redo日志是Oracle为确保已经提交的事务不会丢失而建立的一种机制。...在RAC环境中,如果某个实例宕机了,那么剩下的实例将会代替宕掉的实例做实例恢复。除非是所有的实例都宕机了,这样的话,第一个执行ALTER DATABASE OPEN的实例将会做实例恢复。...但是,这些数据文件可能还包含未提交的更改,要么是在实例失败前保存到数据文件中的,或者是在前滚过程中引入的。...Oracle数据库使用检查点位置,保证每个低于其SCN的已提交更改都已保存到磁盘。Oracle数据库应用Undo块,以回滚数据块中在实例失败前写入的或前滚过程中引入的未提交更改。...Oracle数据库应用Undo块回滚在数据块中未提交的改变,这些数据块是在实例失败之前或者前滚期间被写入的。回滚会将已执行但尚未提交的更改会返回到初始状态。
拉取postgresql镜像:docker pull postgres ?...运行postgresql:docker run -d -p 5432:5432 --name postgresql -v pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD...拉取postgresql可视化工具pgadmin4:docker pull dpage/pgadmin4 ?
Oracle中xmltype类型toObject函数用法总结。 用法总结 【实例一】 xmltype是oracle中的type object类型。...在实际使用中,可以当做xml对象来使用: set serveroutput on drop type person_typex; create type person_typex is object...【实例二】嵌套类型 注意嵌套类型对应到xml上,需要以嵌套类型的名字为根节点:参考下面例子的person字段。...那么这里最关键的是如何将xml的字段 mapping 到自定义类型中。 ORACLE文档中描述的是: 那么如果不提供schema的话,cannonical映射规则到底如何?文档中没有进一步描述。...替代方法 简化一下,输入为: John Doe30 输出元组 {NAME = 'John Doe', YEAR = 30} 在PostgreSQL
Oracle中,当需要建立一个自增字段时,需要用到sequence。...sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查阅。
Postgresql中有关plpgsql异常处理的一切(RAISE EXCEPTION) 1 抛出异常 主要列出实例,语法比较简单 语法 现在PL中支持使用RAISE语法抛出异常,具体支持下面五种语法...方式一:RAISE SQLSTATE 方式二:RAISE condition_name 方式三:RAISE 'text' USING ERRCODE = 'unique_violation' 抛出异常的实例展示...内的特殊变量: - SQLSTATE - SQLERRM condition:异常名字,有两种使用方式,所有异常列表在PG文档中可以找到《Appendix A....PostgreSQL Error Codes》,下面列举一部分。...特殊变量:SQLSTATE、SQLERRM只在EXCEPTION语法块中生效,可以打印错误码和错误信息。
♣ 题目部分 在Oracle中,简述Oracle中的游标。 ♣ 答案部分 在介绍游标之前先介绍一下Oracle数据库中库缓存(Library Cache)的作用及其组成结构。...当同样的SQL语句和PL/SQL语句再次被执行的时候就可以直接利用已经缓存在库缓存中的那些相关对象而无须再次从头开始解析,这样就提高了这些SQL语句和PL/SQL语句在重复执行时的执行效率。...库缓存(Library Cache)在SGA中的位置如下图所示: ?...当Oracle要执行目标SQL“select * from lhr.emp”时,首先会对该SQL的SQL文本进行哈希运算,然后根据得到的哈希值找到相关的Hash Bucket,在Hash Bucket中遍历对应的库缓存对象句柄链表...各个Data Heap之间是独立的,没有关联关系,Oracle会在Heap 0的属性“Data Blocks Pointer”中存储指向这些Data Heap的指针,这样Oracle通过访问Heap 0
Postgresql支持变长参数传递,参数被自动转换为数据传入函数体中,类似C语言的可变参数:int sum(int num_args, ...)。...0 定义与执行限制 参数列表中 定义 执行 定义多个VARIADIC 失败,参数列表只能有一个VARIADIC 普通参数+VARIADIC 成功 成功 VARIADIC+普通参数 失败 普通参数带默认...调用时使用定向传参 失败,VARIADIC不支持定向传参 调用时有重名函数 优先走非VARIADIC函数,除非参数列表中有显示VARIADIC关键字,或参数数目只能被VARIADIC匹配 1 VARIADIC实例
JSON与JSONB的差别在存储上,JSON直接保存文本不做任何解析;JSONB在输入后自动解析记录二进制信息。...在使用时JSONB省去了解析的步骤,使用时效率更高;JSONB支持索引;建议生产中使用JSONB。 注意双引号和单引号的使用,在json中最外层使用单引号后,需要内部使用双引号。...jsonpath、@@ jsonpath,请先阅读下面一章:JSONPATH 操作符 实例 结果 @?...jsonpath:给出的jsonpath找到结果集,能否满足jsonpath中的布尔表达式?...::jsonb @@ '$.a[*] > 2'; t select '{"a":[1,2,3,4,5]}'::jsonb @@ '$.a[*] > 5'; f JSONPATH jsonpath是Postgresql12
可以在docker hub上注册个账号,构建自己的镜像放到hub上,以便复用 年前给公司的同事培训过一次学习mysql,在阿里云服务器上使用docker给每个同事都搭建了一个msyql运行环境,差点没跑起来..., 一个运行起来的空的mysql容器占用了约200M内存,free -h命令可以查看内存使用情况 总结下使用docker搭建mysql实例的过程 我的是centos系统 查看linux版本可以通过下面命令进行查看...补充些docker基础概念知识 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。...容器是完全使用沙箱机制,相互之间不会有任何接口 镜像(Image) 镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。...镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器(Container) 容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。
可以在docker hub上注册个账号,构建自己的镜像放到hub上,以便复用 docker hub地址 我的地址 慕课网学习地址 年前给公司的同事培训过一次学习mysql,在阿里云服务器上使用docker...msyql运行环境,差点没跑起来, 一个运行起来的空的mysql容器占用了约200M内存,free -h命令可以查看内存使用情况 慕课网手记 (培训的资料准备笔记) 总结下使用docker搭建mysql实例的过程...补充些docker基础概念知识 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。...容器是完全使用沙箱机制,相互之间不会有任何接口 镜像(Image) 镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。...镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器(Container) 容器,从认识上来说,就是类创建的实例,就是依据镜像这个模板创建出来的实体。
在 Oracle 数据库中,同样类似的,可以计算出数据库的启动时间,以了解数据库实例连续运行的时间。...在 PostgreSQL 中,同样可以通过查询得到类似的效果: 1 select pg_postmaster_start_time()as START_SINCE, 2 date_part('day...PostgreSQL 中,关于时间处理的两个函数非常有用,date_part 可以将日期中的不同部分抽取出来,而 date_trunc 则类似 Oracle 中 Trunc 函数的作用,将时间进行截取处理...在 PostgreSQL 中,可以通过 epoch(即特定时点 1970-01-01 00:00:00 UTC)为起点进行计算。...Oracle 的数据库中,UnixTime 同样是非常重要的,在 SYS 用户的 SMON_SCN_TIME字典中记录中 Unix Time 和 Date 时间的对应,TIME_MP 和 TIME_DP
在 Oracle 数据库中,同样类似的,可以计算出数据库的启动时间,以了解数据库实例连续运行的时间。...PostgreSQL 中,关于时间处理的两个函数非常有用,date_part 可以将日期中的不同部分抽取出来,而 date_trunc 则类似 Oracle 中 Trunc 函数的作用,将时间进行截取处理...------------------------------- 2019-05-22 18:02:35.013766+08(1 row) 在 PostgreSQL 中还有一个有趣的函数 age,可以用来计算年龄...在 PostgreSQL 中,可以通过 epoch(即特定时点 1970-01-01 00:00:00 UTC)为起点进行计算。...Oracle 的数据库中,UnixTime 同样是非常重要的,在 SYS 用户的 SMON_SCN_TIME字典中记录中 Unix Time 和 Date 时间的对应,TIME_MP 和 TIME_DP
♣ 题目部分 在Oracle中,数据库和实例的关系是什么? ♣ 答案部分 数据库(DATABASE)是一个数据集合,Oracle数据库都将其数据存放在数据文件中。...在Oracle 12c之前,一个数据库可以被1个实例(Single Instance,单实例)或多个实例访问或挂载(RAC,集群)。...在CDB中,一个实例将与整个CDB关联。如果同一个服务器上有多个数据库,则每个非CDB或CDB都具有各自单独的相异实例。实例不能在非CDB和CDB之间共享。...多租户选项 •单租户配置:新体系结构的特殊案例,这不需要授权的选项 •非CDB:旧的Oracle Database 11g体系结构 在物理级别,CDB与非CDB一样有一个数据库实例和多个数据库文件。...•Undo Mode:在12.2之前,每个CDB实例仅有一个UNDO表空间,所有的PDB共用CDB$ROOT中的UNDO文件。在12.1中,所有的在一个实例中的PDB只能共享同一个UNDO表空间。
\rdbms\admin\ashrpt.sql (2)使用OEM,可以在性能页,单击“运行ASH报告”按钮生成ASH报告,由于OEM生产用的相对比较少,这里就不讨论了。...(3)可以利用存储过程DBMS_WORKLOAD_REPOSITORY.ASH_REPORT_HTML()来获取ASH报告的文本内容,然后将文本内容拷贝到文本文件中,最后修改文本文件的后缀名为html即可打开
前言 Postgresql中包含两类setof函数: SQL函数:https://www.postgresql.org/docs/current/xfunc-sql.html PLPGSQL函数:https...://www.postgresql.org/docs/current/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING 本文只关注...PLPGSQL中的return setof的使用方法。...INT, fooname TEXT); INSERT INTO foo VALUES (1, 2, 'three'); INSERT INTO foo VALUES (4, 5, 'six'); 支持实例...1-3场景,函数定义中的返回值不能是占位符类型record(实例4-6)。
领取专属 10元无门槛券
手把手带您无忧上云