sqlplus environment $SQLPATH login.sql

常用sqlplus 每次可能都要set pagesize \set linesize \set serveroutput很麻烦,sqlplus 允许每次启动都是会查找一个login.sql的文件自动格式化这些变量,从当前目录查找,也可以指定SQLPATH变量批定login.sql存放路径,这样从哪个目录进sqlplus都可以找到。

ORACLE 对象类型 ODCIAggregate 自定义聚合函数

在 Oracle 数据库中,可以使用 PL/SQL 语言来创建自定义聚合函数。自定义聚合函数的创建过程与标准 SQL 函数的创建有所不同
CREATE OR REPLACE TYPE “STRCAT_TYPE” as object(
cat_string varchar2(4000),
static function ODCIAggregateInitialize(cs_ctx in out strcat_type) return number,
member function ODCIAggregateIterate(self in out strcat_type,value in varchar2) return number,
……….

ASH buffers的大小疑问

网上有一种说法ASH buffers的大小按照以下算法分配:Min(shared_pool_size*5%,2M*cpu_count)
我验证了一下,使用asmm或msmm,找了三台机器,结果有点不同

JOBRUNNINGLOG的创建-计算程序运行时间-自建JOB监控日志

ORACLE自身提供的JOB监控视图 dba_jobs,dba_jobs_running 里只提供JOB一共运行耗时多久(无论运行多少次),或者JOB是否正在运行查看。那么我想知道每次JOB的运行时间,怎么办?此为我的实现方式。代码的主要部分。思路:记录程序开始的时间点,记录程序结束的时间点,二者之差写入一张JOBRUNNINGLOG表中。就是自己监控自己的JOB。此思路已经实现。以下为实现的核心代码。