赞
踩
查询表名 select * from tab,
select table_name from user_tables;
select object_name,object_type from user_objects;
select table_name,column_name from use_tab_columns;
给已存在的表添加唯一性约束
alter table 表名 add constraint u_emp unique(列名); alter table 表名 modify(列名 unique)
丢弃约束 alter table 表名 drop constraint 约束名
禁用约束 alter table 表名 disable constraint 约束名 cascade (可在user_constraint的status 查看约束状态 user_cons_columns)
表中有很多伪例 uid,user,rowid,rownum (序列参数 nextval currval)
主键约束 id number(4) constraint id_pk primary key
外键约束 id number(2) constraint emp_dept_fk foreign key(department_id) references departments(department_id)(定义约束时可加上级联删除 on delete cascade 或 on delete set null)
增加/修改/删除/不再使用列 alter table test add/modify/drop column/set unused (name varchar2(20))
修改列名 alter table test1 rename column idd to id;
表只读 alter table test1 read only(read write);
删除表 drop table test1 purge(不保存在回收站)
如果误删除可以用flashback drop 功能找回
show recyclebin;
flashback table test1 to before drop;
另:如果是删除表中的记录
先查看SCN号( 最新的SCN号)
select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
1337038
查找数据被删除前的SCN
select * from test1 as of scn 1337038;
select * from test1 as of scn 1336868;
恢复数据
insert into test1 select * from test1 as of scn 1336868 where id=1
==============================
方法2(select current_scn from v$database;查看当前scn号)
将删除时间转换成 scn(select scn_to_timestamp(scn) from dual;将 scn号转为时间)
select timestamp_to_scn(to_timestamp('2016-09-09 15:00:00','yyyy-mm-dd hh24:mi:ss')) from dual;
通过SCN号创建一个临时表查看记录变化情况
create table reprotinf(count int,scn int);
declare i int:=1337893;
begin
for i in 1337893..1338494 loop
insert into reprotinf(scn)values(i);
update reprotinf set count=(select count(*) from test1 as of scn i) where scn=i;
end loop;
end;
/
然后和第一种方法一样,恢复数据
另:usernev() 返回当前用户环境的信息
select userenv('isdba') from dual; 是否是DBA
select userenv('sessionid') from dual; 返回会话标志
select userenv('entryid') from dual;返回会话入口标志
select userenv('instance') from dual; 返回当前instance标志
select userenv('language') from dual; 返回当前环境变量
select userenv('lang') from dual; 返回当前语言的缩写
select userenv('terminal') from dual; 返回用户的终端或机器的标志
select vsize(user),user from dual; 返回用户 的字节数
sys_context
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。