外部表简单使用
外部表demo1.ctl内容10,Sales,Virginia20,Accounting,Virginia30,Consulting,Virginia40,Finance,Virginiacreate directory ET_DIR AS 'D:TEMP';drop table t1_et;create table t1_et(deptno number,dname varchar2(14),loc varchar2(13))ORGANIZATION EXTERNAL( TYPE ORACLE_LOADER DEFAULT DIRECTORY et_dir ACCESS PARAMETERS ( records delimited by newline fields TERMINATED BY ',' REJECT ROWS WITH ALL NULL FIELDS ) LOCATION ( 'demo1.ctl' ))REJECT LIMIT unlimited;sel
依赖关系,主外键关系获取
--主表共被哪些外键依赖SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,OWNER,TABLE_NAME FROM all_constraints START WITH TABLE_name='T_EMP_CDE' AND CONSTRAINT_TYPE='P' CONNECT BY PRIOR CONSTRAINT_NAME=r_CONSTRAINT_NAME;--从上到下,遍历某对象依赖关系select name,type,REFERENCED_OWNER refowner,lpad(' ',8*(level-0))||REFERENCED_NAME refname,REFERENCED_TYPE reftype from all_DEPENDENCIES where name <> referenced_name and referenced_owner <> 'SYS' AND referenced_type <> 'NON-EXISTENT'
自治事务的介绍
在基于低版本的ORACLE做一些项目的过程中,有时会遇到一些头疼的问题.,比如想在执行当前一个由多个DML组成的transaction(事务)时,为每一步DML记录一些信息到跟踪表中,由于事务的原子性,这些跟踪信息的提交将决定于主事务的commit或rollback. 这样一来写程序的难度就增大了, 程序员不得不把这些跟踪信息记录到类似数组的结构中,然后在主事务结束后把它们存入跟踪表.哎,真是麻烦!有没有一个简单的方法解决类似问题呢?ORACLE8i的AUTONOMOUS TRANSACTION(自治事务,以下AT)是一个很好的回答。AT 是由主事务(以下MT)调用但是独立于它的事务。在
10gSQLPLUS默认提示符设置
效果LIS@ cscore211>包含用户名@机器名>显示运行时间,set serveroutput on需要如下操作:vi /opt/oracle10g/product/10.2.0/db_1/sqlplus/admin/glogin.sql--wcydefine _editor=viset sqlprompt "_user@ _connect_identifier> "set timing onset serveroutput on size 1000000set trimspool onset long 5000set linesize 100set pagesize 9999set arraysize 1000column plan_plus_exp format a80[@more@]
ORACLE10G安装在Rhel5并升级到10.2.0.4
一、RedHat5系统安装1.已经安装好操作系统,不是按我们的标准安装,需要增加如下包cd /media/"RHEL_5.2 i386 DVD"/Server/rpm -Uvh setarch-2*rpm -Uvh make-3*rpm -Uvh glibc-2*rpm -Uvh libaio-0*rpm -Uvh compat-libstdc++-33-3*rpm -Uvh compat-gcc-34-3*rpm -Uvh compat-gcc-34-c++-3*rpm -Uvh gcc-4*rpm -Uvh libXp-1*rpm -Uvh openmotif-2*rpm -Uvh compat-db-4*2.防火墙增加1521端口二、Oracle的安装前准备1、配置系统内核参数,以root用户登录,修改在/etc/sysctl.conf文件,在该文件中添加以下参数:vi /etc/sysctl.con
使用DBMS_FGA包捕获dml语句
使用DBMS_FGA包捕获dml语句 一、原有捕获触发器的问题在Oracle9i中,使用trigger来对某表DML操作的语句捕获,如下:CMN_LOG脚本:create table CMN_LOG(SERIAL_ID NUMBER(10) not null,PROGRAM_ID VARCHAR2(30) not null,OP_TYPE VARCHAR2(4) not null,OP_DATE DATE not null,OP_LOG VARCHAR2(2000) not null,OP_DETAIL VARCHAR2(2000) not null,OP_USER VARCHAR2(10) not null)插入数据为:insert into CMN_LOG (SERIAL_ID, PROGRAM_ID, OP_TYPE, OP_DATE, OP_LOG, OP_DETAIL, OP_USER)values (1096, 'F_ExchangeInit', '3', to_date('07