
删除无任何数据对象的表空间:首先使用PL/SQL界面化工具,或者使用oracle自带的SQLPLUS工具,连接需要删除的表空间的oracle数据局库。确认当前用户是否有删除表空间的权限,如果没有droptablespace,请先用更高级的用户(如sys)给予授权或者
oracle中删除一个列的方法:
ALTER TABLE 表名 DROP COLUMN 列名。
oracle简介
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
特点
1、完整的数据管理功能:
1)数据的大量性。
2)数据的保存的持久性。
3)数据的共享性。
4)数据的可靠性。
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示。
2)保证访问的准则。
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化。
4)数据物理性和逻辑性独立准则。
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sqlNet、SQLCONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的 *** 作。
这是一个技术发展的趋势,不在这里讨论。
优点
1、可用性强
2、可扩展性强
3、数据安全性强
4、稳定性强
一:表的恢复\x0d\\x0d\ 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:\x0d\\x0d\1、从flash back里查询被删除的表\x0d\\x0d\ select from recyclebin\x0d\\x0d\2执行表的恢复\x0d\\x0d\ flashback table tb to before drop,这里的tb代表你要恢复的表的名称。\x0d\\x0d\二:表数据恢复\x0d\\x0d\ 对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:\x0d\\x0d\1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。\x0d\\x0d\ 如:select from flashback_transaction_query where \x0d\table_name='TEST';\x0d\\x0d\ 2、执行表记录恢复\x0d\\x0d\ 一般先根据时间进行查询,查询语句模式为select from tb as of timestamp \x0d\to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点\x0d\\x0d\ 如select from scotttest as of timestamp to_timestamp('2009-12-11 \x0d\20:53:57','yyyy-mm-dd hh24:mi:ss');\x0d\\x0d\ 若有数据,恢复极为简单了,语句为flashback table tb to timestamp \x0d\to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');\x0d\\x0d\ 如flashback table scotttest to timestamp to_timestamp('2009-12-11 \x0d\20:47:30','yyyy-mm-dd hh24:mi:ss');\x0d\\x0d\注意:alter table testvarchar enable row movement;\x0d\\x0d\ 这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle \x0d\中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP \x0d\完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个 *** 作
一:表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
1、从flash back里查询被删除的表
select from recyclebin
2执行表的恢复
flashback table tb to before drop,这里的tb代表你要恢复的表的名称。
二:表数据恢复
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
如:select from flashback_transaction_query where
table_name='TEST';
2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为select from tb as of timestamp
to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点
如select from scotttest as of timestamp to_timestamp('2009-12-11
20:53:57','yyyy-mm-dd hh24:mi:ss');
若有数据,恢复极为简单了,语句为flashback table tb to timestamp
to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
如flashback table scotttest to timestamp to_timestamp('2009-12-11
20:47:30','yyyy-mm-dd hh24:mi:ss');
注意:alter table testvarchar enable row movement;
这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle
中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP
完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个 *** 作
删除数据库的表,关键点不在删除的 *** 作,而是在授权 *** 作删除。
为什么要删除?谁让删除的?这些都要形成文字的相关内容,不然在生产系统中,如果你是最后 *** 作的,那么板子只能打到你身上。
至于删除的语句很简单,最好用表所属于的用户登陆,然后drop table tablename;就可以了。
这样删除有一个好处,就是表在该用户的回收站(10g版本以及以后)中,如果想恢复还有办法。但是如果加了purge这个参数,那么你想恢复都没有办法了。(除非有备份)
oracle回收站的恢复方式:flashback table tablename to before drop;如果该用户没有flashback的权限,那么可以考虑以dba身份的用户登陆。
查看回收站的表,本用户登陆sqlplus连接,show recyclebin;
1、创建两个测试表,指定表空间TEMP;
create table test_ts_1(id number) tablespace temp;
create table test_ts_2(id number) tablespace temp;
2、查询表空间下的表;可以发现刚建的两张表;
select from user_tables t where tablespace_name = 'TEMP';
3、编写脚本,删除TEMP表空间下的所有表;
begin
for v_cur in (select distinct ttable_name from user_tables t where tablespace_name = 'TEMP') loop
execute immediate 'drop table '||v_curtable_name||' purge';
end loop;
end;
4、再次查询,可以发现TEMP表空间下的表,已经被删除;
select from user_tables t where tablespace_name = 'TEMP'
以上就是关于oracle怎么删除数据库非空表空间全部的内容,包括:oracle怎么删除数据库非空表空间、在oracle中如何删除表中的一个列、oracle数据库误 *** 作把表删除了,怎么找回等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)