Oracle启动和禁用约束及删除违反约束的记录
一、禁用约束
alter table table_name disable novalidate constraint constraint_name
二、批量导入数据
三、在开启约束之前一定要检查违反约束的记录
1、执行Oracle中自带的脚本utlexpt1.sql创建exceptions表。该脚本在oracle_home/rdbms/admin目录下
sql>@oracle_home\rdbms\admin\utlexpt1.sql
2、执行带有exception是选项的alter语句,将违反约束条件的记录添加到exceptions表中保存
alter table table_name enable validate constraint constraint_name exceptions into sys.exceptions;
3、在exceptions表中使用子查询来锁定无效的数据行
select column1,column2,column3 from table_name where rowid in(
select row_id from sys.exceptions
) for update
4、根据查询结果修改违反约束的记录行(可以通过rowid来直接update)
5、重新执行带有alter 的开启约束的语句
alter table table_name enable validate constraint constraint_name
6、查询约束的状态是否为enable 、validate
select constraint_name,constraint_type,status,validated from dba_constraints where owner='OWNER' and table_name='TABLE_NAME';
四、确认exceptions表无用后删除或者truncate表
drop table sys.exceptions;
如何将回收站recyclebin中的对像还原?
SQL> flashback table cube_scope to before drop
表名可以是回收站系统的dba_recyclebin.object_name也可以是dba_recyclebin.original_name
但是此时问题来了,我已经用备份的DDL语句重建了一个新的表,这个时候再用此命令还原显然会报错,这个时候怎么办呢,只能还原成一个别名,具体操作命令是
SQL> flashback table cube_scope before drop rename to cube_scope_old
既然恢复了删除前的表中数据,现在只能从cube_scope_old中的数据插入cube_scope中
SQL> insert into cube_scope select * from cube_scope_old t
Oracle启动和禁用约束及删除违反约束的记录的更多相关文章
- Oracle 唯一 索引 约束 创建 删除
http://www.blogjava.net/lukangping/articles/340683.html/*给创建bitmap index分配的内存空间参数,以加速建索引*/ show para ...
- Oracle启动和归档模式
数据库运行 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例–>加载数据库–>打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操 ...
- [批处理]Oracle启动助手
前段日子开始学Oracle数据库,但是由于Oracle数据库的服务启动时间很长 所以机房的里面所有电脑的Oracle服务全部是被禁用的 所以每次上机使用的时候都要先进服务管理,然后把禁用更改为手动模式 ...
- Oracle主键约束、唯一键约束、唯一索引的区别
一般,我们看到术语“索引”和“键”交换使用,但实际上这两个是不同的.索引是存储在数据库中的一个物理结构,键纯粹是一个逻辑概念.键代表创建来实施业务规则的完整性约束.索引和键的混淆通常是由于数据库使用索 ...
- Oracle 启动实例(instance)、打开数据库
Oracle启动实例(instance).打开数据库 by:授客 QQ:1033553122 启动实例(instance).打开数据库 1.开启sqlplus [laiyu@localhost ~ ...
- 约束Constraints--主键约束、外键约束、唯一约束、检查约束、默认约束、NOT NULL约束、列约束与表约束、创建约束、删除约束
约束 Including Constraints 以下内容转自:https://www.cnblogs.com/wcl2017/p/7043939.html和http://blog.csdn.ne ...
- Homework 1_SQL Server中由于外键约束而删除数据失败
SQL Server中由于外键约束而删除数据失败 原因分析:外键约束问题.在配置文件中配置了一对一的关系,外键也是唯一的.数据库中数据有严格的依赖关系. 而在业务逻辑中,在往数据库里删除数据之前,却忘 ...
- Oracle查询优化-插入、更新与删除
--插入.更新与删除 --1.插入新纪录 --1.1.建立测试表 DROP TABLE TEST; CREATE TABLE TEST( C1 ) DEFAULT '默认1', C2 ) DEFAUL ...
- SQLServer禁用、启用外键约束
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ---启用or禁用指定表所有外键约束 alter table PUB_STRU NOCHECK constrai ...
随机推荐
- 我喜欢Mouding
我Smily喜欢Mouding
- 01.visual studio 2017添加菜单
创建项目 文件--新建项目 如果新建项目 左侧没有扩展菜单,请安装即可 添加菜单 右键--添加新项 菜单设置 菜单设置文件: MyCommandPackage.vsct <Buttons> ...
- python生成word中文字体
python生成word中文字体 我们今天用python生成word文件,主要是用到了PyRTF包生成rtf文件,由于PyRTF的包中文教程比较少,所以特此记录几篇文章,也希望给大家有一些帮助. 开始 ...
- vue-cli 本地环境 API 代理设置和解决跨域
前言 我们在使用 vue-cli 启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以 localhost: 来请求接口数据的,localhost 是没有办法设置 coo ...
- Redis系列一之《Redis设计与实践》整体观感
笔者别的Redis方面的书没有读过,读完这一本,力荐,作者黄建宏,对Redis不太熟悉的,但是对编程稍微有些基础的,全部 读下来应该无压力.作者的编写和讲解非常详细,覆盖的面基本上都讲到,之前一直都是 ...
- <随便写>WIN10家庭版调出策略组
1.管理员运行cmd文件 2.运行窗口输入gpedit.msc 运行结果:
- PageBarHelper分页显示类
一共有两个分页类,都可以使用(单独使用) using System;using System.Collections.Generic;using System.Linq;using System.Te ...
- 动态规划——DP算法(Dynamic Programing)
一.斐波那契数列(递归VS动态规划) 1.斐波那契数列——递归实现(python语言)——自顶向下 递归调用是非常耗费内存的,程序虽然简洁可是算法复杂度为O(2^n),当n很大时,程序运行很慢,甚至内 ...
- 两队列模拟一个栈,python实现
python实现两个队列模拟一个栈: class Queue(object): def __init__(self): self.stack1=[] self.stack2=[] def enqueu ...
- 延迟对象deferred
Twisted 官方称,“Twisted is event-based, asynchronous framework ”.这个“异步”功能的代表就是 deferred. deferred 的作用类似 ...