我们知道Oracle Database 12c中用户分为COMMON_USERS 和 LOCAL_USERS两种,其中COMMON_USERS缺省以”C##”开头 ,其实这是受一个隐含参数控制的,即 _common_user_prefix
我们可以定制COMMON USER的前缀,下面咱们测试下:
[oracle@lunar ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.1.0 Production on Thu Aug 29 21:25:56 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options SYS@lunarbb>show con_name CON_NAME ------------------------------ CDB$ROOT SYS@lunarbb>show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string +DATA/lunarbb/spfilelunarbb.or a SYS@lunarbb>col KSPPINM for a30 SYS@lunarbb>col ksppstvl format a15 SYS@lunarbb>col KSPPDESC for a55 SYS@lunarbb>select ksppinm, ksppstvl, KSPPDESC 2 from x$ksppi pi, x$ksppcv cv 3 where cv.indx=pi.indx and pi.ksppinm like '\_%' escape '\' 4 and pi.ksppinm like '%common%'; KSPPINM KSPPSTVL KSPPDESC ------------------------------ --------------- ------------------------------------------------------- _eliminate_common_subexpr TRUE enables elimination of common sub-expressions _dump_common_subexpressions FALSE dump common subexpressions _common_data_view_enabled TRUE common objects returned through dictionary views _common_user_prefix C## Enforce restriction on a prefix of a Common User/Role/Profile name Elapsed: 00:00:00.01 SYS@lunarbb> SYS@lunarbb>conn c##lunar/lunar Connected. C##LUNAR@lunarbb>create pfile='/tmp/pfile.bak' from spfile; create pfile='/tmp/pfile.bak' from spfile * ERROR at line 1: ORA-01031: insufficient privileges Elapsed: 00:00:00.00 C##LUNAR@lunarbb>conn c##lunar/lunar as sysdba Connected. SYS@lunarbb>create pfile='/tmp/pfile.bak' from spfile; File created. Elapsed: 00:00:00.12 SYS@lunarbb> [oracle@lunar ~]$ tail /tmp/pfile.bak *.query_rewrite_enabled='TRUE' *.remote_login_passwordfile='EXCLUSIVE' *.resource_manager_plan='SCHEDULER[0x420F]:DEFAULT_MAINTENANCE_PLAN' *.result_cache_max_size=1560K *.sga_max_size=330M# internally adjusted *.sga_target=330M *.shared_pool_size=160M *.skip_unusable_indexes=TRUE *.undo_tablespace='UNDOTBS1' *._common_user_prefix='L##' [oracle@lunar ~]$ SYS@lunarbb>shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SYS@lunarbb>startup pfile=/tmp/pfile.bak ORACLE instance started. Total System Global Area 346562560 bytes Fixed Size 2288240 bytes Variable Size 297797008 bytes Database Buffers 37748736 bytes Redo Buffers 8728576 bytes Database mounted. Database opened. SYS@lunarbb> SYS@lunarbb>conn c##lunar/lunar Connected. C##LUNAR@lunarbb>conn L##lunar/lunar ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. C##LUNAR@lunarbb> C##LUNAR@lunarbb>conn / as sysdba Connected. SYS@lunarbb> SYS@lunarbb>CREATE USER L##lunar IDENTIFIED BY lunar; User created. Elapsed: 00:00:00.80 SYS@lunarbb>grant dba,sysdba,connect,resource to L##lunar; Grant succeeded. Elapsed: 00:00:00.17 SYS@lunarbb> SYS@lunarbb>conn L##lunar/lunar Connected. L##LUNAR@lunarbb>conn L##lunar/lunar as sysdba Connected. SYS@lunarbb> SYS@lunarbb>show parameter common NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ _common_data_view_enabled boolean TRUE _common_user_prefix string L## _eliminate_common_subexpr boolean TRUE SYS@lunarbb>