plpgsql系列教程—函数

函数声明 通过执行CREATE FUNCTION命令,以PL/pgSQL写成的函数可以被定义到服务器中。 CREATE or REPLACE FUNCTION somefunc(integer, text) RETURNS integer AS 'function body text' LANGUAGE plpgsql; PL/pgSQL是一种块结构的语言。一个块被定义为: [ <> ] [ DECLARE declarations BEGIN statements END [ label ]; 目前CREATE FUNCTION函数体就是简单的一个字符串。通常在写函数体时,使用美元符号引用通常比使用普通单引号语法更有帮助。如果没有美元引用,函数体中的任何单引号或者反斜线必须通过双写来转义。 推荐写法如下: CREATE FUNCTION somefunc(integer, text) RETURNS integer AS $$ DECLARE BEGIN END; $$ LANGUAGE … [Read more...]

基于Pgpool搭建PostgreSQL11的集群

基于Pgpool-II4.1.0搭建PostgreSQL11集群 Pgpool介绍 pgpool相关介绍不在该文章中,需要者可以参考我的另一篇文章。传送门:pgpool介绍 环境准备 本次使用三台CentOS7.3的服务器来搭建集群,首先在三台服务器上部署PostgreSQL11.6版本的数据库,部署教程大家可以网上自行查找。具体规划如下: 架构图参考官网: 搭建配置 01服务器配置 故障转移、在线恢复时需要ssh到其它服务器执行命令,故需要配置服务器之间无密码ssh登录(如服务器之间已经配置ssh可以跳过该节,但是需要修改failover.sh等脚本) [all servers]# cd ~/.ssh [all servers]# ssh-keygen -t rsa -f id_rsa_pgpool [all servers]# ssh-copy-id -i id_rsa_pgpool.pub postgres@server1 [all servers]# ssh-copy-id -i id_rsa_pgpool.pub postgres@server2 [all servers]# ssh-copy-id -i id_rsa_pgpool.pub postgres@server3 [all servers]# su postgres [all … [Read more...]

PostgreSQL常用数据类型及实践

[Read more...]

Oracle Linux 7使用syslog来管理Oracle ASM的审计文件

如果不对 Oracle ASM 实例的审计文件目录进行定期维护那么它将会包含大量的审计文件。如果存在大理审计文件可能会造成文件系统耗尽磁盘空间或 indoes,或者由于文件系统扩展限制而造成 Oracle 运行缓慢,还有可能造成Oracle ASM 实例在启动时 hang 住。 使用 Linux syslog 工具来管理 Oracle ASM 审计记录是一个很好的解决方案,通过使用操作系统的 syslog 工具来代替单独的 audit_dump_dest 目录来记录 Oracle ASM 审计记录。 1、对Oracle ASM实例设置audit_syslog_level与audit_sys_operations参数SQL>show parameter audit_sys_ NAME TYPE VALUE ---------------------------- -------------- ------------ audit_sys_operations boolean TRUE audit_syslog_level string SQL> alter system set AUDIT_SYSLOG_LEVEL='local0.info' scope=spfile sid='*'; System altered. SQL> 由于 audit_sys_operations 参数默认为 … [Read more...]

如何获得Oracle建议的Patch?

当Oracle 相关产品安装完成以后,我们会安装相应的修补程序,俗称为打Patch。而Oracle补丁的种类也是非常多,版本也是经常改变。及时的选择正确和适合的Patch也成为了一个非常有技术含量的工作。因此Oracle也为大家准备了一套 "推荐的补丁" 内容,该文档可以在MOS找到,名称为:Introduction to Oracle Recommended Patches (Doc ID 756388.1),通过此文章使客户可以更轻松地获取和部署针对目标环境和配置中遇到的已知关键问题的修复程序。   文档摘要 推荐的修补程序适用于下列产品。 有关详细信息,请查阅My Oracle Support说明。 当Oracle宣布其他Oracle产品的推荐补丁程序时,本说明将进行更新。 Product My Oracle Support Note Oracle Database Note:756671.1 Oracle Enterprise Manager Note:822485.1 Oracle Fusion Middleware Note:859115.1 Oracle Elastic Exalogic Cloud … [Read more...]

通过Real-Time SQL Monitoring来监视SQL语句

Oracle 11g数据库或更高版本具有一个新界面来监视长时间运行的SQL命令。该功能称为实时SQL监视。默认情况下,当SQL命令并行运行时,或者一次执行消耗了至少五秒钟的CPU或I / O时间时,将自动启动SQL监视。 MONITOR的SQL提示(hint)还可用于打开SQL语句的SQL监视。 SQL监视要求: 诊断和调整包许可证 STATISTICS_LEVEL参数将设置为 “TYPICAL” 或 “ALL” CONTROL_MANAGEMENT_PACK_ACCESS参数设置为 “DIAGNOSTIC + … [Read more...]

Oracle Database 19c 技术架构

Oracle官方文档中给出的Oracle Database 19c技术架构图,可以看出制作者的用心和精心。不翻译一下真是对不起作者! 同时本文可以作为学习Oracle体系结构很好的教材!值得大家收藏! 1. 数据库服务器(Database Server) 一个Oracle数据库至少由一个数据库实例和一个数据库组成。 数据库实例部分处理内存和进程,数据库部分则由称为数据文件的物理文件组成,并且可以是非容器数据库或多租户容器数据库。 Oracle数据库在其运行期间还会使用多个数据库系统文件。 单实例数据库体系结构由一个数据库实例和一个数据库组成。 数据库和数据库实例之间存在一对一的关系。 可以在同一台服务器上安装多个单实例数据库。 每个数据库都有单独的数据库实例。 此配置对于在同一台计算机上运行不同版本的Oracle数据库很有用。 Oracle Real Application … [Read more...]

【Troubleshooting】udev still not settled. Waiting.

【故障背景】 有位老铁,在物理机上面,新添加了一块硬盘,作为扩容使用。 重启操作系统后,就出现如下不断滚动的大量报错。 [cce] udev still not settled. Waiting. udevadm settle - timeout of 0 seconds reached, the event queue contains: /sys/module/scsi_wait_scan (25309) /sys/module/scsi_wait_scan (25310) udev still not settled. Waiting. udevadm settle - timeout of 0 seconds reached, the event queue contains: /sys/module/scsi_wait_scan (25311) /sys/module/scsi_wait_scan (25312) udev still not settled. Waiting. udevadm settle - timeout of 0 seconds reached, the event queue contains: /sys/module/scsi_wait_scan (25313) /sys/module/scsi_wait_scan (25314) udev still not settled. Waiting.[ OK ] [/cce] 当时的截图如下:   【解放方法】 使用操作系统光盘,进入恢复模式,修改udev文件 udev文件一般在 /etc/udev/rules.d/目录中     … [Read more...]

【OPatch】从 Oracle Database 19.3 升级到 Oracle Database 19.6

1. 背景介绍 由于Oracle Database 19c会作为Oracle长期支持的版本,官方也建议大家选择19c这个版本。而最新推出的20c会作为一个全新的发布序列,当前版本是20.1,此版本的生命周期也会比较短,因此可以再观望一下20c的后续版本。我安装了在Oracle官网可以下载到的19.3的版本,完成了升级到19.6版本的操作过程,给此项目工作提供文档支持。 2. 升级过程 可以从MOS获得 Database 19.6 的 patch,名称如下: [cce] Patch 30463595: COMBO OF OJVM RU COMPONENT 19.6.0.0.200114 DB RU 19.6.0.0.200114 [/cce] 安装Patch的时候,建议大家先阅读Patch中的README文档,文档中详细介绍了该patch的安装方法和其他使用方法等内容;由于Patch 30463595是两个补丁的合并,因此要分别安装其中的 30463595 和 30557433。 先检查当前Oracle数据库的补丁安装情况,使用opatch … [Read more...]

生产环境中Oracle数据库的静默安装方法

对于数据库的安装来说,我想很多朋友都是在虚拟机中完成实验过程的。 但在生产环境中,和虚拟机环境还是有很多区别和需要注意的地方的。 就以我近期为铁路主数据中心安装数据库的过程举例,为大家说明一下在生产环境中,安装Oracle的过程。   我们首先要了解清楚安装的具体信息,如: 数据库服务器的IP地址,服务器主机名,服务器用户名和口令; 操作系统版本(建议重装安装操作系统,这样更符合数据库的要求) 数据库版本,数据库安装路径,数据库实例名,数据库用户名和口令,数据库安装目录结构,数据相关配置等。   此片文章略过这些内容,直接进入安装过程。     第一步、创建相关组和用户:   # groupadd -g 54321 oinstall # groupadd -g 54322 dba # groupadd -g 54323 oper # useradd -u 54321 -g oinstall -G dba,oper oracle # echo "oracle"|passwd … [Read more...]

京ICP备14059771号-2