Home >Database >Mysql Tutorial >Oracle 11.2.0.2新特性—用户重命名(Rename User)

Oracle 11.2.0.2新特性—用户重命名(Rename User)

WBOY
WBOYOriginal
2016-06-07 16:47:461089browse

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 - 64bit 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错误等等都不好说,所以生产上一定要慎重。 

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn