连接到system用户,把用户test删除之后重建
conn / as sysdba
drop user test cascade;
create user test identified by password;
conn user/password
扩展资料:
Oracle数据库删除数据
一、Delete语句
语法:Delete From tableName; //删除tableName中所有数据
Delete From tableName Where <条件表达式>; //删除表中符合条件的所有数据
二、Truncate语句
语法:Truncate Table tableName; //清空表数据
Delete From tableName;与Truncate Table tableName的区别:
1delete删除数据之后数据是可以恢复的。Truncate没有机会恢复。
2删完数据之后,重新对表进行查询的时候效率不一样。Truncate之后的表,查询速度很快。
共性:都可以删除表的全部数据。
最简单粗暴的办法就是删除用户并加上cascade,如果不想删除用户,那么就这么删除完之后再重建用户。还有一般办法就是利用dba_table去查询,然后利用select拼出自己想要的所有删除语句,然后将语句放到执行窗口执行。你是要删除数据库用户还是应用程序用户?
通过系统视图syssysusers可以找到用户信息,删除数据库用户可以用以下代码实现。
declare @u nvarchar(128)
set @u = N'test'
if exists(select from syssysusers where issqluser = 1 and name = @u)
begin
declare @drop nvarchar(1000)
set @drop = N'drop user ' + @u
execute(@drop)
end
当然,你必须具有足够的权限。
如果要删除应用程序存储的用户。
delete userstable uid= 'user_to_be_deleted'
不必做判断,因为即使用户不存在,也能执行成功,只是没有记录被删除。oracle删除数据库,用不着用户名和密码,如果你是想drop database的命令删除数据库,后续的功夫还是蛮多的。
1、dbca删除数据库--傻瓜式, *** 作简单,直接选择你所需要删除的数据库,下一步一路下去,oracle全部自动搞定,删除比较干净。
2、通过用户登陆手动删除,oracle10g及以后的版本,必须在指定状态下执行drop database才能删除成功(备注:该命令仅删除控制文件、数据文件、日志文件,像spfile、alertlog等其他基本文件,还需要用户自己手动到目录下删除,很容易造成遗漏(占用多余空间)。当然,如果熟练,完全没问题)
3、手动直接删除系统文件,即无需命令,自己到系统目录下,把控制文件、数据文件、日志文件、参数文件、密码文件等等直接delete掉,同样起到删除数据库的效果。
我都回答到这种程度,LZ你看着办吧~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)