oracle 约束 排除数据,Oracle数据完整性约束常用操作

Oracle数据完整性约束常用操作

信息查询

SELECT * from dba_cons_columns;

SELECT constraint_name, table_name, constraint_type, status, deferrable, deferred, validated from dba_constraints; 变更约束执行时间(是否延缓执行,只对可延缓约束有效)

SET CONSTRAINTS xxx IMMEDIATE;              --立即

SET CONSTRAINTS xxx DEFERRED;                --延缓 添加约束

ALTER TABLE xxx.yyy ADD CONSTRAINT event_evtid_pk PRIMARY_KEY (evtid) [DEFERRABLE [initially deferred]] USING INDEX STROAGE(INITIAL 300K NEXT 300K) TABLESPACE ccc; 改变约束状态

ALTER TABLE xxx.yyy ENABLE|DISABLE VALIDATE|NOVALIDATE CONSTRAINT ccc; 利用官方提供的system.Exceptions表查找违反约束的地方.

a.) 如果没有该表,运行$ORACLE_HOME\rdbms\admin目录下的utlexpt1.sql进行创建

例如:        @D:\Tools\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlexpt1.sql

b.)执行语句是加上以下后缀: EXCEPTIONS INTO system.exceptions, 如:

ALTER TABLE scott.emp DISABLE NOVALIDATE CONSTRAINT PK_EMP;

INSERT INTO scott.emp(empno) VALUES (7788);

ALTER TABLE scott.emp ENABLE VALIDATE CONSTRAINT PK_EMP EXCEPTIONS INTO system.exceptions;

此时使用以下查询即可以找出问题:

SELECT rowid, this.* from scott.emp this WHERE ROWID IN (SELECT row_id from exceptions);

通过查询出来的rowid找到问题并解决之后,即可以改变约束状态了. 重命名约束

ALTER TABLE xxx.yyy RENAME CONSTRAINT ccc TO ccc_new; 删除约束

ALTER TABLE xxx.yyy DROP CONSTRAINT ccc [CASCADE];

相关文档:

首先来说Oracle的网络结构,往复杂处说能加上加密、LDAP等等。。这里不做讨论,重点放在基本的网络结构也就是我们最常用的这种情况

三个配置文件

listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下。

重点:三个文件的作用和使用

#------- ......

INTERVAL DAY TO SECOND数据类型

Oracle语法:

INTERVAL '{ integer | integer time_expr | time_expr }'

{ { DAY | HOUR | MINUTE } [ ( leading_precision ) ]

| SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] }

[ TO { DAY | HOUR | MINUTE | SECOND [ (fractional_seconds_precision) ] } ......

如果仅仅是lock,以下语句可以发现所有用户锁  :

SELECT s.username,

decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,

o.owner,

o.object_name,

&n ......

Step1. Insert empty_clob() into the Clob column of Oracle

Step2. Set autocommit to false

Step3. Select Clob as oracle.sql.CLOB from database

Step4. Insert String into Clob

Step5. Commit

Example:

import java.sql.*;

import java.io.*;

import oracle.jdbc.driver.OracleResultSet;

......

项目开发中,需要远程备份数据库,以下为C#远程备份数据库的代码

///

/// 数据库备份

///

/// dmp文件名称

/// log文件名称

///

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值