视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle11.2.0.2新特性—用户重命名(RenameUser)
2020-11-09 12:42:30 责编:小采
文档


user$作为oracle的核心基表之一,修改数据字典会不会造成系统不稳定产生ora-600错误等等都不好说,所以生产上一定要慎重。

从Oracle 11.2.0.2开始提供了用户重命名的新特性,在以前的版本中,如果需要rename username我们一般使用imp的fromuser、touser,数据泵impdp的remap_schemas。如果说我们要导入一个schema数据替代以前的schema,并且之前的schema需要保留,那么可以rename之前的用户。


SYS AS SYSDBA@devcedb>select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

1)修改oracle的隐含参数"_enable_rename_user"
SYS AS SYSDBA@devcedb>alter system set "_enable_rename_user"=true scope=spfile;

System altered.

2)用restrict模式启动数据库
startup restrict force;
或者

alter system enable restricted session;

SYS AS SYSDBA@devcedb>alter system quiesce restricted;

System altered.

3)修改username
SYS AS SYSDBA@devcedb>alter user amber rename to ambernew identified by amber;

User altered.


4)disable restrict
SYS AS SYSDBA@devcedb>alter system disable restricted session;

System altered.
另外,在网上还有一种修改oracle数据字典的方法,并没有版本:
1)修改数据字典user$
update user$ set where user#=''; --生产库更改数据字典请谨慎操作

2)手工生成检查点,使update操作写入数据文件
alter system checkpoint;

3)清除share pool,,让oracle读更新后的数据字典
alter system flush shared_pool; --生产库flush sharepool请谨慎操作

user$作为oracle的核心基表之一,修改数据字典会不会造成系统不稳定产生ora-600错误等等都不好说,所以生产上一定要慎重。

下载本文
显示全文
专题