如何创建一个oracle新用户,如何创建Oracle新用户(新schema)

如何删除user(schema)?

如果想要快速的删除一个Schema下的所有数据库对象,您会使用什么样的手段来完成呢?

如果您是DBA,可能更倾向于先删除用户(Drop User)然后再重新创建用户。

优点:删除的彻底,不留任何痕迹(这是DBA伟大和危险的真实体现)。

缺点:要求的操作权限比较高,往往需要DBA亲力亲为;有一定误操作的风险;不便于书写到自动化脚本中,因为在当前用户有session连接的情况下是无法实现用户删除的。

如果drop user 用户名:  时出现下边的错误:

情况 1.

12:19:13  [DROP - 0 row(s), 0.000 secs]  [Error Code: 1922, SQL State: 42000]  ORA-01922: CASCADE must be specified to drop 'MIKE'

drop user 用户名  cascade;

注意:

drop user xx :只是删除用户

drop user xx cascade :会删除此用户名下的所有表和视图

情况 2.

SQL〉DROPUSERmike01CASCADE

ERROR:ORA-01940: cannotdropauserthatiscurrently connected

由于当前用户正连接到数据库,所以无法删除

解决办法:

1) 查询此用户的会话进程,

SQL〉SELECTSID,SERIAL#FROMV$SESSIONWHEREUSERNAME='mike01';

SID    SERIAL#

---------- ----------

24      25341

86      18117

2) 结束此用户的所有会话

SQL>ALTERSYSTEM  KILL SESSION'24,25341';

System altered.

SQL>ALTERSYSTEM KILL SESSION'86,18117';

System altered.

3) 删除用户

SQL〉DROPUSERUSER1CASCADE;

如果您是一名开发人员,可能会倾向于使用开发工具(如Toad、PL/SQL Developer等)点选的方式完成清理工作。

优点:要求权限不高,如果工具功能掌握熟练可以较快的完成删除任务。

缺点:无法实现自动化和批量操作的目的,人工成本太高,效率极低;存在工具软件异常假死的现象,不推荐使用。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值