天天看點

Oracle重命名sys或system操作記錄

oracle等保中有條要求:應重命名或删除預設賬戶,修改預設賬戶的預設密碼。

給的建議是修改sys,system預設賬戶名稱,避免使用常見使用者名稱;

以下記錄了兩種方法來實作上面的要求:Oracle重命名sys操作記錄

方法一:通過使用者的資訊是存儲在user$實體表中的id來修改

1.1、首先擷取使用者的id

select username,user_id from dba_users where username='SYS';
 USERNAME			  USER_ID
------------------------------ ----------
SYS					0
或者:
select user#,name from user$ where name='SYS';
     USER# NAME
---------- ------------------------------
	 0 SYS
           

1.2、更新user$表中的記錄(注意:在更新的時候,新的名字SYSA必須為大寫)

SQL> update user$ set name='SYSA' where user#=0;
1 row updated.

SQL> commit;
Commit complete.

SQL>  alter system checkpoint;
System altered.

SQL> alter system flush shared_pool;
System altered.

SQL> conn sysa/sys as sysdba
Connected.
           

方法二:通過修改Oracle的隐含參數,_enable_rename_user來開啟Oracle的rename功能

2.1、檢視_enable_rename_user

SQL> select t1.ksppinm,t2.ksppstvl,t1.ksppdesc from x$ksppi t1,x$ksppcv t2 where t1.indx=t2.indx and t1.ksppinm like '_enable_rename_user';
KSPPINM
--------------------------------------------------------------------------------
KSPPSTVL
--------------------------------------------------------------------------------
KSPPDESC
--------------------------------------------------------------------------------
_enable_rename_user
FALSE
enable RENAME-clause using ALTER USER statement
           

2.2、修改_enable_rename_user(注意:在修改隐含參數時,參數必須用雙引号引起來)

SQL> alter system set "_enable_rename_user"=true scope=spfile;
System altered.
           

2.3、将資料啟動到restrict模式下:

SQL> startup restrict force
ORACLE instance started.

Total System Global Area 3290345472 bytes
Fixed Size      2232840 bytes
Variable Size   1795165688 bytes
Database Buffers  1476395008 bytes
Redo Buffers     16551936 bytes
Database mounted.
Database opened.
           

2.4、操作修改rename user

SQL> alter user sysa rename to sys identified by syspwd;
User altered.
           

第二種方法需要重新開機資料庫,沒有方法一快捷