随笔分类 -  【2】ORACLE

数据库
摘要:1、oracle文件备份恢复/etc/oraInst.loc/etc/oratab/home/oracle 家目录/oracle 安装目录/usr/local/bin/dbhome/usr/local/bin/coraenv/usr/local/bin/oraenv文件备份注意事项:在做备份或恢复操作之前,请停止所有业务环境,停止数据库。否则会导致数据库备份文件不一致,用该备份文件恢复的数据库将可能无法运行。2、oracle数据备份恢复2.1 数据库数据全库备份注:此操作需要启动数据库。切换至oracle用户,在OS侧创建备份使用目录:mkdir /oracle/backup登录oracle数 阅读全文
posted @ 2013-10-29 14:28 傲衣华少 阅读(511) 评论(0) 推荐(0)
摘要:create table ESPACE_TABLE( TABLE_NAME VARCHAR2(100) not null)create table ESPACE_COLUMN( TABLE_NAME VARCHAR2(100) not null, COLUMN_NAME VARCHAR2(100) not null)create table UC_TABLE_DIFFERENT( S_TABLE_NAME VARCHAR2(30), B_TABLE_NAME VARCHAR2(30), S_COLUMN_NAME VARCHAR2(30), B_COLUM... 阅读全文
posted @ 2013-09-03 16:18 傲衣华少 阅读(4979) 评论(1) 推荐(0)
摘要:大家都知道在v$session 中记录着客户端的机器名称,但是没有IP , 如果记录clinet ip 呢?con sys/sys as dba1. 利用triger 这里不介绍.2. 利用 DBMS_SESSION 过程包.BEGIN DBMS_SESSION.set_identifier(SYS_CONTEXT('USERENV', 'IP_ADDRESS')); END;3.我们可以通过触发器。create or replace trigger on_logon_trigger after logon on database begin dbms_appl 阅读全文
posted @ 2013-07-19 17:00 傲衣华少 阅读(22940) 评论(0) 推荐(0)
摘要:oracle中使用on delete cascade和on delete set null来建立外键 其面我们介绍了创建外键约束时如果使用oracle默认的创建方式,在删除被参照的数据时,将无法被删除,这一点在oracle9i中给了我们更多灵活的选择,我们可是使用on delete cascade和 on delete set null关键字来决定删除被参照数据时是否要将参照这个数据的那些数据一并删除,还是将那些参照这条数据的数据的对应值赋空。 例如下面这两个表中分别存的时员工的基本信息和公司的部门信息。我们为 create table dept (deptno number(10) not 阅读全文
posted @ 2012-12-06 15:52 傲衣华少 阅读(343) 评论(0) 推荐(0)
摘要:select * from (select m.sentinternumber,m.total_cnt,rownum rn from (SELECT t.sentinternumber, COUNT(*) OVER() total_cnt FROM e_uc_member t order by t.sentinternumber) mwhere rownum < 20) nwhere n.rn >=10========================上述SQL语句可以一次性查询出第n页的数据,及数据总行数。这样在分页查询时就只需要查询一次数据库了。 阅读全文
posted @ 2012-11-23 11:59 傲衣华少 阅读(220) 评论(0) 推荐(0)
摘要:有时候删除某张表记录的时候,会报错外键约束不能删除。如果不了解表之间的关系,可以通过以下语句查询到外键是建在哪张表上的:select * from dba_constraints where constraint_name='xxx' and constraint_type = 'R';例如:执行delete from t_bme_task;时报错:ORA-02292: integrity constraint (CCSYS.FK_T_BME_TASKRUNRESULT_TASKID) violated - child record found可以通过执行sel 阅读全文
posted @ 2012-10-08 15:01 傲衣华少 阅读(9486) 评论(1) 推荐(0)
摘要:to_date()与24小时制表示法及mm分钟的显示:一、在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date 阅读全文
posted @ 2012-09-29 16:57 傲衣华少 阅读(541) 评论(0) 推荐(0)
摘要:A表中有两个列C1,C2按照C1分组,每组按C2排序,删除超过200条的记录select c1,c2 from (select c1,c2,row_number() over (partition by c1 orderby c2) r from a) where r<=200; 阅读全文
posted @ 2012-09-17 14:43 傲衣华少 阅读(163) 评论(0) 推荐(0)
摘要:[解决方法]1)通过查找已被锁定的数据库表以及相关的sid,serial#,spid;select object_name,s.sid,s.serial#,p.spid from v$locked_object l,dba_objects o,v$session s,v$process p where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;2)在数据库中杀死Sessionalter system kill session 'sid,serial#'; --sid,serial#是上面查 阅读全文
posted @ 2012-09-10 10:47 傲衣华少 阅读(6688) 评论(0) 推荐(0)
摘要:一、unl文件导入oracle1、在Oracle上建表a2、vi一个a.ctl文件,内容如下:load datainfile '/home/see/nginrun/importNA/a.unl'insert into table afields terminated by '|' (C1, C2, C3, C4, C5, C6, C7, C8 )3、sqlldr sdu/sdu control=a.ctl direct=y log=a.log二、oracle导出unl上传oraexporter./oraexporter user=sdu password=sdu 阅读全文
posted @ 2012-09-07 10:44 傲衣华少 阅读(5591) 评论(0) 推荐(0)
摘要:create or replace procedure p_tx_getfaxdata( )asv_ErrorCode NUMBER; -- 出错的代码v_ErrorMsg VARCHAR2(200); -- 错误的消息显示v_CurrentUser VARCHAR2(8); -- 当前数据库用户v_Information VARCHAR2(100); -- 关于错误的信息begin //do the things you need to do. commit; --异常捕捉 Exception when others then beginv_ErrorCode := SQLCODE;v_Er 阅读全文
posted @ 2011-03-24 13:36 傲衣华少 阅读(387) 评论(0) 推荐(0)