51CTO博客开发
因为JOB的内容是写死的,如果使用remap导入到别的用户下,其log_user等还是原来的,再加上job的id是固定的,很可能和当前库有冲突,所以建议取出job的ddl。 dbms_metadata.get_ddl是不可以的。不行你们试试就知道了。 所以我写了个plsqlset serveroutput on size 100000 s
51CTO速度太慢。而且分享率不高,现在在群论坛共享,地址如下http://qgc.qq.com/25921747/f/2
因为不能直接访问外网的listener主机,只能在server上直接做sqlplus,很不方便,所以决定做端口转发。我就简单说说,步骤非常容易1.查清楚listener的ip和 端口号lsnrctl status假如我们的实例叫做orcl,listener的地址是10.23.10.12,端口是15212.打开一个有端口转发功能的shell连接工具,比如secureCRT选择一台你最常连接的serv
首先要先定位磁盘问题,怀疑到是过期备份导致的。df -h | awk '$5 >= 90||$4>=90 {print}' Filesystem Size Used Avail Use% Mounted on 1.4T 1.3T 115G 92% /d01_test2
红帽不要脸,没有key没有yum,所以以前我都是用centos的yum,现在网管架起了我翻不过去的墙,不得已,我决定把源指向光盘。Centos也可以1、在光驱中插入光盘,也可以挂载iso文件2、以root用户登陆终端3、执行以下命令,挂载光盘mkdir /mnt/cdrom mount -o ro /dev/cdrom /mnt/cdrom 4、在/etc/yum.r
需求是这样的:SELECT EID, RESEARCHER --研究员 FROM NEWSADMIN.REP_BASINFO A WHERE RESEARCHER NOT LIKE '%,%' AND LENGTH(RESEARCHER)>3为保持数据格式的统一性,将以上执行出来的结果中人员之间的空格替换成英文状态下的逗号。替换的时候需注意,有些人员之间是两个空格符,避免出现连续两个&
执行下段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
row_number()over函数的使用row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的). 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是
今天OEM出了问题,没找到原因,就索性删了重装。 首先用emca命令清除em的相关配置: 1、使用emca -deconfig dbcontrol db命令删除配置 2、使用emca -repos drop删除repository 使用emca -config dbcontrol db -repos create 创建Database Con
修改主机名为HOST_A: 1.vi /etc/hosts 127.0.0.1 HOST_A localhost.localdomain localhost 2.vi /etc/sysconfig/ HOSTNAME=HOST_A 以上为永久修改方式,临时修改方式,hostname HOST_A 修改ip地址:ifconfig eth0 19
自治事务,是独立于普通事务的一致性外,可以单独开辟的一个事务。即本事务提交或回滚,都不影响自治事务的提交和回滚。 这里举一例说明,自治事务记录报错信息的好处。 报错往往会中断,导致事务回滚,原来的报错触发条件便不可查询,我做了一个存储过程,在其他存储过程或触发器的exception里面调用这个段存储过程,便会将错误信息插入一张错误日志表。 存储过程如下: cre
浅谈oracle中row_number() over()分析函数用法 row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)。 与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪劣ro
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'; 查看
以下是快速上手指南,我测试过了,很好用。 1.关闭虚拟机,使用界面扩展磁盘空间 EXPAND,没什么好说的,maxsize,别看错了。 2.启动虚拟机,root下: fdisk -l --看到新增加的柱面,还是只有原来的几个分区 fdisk /dev/sda --添加新的分区,(m帮助,n添加分区,p主分区,输入分
物化视图对于前台数据库使用者来说如同一个实际的表,具有和一般表相同的如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
文件:/etc/sysconfig/network-scripts/ifcfg-eth0 system-config-network 以下各值常见于所有的基本配置文件中: * DEVICE=name,这里name是物理设备的名字(动态分配的PPP设备应当除外, 它的名字是“逻辑名”。 * IPADDR=addr, 这里addr是IP
查询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
第一条,clob的索引别乱动 ALTER TABLE table_a MOVE TABLESPACE Tbs_tb LOB (ATTRIBUTE) STORE AS(TABLESPACE tbs_lob); 快速指南: alter index schema.index_1 rebuild tablespace TBS_IDX; 批量的话可以写个sql,例如:
快速的方法:使用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
wmsys.wm_concat是oracle10g以后提供的一个链接函数,有个非常好的用法就是可以链接不同行的相同列,以实现行转列的功能。一般用法如下: SQL> create table idtable (id number,name varchar2(30)); Table created SQL> insert into idtable values(10,
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号