6个回答
展开全部
删除指定表空间是这样:
drop tablespace test1 including contents cascade constraints;
之后还要手动删除数据文件,因为上述操作只是删除了控制文件和数据字典中的记录。如果想简单可以使用OEM来删除,但我并不推荐。
删除指定表空间下的表使用select table_name,tablespace_name from user_talbes;然后把这些表做删除,可能会比较麻烦。
——————————————————
因为我手上没有oracle,所以看不到数据字典,我记得desc user_tables应该可以看到一个owner之类的,总之就是可以确定表格的归属,然后删除。楼上说删除用户的方法也不是很好。如果不是很清楚依然可以使用oem操作,然后选择显示SQL,就可以看到了。
drop tablespace test1 including contents cascade constraints;
之后还要手动删除数据文件,因为上述操作只是删除了控制文件和数据字典中的记录。如果想简单可以使用OEM来删除,但我并不推荐。
删除指定表空间下的表使用select table_name,tablespace_name from user_talbes;然后把这些表做删除,可能会比较麻烦。
——————————————————
因为我手上没有oracle,所以看不到数据字典,我记得desc user_tables应该可以看到一个owner之类的,总之就是可以确定表格的归属,然后删除。楼上说删除用户的方法也不是很好。如果不是很清楚依然可以使用oem操作,然后选择显示SQL,就可以看到了。
展开全部
drop user USER cascade 删除用户以及所有关联数据
或者
select 'drop table '||table_name from user_tables;
执行查询结果语句,删除所有表
或者
select 'drop table '||table_name from user_tables;
执行查询结果语句,删除所有表
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在该用户下写一个存储过程(要保证该用户并不是以dba身份登录的,不然会把系统表都删掉哦)
create or replace procedure pro_droptable is
cursor cur is select table_name from user_tables;
drop_sql varchar2(1000);
begin
for tbname in cur loop
begin
drop_sql:='drop table '||tbname.table_name;
execute immediate drop_sql;
end;
end loop;
end pro_droptable;
然后执行就OK啦
执行语句:call pro_droptable()
create or replace procedure pro_droptable is
cursor cur is select table_name from user_tables;
drop_sql varchar2(1000);
begin
for tbname in cur loop
begin
drop_sql:='drop table '||tbname.table_name;
execute immediate drop_sql;
end;
end loop;
end pro_droptable;
然后执行就OK啦
执行语句:call pro_droptable()
来自:求助得到的回答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-01-18
展开全部
删除用户 然后重建....
这样最快
这样最快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询