因为JOB的内容是写死的,如果使用remap导入到别的用户下,其log_user等还是原来的,再加上job的id是固定的,很可能和当前库有冲突,所以建议取出job的ddl。 dbms_metadata.get_ddl是不可以的。不行你们试试就知道了。 所以我写了个plsqlset serveroutput on size 100000 s
执行下段SQL,结果报错,ORA-01722无效数字SELECT * FROM (SELECT ROWNUM R, H.* FROM (SELECT T.ESEQID, T.ATTACHNAME, T.INFOCODE FROM NEWSADMIN.ANN_BASINFO T WHERE T.AT
今天OEM出了问题,没找到原因,就索性删了重装。 首先用emca命令清除em的相关配置: 1、使用emca -deconfig dbcontrol db命令删除配置 2、使用emca -repos drop删除repository 使用emca -config dbcontrol db -repos create 创建Database Con
自治事务,是独立于普通事务的一致性外,可以单独开辟的一个事务。即本事务提交或回滚,都不影响自治事务的提交和回滚。 这里举一例说明,自治事务记录报错信息的好处。 报错往往会中断,导致事务回滚,原来的报错触发条件便不可查询,我做了一个存储过程,在其他存储过程或触发器的exception里面调用这个段存储过程,便会将错误信息插入一张错误日志表。 存储过程如下: cre
session 和 process的区别: 连接connects,会话sessions和进程pocesses的关系 每个sql login称为一个连接(connection),而每个连接,可以产生一个或多个会话,如果数据库运行在专用服务器方式, 一个会话对应一个服务器进程(process),如果数据库运行在共享服务器方式,一个服务器进程可以为多个会话服务。 session 和
1.增加额外的数据文件到表空间中 例如:alter tablespace users add datafile '/u01/app/oracle/oradata/orcl/users02.dbf' size 25m; 2.修改表空间当前的数据文件 例如:alter database datafile '/u01/app/oracle/oradata/orcl/u
有时候一不小心,忘记给temp空间设置上限,很容易把临时表空间撑爆,怎么样替换临时表空间呢? 如下脚本。 --替换默认临时表空间 select PROPERTY_NAME,PROPERTY_VALUE from DATABASE_PROPERTIES where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'; 查看
物化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如select等操作,而其实际上是一个视图,一个由系统实现定期刷新其数据的视 图(具体刷新时间在定义物化视图的时候已有定义),使用物化视图更可以实现视图的所有功能,而物化视图却不是在使用时才读取,大大提高了读取速度,特别适 用抽取大数据量表某些信息以及数据链连接表使用,但是物化视图占用数据库磁盘空间。具体语法如下:
安装linux,配置网络,关闭防火墙和SELINUX,拷贝文件 ,不表 安装包 yum install compat-db* compat-gcc* compat-gcc-c++ compat-libstdc++* compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat pdksh libstdc*
有时候有些特殊的需求,比如如果某字段输入的值是A开头的,都禁止他输入。这个时候我们都知道要用触发器来实现,但是如何给出一个良好的报错呢? create or replace trigger codeadmin.trg_code_input_s before insert
查询oracle表的大小有几种方法,笔者简要分析下他们的异同 环境,newsadmin.newlog,原本有244,459,078条记录,delete后,现在只有51,109,919记录。 一、segments select bytes/1024/1024/1024 from dba_segments where segment_name='NEWLOG'; 结
有时候数据库总是会遇到一些灵异事件,比如什么数据莫名其妙被人篡改了,但也不想去查日志分析。一张不太应该改动的表,竟然有人会改动。这个时候需要一个捉鬼触发器。 以下是我利用sys_context写的一个较为完善的、用于记录操作行为的触发器。会把这些数据写进一个叫做guardian的表里。 create or replace trigger
看点如下: 1.变量设置初始值 2.使用bulk collect一次性取数据到内存,每2500条提交一次,一来避免快照过旧的报错,二来提高效率不像游标一条条取 3.通过rowid做删除操作 create or replace procedure newsadmin.p_bulkdel_newlog(p_edate&nb
快速的方法:使用TOAD,database->create->job选项,使用Use expression for subsequent executions ,在subsequent executions,选择每天早上6点,what部分写要执行的,例如: begin dbmteam.ver_eid; end; 测试方法用 begin
异常名称 ORACLE错误 说明 CU
看点如下: 1.truncate不能够直接执行,必须使用动态sql 2.动态sql拼接范例 3.跳过出错,使用when others then 4.返回出错信息,使用sqlerrm 存储过程建立如下: create or replace procedure ver_emlog is &n
快速指南 create table test_a (id number(18),ms clob); select id,ms from test_a; 这样看不见clob的内容。 select id,to_char(ms) from test_a; 会以字符形式显示。 insert into table_a(id,ms) select id,ms from
常用语句: select segement_name,segement_type from user_segement; Oracle中的段是占用磁盘物理空间的一个对象。尽管有多种段类型,常见的段类型如下: 聚簇(cluster) 这种段类型能存储表。有两种类型的聚簇:B*树聚簇和散列聚簇。聚簇通常用于存储多个表
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号