专栏首页数据库新发现Oracle 20c 不再支持特性:传统审计不支持 统一审计(Unified Auditing)成主流

Oracle 20c 不再支持特性:传统审计不支持 统一审计(Unified Auditing)成主流

在Oracle 20c 中,传统审计(Traditional Auditing)不再支持,统一审计(Unified Auditing)成为主流。

官方文档的说明如下:

Deprecated Features:
The following features are deprecated in this release.

Traditional auditing

Starting in Oracle Database 20c, traditional auditing is deprecated. 
Oracle recommends that you use unified auditing, which enables selective 
and more effective auditing inside Oracle Database.

统一审计是 Oracle Database 12c 推出的一套全新的审计架构,通过利用策略和条件在 Oracle 数据库内部有选择地执行有效的审计。新架构将现有审计跟踪统一为单一审计跟踪,从而简化了管理,提高了数据库生成的审计数据的安全性。

统一审计可以通过 V$OPTION 视图查询其是否启用:

SQL> SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';

VALUE
----------------------------------------------------------------
FALSE

注意:由于 Bug 的影响,即使完全的统一审计有效的情况下, V$OPTION 的 Unified Auditing 行也表示为 FALSE 。

如果没有启用该特性,可以通过如下方式启用:

[oracle@enmotech 20c]$ cd $ORACLE_HOME/rdbms/lib
[oracle@enmotech lib]$ make -f ins_rdbms.mk uniaud_on ioracle
/usr/bin/ar cr /opt/oracle/20c/rdbms/lib/libknlopt.a /opt/oracle/20c/rdbms/lib/kzaiang.o 
chmod 755 /opt/oracle/20c/bin

 - Linking Oracle 
rm -f /opt/oracle/20c/rdbms/lib/oracle
/opt/oracle/20c/bin/orald  -o /opt/oracle/20c/rdbms/lib/oracle -m64 -z noexecstack -Wl,--disable-new-dtags -L/opt/oracle/20c/rdbms/lib/ -L/opt/oracle/20c/lib/ -L/opt/oracle/20c/lib/stubs/   -Wl,-E /opt/oracle/20c/rdbms/lib/opimai.o /opt/oracle/20c/rdbms/lib/ssoraed.o /opt/oracle/20c/rdbms/lib/ttcsoi.o -Wl,--whole-archive -lperfsrv -Wl,--no-whole-archive /opt/oracle/20c/lib/nautab.o /opt/oracle/20c/lib/naeet.o /opt/oracle/20c/lib/naect.o /opt/oracle/20c/lib/naedhs.o /opt/oracle/20c/rdbms/lib/config.o  -ldmext -lserver -loraodm -lofs -lcellst -lnnet -lskgxp -lsnls -lnls  -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lclient  -lvsnst -lcommon -lgeneric -lknlopt -loraolap -lskjcx -lslax -lpls  -lrt -lplp -ldmext -lserver -lclient  -lvsnst -lcommon -lgeneric `if [ -f /opt/oracle/20c/lib/libavserver.a ] ; then echo "-lavserver" ; else echo "-lavstub"; fi` `if [ -f /opt/oracle/20c/lib/libavclient.a ] ; then echo "-lavclient" ; fi` -lknlopt -lslax -lpls  -lrt -lplp -ljavavm -lserver  -lwwg  `cat /opt/oracle/20c/lib/ldflags`    -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /opt/oracle/20c/lib/ldflags`    -lncrypt -lnsgr -ln -lnl -lngsmshd -lnnzst -lzt -lztkg -lmm -lsnls -lnls  -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lztkg `cat /opt/oracle/20c/lib/ldflags`    -lncrypt -lnsgr -ln -lnl -lngsmshd -lnro `cat /opt/oracle/20c/lib/ldflags`    -lncrypt -lnsgr -ln -lnl -lngsmshd -lnnzst -lzt -lztkg   -lsnls -lnls  -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls `if  /usr/bin/ar tv /opt/oracle/20c/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo -lserver"; fi` -L/opt/oracle/20c/lib/ -lctxc -lctx -lzx -lgx -lctx -lzx -lgx -lclscest -loevm -lclsra -ldbcfg -lhasgen -lskgxn2 -lnnzst -lzt -lxml -lgeneric -locr -locrb -locrutl -lhasgen -lskgxn2 -lnnzst -lzt -lxml -lgeneric -lcell  -lgeneric -lorazip -loraz -llzopro5 -lorabz2 -lorazstd -loralz4 -lipp_z -lipp_bz2 -lippdc -lipps -lippcore  -lippcp -lsnls -lnls  -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lsnls -lunls -llxled  -lsnls -lnls  -lcore -lsnls -lnls -lcore -lsnls -lnls -lxml -lcore -lunls -lsnls -lnls -lcore -lnls -lasmclnt -lcommon -lcore  -ledtn -laio -lons  -lmql1 -lipc1  -lmql1 -lipc1 -lfthread    `cat /opt/oracle/20c/lib/sysliblist` -Wl,-rpath,/opt/oracle/20c/lib -lm    `cat /opt/oracle/20c/lib/sysliblist` -ldl -lm   -L/opt/oracle/20c/lib `test -x /usr/bin/hugeedit -a -r /usr/lib64/libhugetlbfs.so && test -r /opt/oracle/20c/rdbms/lib/shugetlbfs.o && echo -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152 -lhugetlbfs`
rm -f /opt/oracle/20c/bin/oracle 
mv /opt/oracle/20c/rdbms/lib/oracle /opt/oracle/20c/bin/oracle
chmod 6751 /opt/oracle/20c/bin/oracle
(if [ ! -f /opt/oracle/20c/bin/crsd.bin ]; then \
	    getcrshome="/opt/oracle/20c/srvm/admin/getcrshome" ; \
	    if [ -f "$getcrshome" ]; then \
	        crshome="`$getcrshome`"; \
	        if [ -n "$crshome" ]; then \
	            if [ $crshome != /opt/oracle/20c ]; then \
	                oracle="/opt/oracle/20c/bin/oracle"; \
	                $crshome/bin/setasmgidwrap oracle_binary_path=$oracle; \
	            fi \
	        fi \
	    fi \
	fi\
	);

现在来看:

[oracle@enmotech lib]$ sqlplus / as sysdba

SQL*Plus: Release 20.0.0.0.0 - Production on Mon Feb 17 09:16:03 2020
Version 20.2.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  788529032 bytes
Fixed Size		    9572232 bytes
Variable Size		  515899392 bytes
Database Buffers	  260046848 bytes
Redo Buffers		    3010560 bytes
Database mounted.
Database opened.
SQL> SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';

VALUE
----------------------------------------------------------------
TRUE

禁用该功能,则需要反向操作:

cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk uniaud_off ioracle

通过 audit_unified_enabled_policies 可以查询数据库中启用的审计策略:

SQL> select * from audit_unified_enabled_policies;

POLICY_NAME		       ENABLED_OPTION  ENTITY_NAME		      ENTITY_ SUC FAI
------------------------------ --------------- ------------------------------ ------- --- ---
ORA_SECURECONFIG	       BY USER	       ALL USERS		      USER    YES YES
ORA_LOGON_FAILURES	       BY USER	       ALL USERS		      USER    NO  YES

通过统一审计功能 - unified auditing, 可以收集来自不同操作的审计信息,包括:

Fine-grained audit records from the DBMS_FGA PL/SQL package

Oracle Database Real Application Security audit records

Oracle Recovery Manager audit records

Oracle Database Vault audit records

Oracle Label Security audit records

Oracle Machine Learning for SQL records

Oracle Data Pump

Oracle SQL*Loader Direct Load

审计信息记录在SYSAUX表空间的 AUDSYS 模式下,通过一个只读表 AUD$UNIFIED 存储 , 数据字典视图 UNIFIED_AUDIT_TRAIL 也可以用于查询,该字典还集合了 X$UNIFIED_AUDIT_TRAIL 的当前信息, 角色 AUDIT_ADMIN 和 AUDIT_VIEWER 用于控制权限。

SQL> select OWNER,SEGMENT_NAME,SEGMENT_TYPE,PARTITION_NAME,bytes/1024/1024 "MB"    
  2  from dba_segments where OWNER='AUDSYS';

OWNER	   SEGMENT_NAME 		  SEGMENT_TYPE	       PARTITION_NAME			      MB
---------- ------------------------------ -------------------- ------------------------------ ----------
AUDSYS	   AUD$UNIFIED			  TABLE PARTITION      SYS_P301 			   .1875
AUDSYS	   SYS_IL0000019480C00097$$	  INDEX PARTITION      SYS_IL_P307			   .0625
AUDSYS	   SYS_IL0000019480C00031$$	  INDEX PARTITION      SYS_IL_P305			   .0625
AUDSYS	   SYS_IL0000019480C00030$$	  INDEX PARTITION      SYS_IL_P303			   .0625
AUDSYS	   SYS_LOB0000019480C00030$$	  LOB PARTITION        SYS_LOB_P302			     .25
AUDSYS	   SYS_LOB0000019480C00031$$	  LOB PARTITION        SYS_LOB_P304			     .25
AUDSYS	   SYS_LOB0000019480C00097$$	  LOB PARTITION        SYS_LOB_P306			     .25

这个特性的好处是:你不再需要担心 aud$ 占用大量空间了:

SQL> select count(*) from aud$;

  COUNT(*)
----------
	 0

记录一下我的当前数据库的统一审计信息:

SQL> select action_name,sql_text from unified_audit_trail;

ACTION_NAME		       SQL_TEXT
------------------------------ --------------------------------------------------------------------------------
LOGON			       CONNECT
STARTUP 		       STARTUP
LOGON
SELECT			       SELECT DECODE(null,'','Total System Global Area','') NAME_COL_PLUS_SHOW_SGA,   S
ALTER DATABASE		       ALTER DATABASE	MOUNT
LOGOFF
LOGON
ALTER TABLE		       ALTER TABLE ts_set_table ADD CONSTRAINT ts_set_ts
				  FOREIGN KEY (tablespace_nam

ALTER TABLE		       ALTER TABLE ts_set_table ADD CONSTRAINT ts_set_gt
				  FOREIGN KEY (table_obj#)


ALTER TABLE		       alter table XDB.XDB$RESOURCE add (ref(xmldata.XMLREF) with rowid)
ALTER TABLE		       alter table XDB.XDB$RESOURCE add (ref(xmldata.XMLREF) allow primary key)
ALTER TABLE		       alter table xdb.xdb$tsetmap
				    add constraint xdb$tsetmap_uniq1 unique (guid,

ALTER TABLE		       ALTER TABLE "XDB"."XDB$SCHEMA" ADD (acloid RAW(16), ownerid RAW(16))
ALTER TABLE		       ALTER TABLE "XDB"."XDB$ACL" ADD (acloid RAW(16), ownerid RAW(16))
ALTER TABLE		       ALTER TABLE vncr ADD CONSTRAINT pk_vncr primary key(hostid)
ALTER TABLE		       ALTER TABLE vncr ADD CONSTRAINT vncr_name UNIQUE(name)
ALTER TABLE		       ALTER TABLE shard_space ADD CONSTRAINT ss_in_pool
				  FOREIGN KEY (database_pool)

ALTER TABLE		       ALTER TABLE broker_configs ADD CONSTRAINT bk_in_shardspace
				  FOREIGN KEY (shard

ALTER TABLE		       ALTER TABLE shard_group ADD CONSTRAINT sg_in_region
				  FOREIGN KEY (region_num)

ALTER TABLE		       ALTER TABLE shard_group ADD CONSTRAINT sg_in_shardspace
				  FOREIGN KEY (shardspa

ALTER TABLE		       ALTER TABLE DATABASE ADD CONSTRAINT in_vncr
				  FOREIGN KEY (hostid)
				  REFERENCE

ALTER TABLE		       ALTER TABLE DATABASE ADD CONSTRAINT in_shardgroup
				  FOREIGN KEY (shardgroup_id)

ALTER TABLE		       ALTER TABLE DATABASE ADD CONSTRAINT in_drset
				  FOREIGN KEY (drset_number)
				  RE

ALTER TABLE		       ALTER TABLE DATABASE ADD CONSTRAINT in_shardspace
				  FOREIGN KEY (shardspace_id)

ALTER TABLE		       ALTER TABLE database ADD CONSTRAINT name_unique UNIQUE(name)
ALTER TABLE		       ALTER TABLE database ADD CONSTRAINT in_container
				  FOREIGN KEY (container)
				  R

ALTER TABLE		       ALTER TABLE shardkey_columns ADD CONSTRAINT sc_in_family
				  FOREIGN KEY (family_

ALTER TABLE		       ALTER TABLE service ADD CONSTRAINT in_family
				  FOREIGN KEY (table_family)
				  RE

ALTER TABLE		       ALTER TABLE service_preferred_available ADD constraint fk_db_spa
				  foreign key(

ALTER TABLE		       ALTER TABLE service_preferred_available ADD constraint
				     pk_spa primary key(

ALTER TABLE		       ALTER TABLE service_preferred_available ADD constraint
				     fk_sp_spa foreign k

ALTER TABLE		       ALTER TABLE service_preferred_available ADD constraint spa_in_pool
				  foreign ke

ALTER TABLE		       ALTER TABLE catalog_requests ADD CONSTRAINT cr_dbsrc
				  FOREIGN KEY (source_db)

ALTER TABLE		       ALTER TABLE catalog_requests ADD CONSTRAINT cr_dbtrgt
				  FOREIGN KEY (target_db)

ALTER TABLE		       ALTER TABLE catalog_requests ADD CONSTRAINT cr_database
				  FOREIGN KEY (exec_db)

ALTER TABLE		       ALTER TABLE chunks ADD CONSTRAINT chunk_shardspace
				  FOREIGN KEY (shardspace_id

ALTER TABLE		       ALTER TABLE all_chunks ADD CONSTRAINT allchunk_shardspace
				  FOREIGN KEY (shards

ALTER TABLE		       ALTER TABLE chunk_loc ADD CONSTRAINT cl_database
				  FOREIGN KEY (database_num)


ALTER TABLE		       ALTER TABLE chunk_loc ADD CONSTRAINT cl_shardgroup
				  FOREIGN KEY (shardgroup_id

ALTER TABLE		       ALTER TABLE chunk_loc ADD CONSTRAINT cl_shardspace
				  FOREIGN KEY (shardspace_id

ALTER TABLE		       ALTER TABLE chunk_loc ADD CONSTRAINT cl_chunk
				  FOREIGN KEY (chunk_number, shar

ALTER TABLE		       ALTER TABLE partition_set ADD CONSTRAINT ps_family
				  FOREIGN KEY (family_id)


ALTER TABLE		       ALTER TABLE tablespace_set ADD CONSTRAINT ts_family
				  FOREIGN KEY (family_id)


ALTER TABLE		       ALTER TABLE tablespace_set ADD CONSTRAINT ts_partset
				  FOREIGN KEY (partition_s

ALTER TABLE		       ALTER TABLE shard_ts ADD CONSTRAINT sts_ts
				  FOREIGN KEY (tablespace_set)
				  RE

ALTER TABLE		       ALTER TABLE global_table ADD CONSTRAINT gt_family
				  FOREIGN KEY (family_id)


ALTER TABLE		       alter table wmsys.wm$ric_table add constraint wm$ric_pk primary key (ct_owner, r
ALTER TABLE		       alter table wmsys.wm$ric_triggers_table add constraint wm$ric_triggers_pk primar
ALTER TABLE		       alter table wmsys.wm$insteadof_trigs_table add constraint wm$insteadof_trigs_pk
ALTER TABLE		       alter table wmsys.wm$workspaces_table add constraint wm$workspaces_pk primary ke
ALTER TABLE		       alter table wmsys.wm$version_table add constraint wm$version_pk primary key (wor
ALTER TABLE		       alter table wmsys.wm$version_hierarchy_table add constraint wm$version_hierarchy
ALTER TABLE		       alter table wmsys.wm$versioned_tables add constraint wm$versioned_tables__pk pri
ALTER TABLE		       alter table wmsys.wm$workspace_sessions_table add constraint wm$workspace_sessio
ALTER TABLE		       alter table wmsys.wm$workspace_savepoints_table add constraint wm$workspace_save
ALTER TABLE		       alter table wmsys.wm$modified_tables add constraint modified_tables_pk primary k
ALTER TABLE		       alter table wmsys.wm$udtrig_info add constraint wm$udtrig_info_pk primary key (t
ALTER TABLE		       alter table wmsys.wm$udtrig_dispatch_procs add constraint wm$udtrig_dispatch_pro
ALTER TABLE		       alter table wmsys.wm$resolve_workspaces_table add constraint wm$resolve_workspac
ALTER TABLE		       alter table wmsys.wm$vt_errors_table add constraint wm$vt_errors_pk primary key
ALTER TABLE		       alter table wmsys.wm$env_vars add constraint wm$env_vars_pk primary key (name)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table modify freeze_mode varchar2(20)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add freeze_owner varchar2(30)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add session_duration integer
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add (sitesList varchar2(4000))
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add(repSiteCount integer default 0)
ALTER TABLE		       alter table wmsys.wm$nested_columns_table add constraint wm$nested_columns_pk pr
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add(implicit_sp_cnt integer default 0)
ALTER TABLE		       alter table wmsys.wm$constraints_table add constraint wm$constraints_table_pk pr
ALTER TABLE		       alter table wmsys.wm$hint_table add constraint hint_table_unq1 unique(hint_id, o
ALTER TABLE		       alter table WMSYS.WM$udtrig_info rename column trig_type to trig_flag
ALTER TABLE		       alter table WMSYS.WM$udtrig_info add (event_flag integer)
ALTER TABLE		       alter table WMSYS.WM$udtrig_info add (tmp_flag integer)
ALTER TABLE		       alter table WMSYS.WM$udtrig_info modify (trig_flag integer)
ALTER TABLE		       alter table WMSYS.WM$udtrig_info drop (tmp_flag, TAB_MERGE_WO_REMOVE_COL, TAB_ME
ALTER TABLE		       alter table WMSYS.WM$udtrig_dispatch_procs add (trig_flag integer)
ALTER TABLE		       alter table WMSYS.WM$udtrig_dispatch_procs drop (bir_flag, air_flag, bur_flag, a
ALTER TABLE		       alter table WMSYS.WM$env_vars add (hidden integer default 0)
ALTER TABLE		       alter table wmsys.wm$constraints_table drop constraint wm$constraints_table_pk
ALTER TABLE		       alter table wmsys.wm$constraints_table add constraint wm$constraints_table_pk pr
ALTER TABLE		       alter table wmsys.WM$RIC_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$RIC_TRIGGERS_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$WORKSPACES_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$VERSION_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$VERSION_HIERARCHY_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$VERSIONED_TABLES drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$SYSPARAM_ALL_VALUES drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$WORKSPACE_SAVEPOINTS_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$MODIFIED_TABLES drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$UDTRIG_DISPATCH_PROCS drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$RESOLVE_WORKSPACES_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$VT_ERRORS_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$ENV_VARS drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$REPLICATION_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$NESTED_COLUMNS_TABLE drop primary key drop index
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add (bl_workspace varchar2(30))
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add (bl_version integer)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add (cr_status varchar2(20))
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add (sync_parver integer)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add (last_change date default sysdate)
ALTER TABLE		       alter table WMSYS.WM$workspaces_table add (depth integer)
ALTER TABLE		       alter table WMSYS.WM$version_table add (anc_depth integer)
ALTER TABLE		       alter table wmsys.wm$sysparam_all_values add constraint wm$env_sys_pk primary ke
ALTER TABLE		       alter table WMSYS.WM$udtrig_info add (
					  internal_type 	   varch

ALTER TABLE		       alter table WMSYS.WM$workspaces_table add (mp_root varchar2(30) default null)
ALTER TABLE		       alter table WMSYS.WM$version_table add (refCount integer default 1)
ALTER TABLE		       alter table wmsys.wm$mp_parent_workspaces_table add constraint wm$mp_parent_pk p
ALTER TABLE		       alter table wmsys.wm$mp_graph_workspaces_table add constraint wm$mp_graph_worksp
ALTER TABLE		       alter table wmsys.wm$workspaces_table add constraint workspace_lock_id_unq uniqu
ALTER TABLE		       alter table WMSYS.WM$udtrig_info add(TABLE_IMPORT_COL varchar2(4) default 'ON')
ALTER TABLE		       alter table WMSYS.WM$constraints_table modify (search_condition clob)
ALTER TABLE		       alter table WMSYS.WM$udtrig_info modify (trig_code clob)
ALTER TABLE		       alter table wmsys.wm$replication_table add (isWriterSite varchar2(1))
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add(validTime integer default 0)
ALTER TABLE		       alter table WMSYS.WM$versioned_tables add (initVTRange wmsys.wm_period)
ALTER TABLE		       alter table wmsys.wm$replication_table add (status varchar2(1) default 'E')
ALTER TABLE		       alter table wmsys.wm$adt_func_table add constraint wm$adt_func_tab_pk primary ke
ALTER TABLE		       alter table wmsys.wm$log_table add constraint log_tab_pk primary key(group#, ord
ALTER TABLE		       alter table wmsys.wm$removed_workspaces_table add constraint removed_workspaces_
ALTER TABLE		       ALTER TABLE "XDB"."XDB$RESCONFIG" ADD (acloid RAW(16), ownerid RAW(16))
ALTER TABLE		       alter table xdb.xdb$resconfig add (refcount number default 0)
ALTER TABLE		       alter table xdb.xdb$dxptab add (tablespace varchar2(128))
ALTER TABLE		       alter table xdb.xdb$dxptab add (table_attrs varchar2(4000))
ALTER TABLE		       alter table xdb.xdb$dxptab add (nbpendtabobj# number)
ALTER TABLE		       alter table xdb.xdb$dxptab add (nberrtabobj# number)
ALTER TABLE		       ALTER TABLE "XDB"."XDB$STATS" ADD (acloid RAW(16), ownerid RAW(16))
ALTER TABLE		       ALTER TABLE "XDB"."XDB$CONFIG" ADD (acloid RAW(16), ownerid RAW(16))
ALTER TABLE		       alter table XDB.JSON$COLLECTION_METADATA
					  add constraint JSON$COLLECTI

ALTER TABLE		       alter table sys.mvref$_stmt_stats add execution_plan xmltype
ALTER TABLE		       alter table wmsys.WM$MP_PARENT_WORKSPACES_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$MP_GRAPH_WORKSPACES_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$EVENTS_INFO drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$REMOVED_WORKSPACES_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$UDTRIG_INFO drop primary key drop index
ALTER TABLE		       alter table wmsys.WM$CONSTRAINTS_TABLE drop primary key drop index
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ add constraint wm$workspaces_pk primary k
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ add constraint wm$workspace_lock_id_unq u
ALTER TABLE		       alter table wmsys.wm$versioned_tables_undo_code rename to wm$undo_code
ALTER TABLE		       alter table wmsys.wm$versioned_tables$ add constraint wm$versioned_tables__pk pr
ALTER TABLE		       alter table wmsys.wm$env_vars$ add constraint wm$env_vars_pk primary key(name)
ALTER TABLE		       alter table wmsys.wm$events_info$ add constraint wm$events_info_pk primary key(e
ALTER TABLE		       alter table wmsys.wm$modified_tables$ add constraint wm$modified_tables_pk prima
ALTER TABLE		       alter table wmsys.wm$mp_graph_workspaces_table$ add constraint wm$mp_graph_works
ALTER TABLE		       alter table wmsys.wm$mp_parent_workspaces_table$ add constraint wm$mp_parent_pk
ALTER TABLE		       alter table wmsys.wm$nested_columns_table$ add constraint wm$nested_columns_pk p
ALTER TABLE		       alter table wmsys.wm$removed_workspaces_table$ add constraint wm$removed_workspa
ALTER TABLE		       alter table wmsys.wm$replication_table$ add constraint wm$rep_details_pk primary
ALTER TABLE		       alter table wmsys.wm$resolve_workspaces_table$ add constraint wm$resolve_workspa
ALTER TABLE		       alter table wmsys.wm$ric_table$ add constraint wm$ric_pk primary key(ct_vtid#, r
ALTER TABLE		       alter table wmsys.wm$ric_triggers_table$ add constraint wm$ric_triggers_pk prima
ALTER TABLE		       alter table wmsys.wm$sysparam_all_values$ add constraint wm$env_sys_pk primary k
ALTER TABLE		       alter table wmsys.wm$udtrig_dispatch_procs$ add constraint wm$udtrig_dispatch_pr
ALTER TABLE		       alter table wmsys.wm$udtrig_info$ add constraint wm$udtrig_info_pk primary key(t
ALTER TABLE		       alter table wmsys.wm$version_hierarchy_table$ add constraint wm$version_hierarch
ALTER TABLE		       alter table wmsys.wm$version_table$ add constraint wm$version_pk primary key(wor
ALTER TABLE		       alter table wmsys.wm$vt_errors_table$ add constraint wm$vt_errors_pk primary key
ALTER TABLE		       alter table wmsys.wm$workspace_savepoints_table$ add constraint wm$workspace_sav
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ drop constraint wm$workspace_lock_id_unq
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ drop constraint wm$workspaces_pk
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ add constraint wm$workspaces_pk primary k
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ modify (workspace not null)
ALTER TABLE		       alter table WMSYS.WM$mp_parent_workspaces_table$ drop column workspace_lock_id
ALTER TABLE		       alter table wmsys.wm$version_table$ modify refcount default null
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ modify implicit_sp_cnt default null
ALTER TABLE		       alter table wmsys.wm$workspaces_table$ modify last_change default null
ALTER TABLE		       alter table WMSYS.WM$constraints_table$ add(owner varchar2(128))
ALTER TABLE		       ALTER TABLE SYSTEM.HELP
				 ADD CONSTRAINT HELP_TOPIC_SEQ
				 PRIMARY KEY (TOPIC, SE

CREATE SYNONYM		       CREATE PUBLIC SYNONYM PRODUCT_PROFILE FOR SYSTEM.PRODUCT_PRIVS
CREATE SYNONYM		       CREATE PUBLIC SYNONYM PRODUCT_USER_PROFILE FOR SYSTEM.PRODUCT_PRIVS
ALTER DATABASE		       ALTER DATABASE OPEN
ALTER USER		       ALTER USER ggsys QUOTA unlimited ON sysaux
ALTER USER		       alter user anonymous account lock
ALTER USER		       alter user DBSNMP set container_data=all
ALTER USER		       alter USER APPQOSSYS set container_data=all for "PUBLIC".v$wlm_pcmetric
ALTER USER		       alter USER APPQOSSYS set container_data=all for "PUBLIC".v$wlm_pcservice
ALTER USER		       alter USER APPQOSSYS set container_data=all for dba_pdbs
ALTER USER		       alter USER APPQOSSYS set container_data=all for "PUBLIC".v$containers
ALTER USER		       alter USER APPQOSSYS set container_data=all for "PUBLIC".v$wlm_db_mode
ALTER USER		       alter USER APPQOSSYS set container_data=all for "PUBLIC".gv$wlm_db_mode
ALTER USER		       alter user gsmadmin_internal set container_data = all  for cdb_services containe
ALTER USER		       alter user gsmadmin_internal set container_data = all  for "PUBLIC".gv$active_se
ALTER USER		       alter user "DBSNMP" account lock
ALTER USER		       alter user "APPQOSSYS" account lock
ALTER USER		       alter user "GSMCATUSER" account lock
ALTER USER		       alter user "DBSFWUSER" account lock
ALTER USER		       alter user "SYSBACKUP" account lock
ALTER USER		       alter user "REMOTE_SCHEDULER_AGENT" account lock
ALTER USER		       alter user "GGSYS" account lock
ALTER USER		       alter user "ANONYMOUS" password expire account lock
ALTER USER		       alter user "GSMUSER" account lock
ALTER USER		       alter user "GSMROOTUSER" account lock
ALTER USER		       alter user "AUDSYS" account lock
ALTER USER		       alter user "GSMADMIN_INTERNAL" account lock
ALTER USER		       alter user "SYSKM" account lock
ALTER USER		       alter user "DGPDB_INT" account lock
ALTER USER		       alter user "OUTLN" account lock
ALTER USER		       alter user "SYS$UMF" account lock
ALTER USER		       alter user "ORACLE_OCM" account lock
ALTER USER		       alter user "XDB" account lock
ALTER USER		       alter user "WMSYS" account lock
ALTER USER		       alter user "SYSDG" account lock
CREATE ROLE		       CREATE ROLE ggsys_role
CREATE ROLE		       CREATE role xdbadmin
CREATE ROLE		       create role OEM_ADVISOR
CREATE ROLE		       create role OEM_MONITOR
CREATE ROLE		       CREATE ROLE gsmadmin_role
CREATE ROLE		       CREATE ROLE gsm_pooladmin_role
CREATE ROLE		       CREATE ROLE gds_catalog_select
CREATE ROLE		       create role wm_admin_role
CREATE ROLE		       create role XDB_SET_INVOKER
CREATE ROLE		       create role authenticatedUser
CREATE ROLE		       create role XDB_WEBSERVICES
CREATE ROLE		       create role XDB_WEBSERVICES_WITH_PUBLIC
CREATE ROLE		       create role XDB_WEBSERVICES_OVER_HTTP
CREATE ROLE		       create role SODA_APP
CREATE ROLE		       CREATE ROLE datapatch_role
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XMLDIR AS '/opt/oracle/20c/rdbms/xml'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY ORACLE_OCM_CONFIG_DIR AS '/scratch/app/user/homes/Or
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY ORACLE_OCM_CONFIG_DIR2 AS '/scratch/app/user/homes/O
CREATE DIRECTORY	       CREATE OR REPLACE directory opatch_log_dir AS '/scratch/app/user/homes/OraDB20Ho
CREATE DIRECTORY	       CREATE OR REPLACE directory opatch_script_dir AS '/opt/oracle/20c/QOpatch'
CREATE DIRECTORY	       CREATE OR REPLACE directory opatch_inst_dir AS '/opt/oracle/20c/OPatch'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
CREATE DIRECTORY	       CREATE OR REPLACE DIRECTORY XSDDIR AS '/opt/oracle/20c/rdbms/xml/schema'
ALTER PLUGGABLE DATABASE       alter pluggable database application app$cdb$pdbonly$ncdbtopdb end upgrade
ALTER PLUGGABLE DATABASE       alter pluggable database application app$cdb$pdbonly$ncdbtopdb purge
ALTER PLUGGABLE DATABASE       alter pluggable database application app$cdb$pdbonly$ncdbtopdb begin install '1.
ALTER PLUGGABLE DATABASE       alter pluggable database close immediate instances=all
ALTER PLUGGABLE DATABASE       alter pluggable database open upgrade
ALTER PLUGGABLE DATABASE       alter pluggable database application app$cdb$pdbonly$ncdbtopdb end install
ALTER PLUGGABLE DATABASE       alter pluggable database application app$cdb$pdbonly$ncdbtopdb begin upgrade to
ALTER PLUGGABLE DATABASE       ALTER PLUGGABLE DATABASE close immediate instances=all
ALTER PLUGGABLE DATABASE       ALTER PLUGGABLE DATABASE OPEN
ALTER PLUGGABLE DATABASE       alter pluggable database pdb$seed close
ALTER PLUGGABLE DATABASE       alter pluggable database pdb$seed open
ALTER AUDIT POLICY	       ALTER AUDIT POLICY ORA_SECURECONFIG
				 ADD ACTIONS EXECUTE ON remote_scheduler_ag

AUDIT 让数据库安全起来!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Mysql4安装Client does not support authentication protocol requested问题的解决

    Mysql4安装Client does not support authentication protocol requested问题的解决

    数据和云01
  • 搞定VCS4.0 For Oracle RAC安装配置

    这个新东西有不少问题,加上阵列出问题,光线卡出问题,Solaris出问题,TNND,真是折磨人.

    数据和云01
  • Oracle9i新特点:SPFILE的使用--How to set events with spfile and etc

    本文发表于itpub技术丛书《Oracle数据库DBA专题技术精粹》,未经许可,严禁转载本文.

    数据和云01
  • 程序员,一个吃青春饭的行业

    青春易老,容貌不再。程序员都会有这样的感叹。吃“青春饭”的行业挥霍的是年龄、体力和精力,赶在青春消逝之前,便要改弦易辙,另谋出路,吃着自己碗里的,看着别人锅...

    业余草
  • 一文快速实现微信公众号支付功能(详细版,建议收藏备用)

    微信支付实际上有很多种不同的类型,具体要使用哪一种就需要根据不同的应用场景来选择,官方给出的参考例子: 刷卡支付:用户打开微信钱包的刷卡的界面,商户扫码后提交完...

    java进阶架构师
  • 《星球大战:绝地挑战》测评丨手持光剑,干翻银河最强反派!

    VRPinea
  • C语言入坑指南-缓冲区溢出

    缓冲区溢出通常指的是向缓冲区写入了超过缓冲区所能保存的最大数据量的数据。如果说之前所提到的一些问题可能只是影响部分功能的实现,那么缓冲区溢出将可能会造成程序运行...

    编程珠玑
  • 《I expect you to die》:营收百万的我,活得比你更滋润!

    VRPinea
  • 深度学习最常用的学习算法:Adam优化算法

    听说你了解深度学习最常用的学习算法:Adam优化算法?-深度学习世界。 深度学习常常需要大量的时间和机算资源进行训练,这也是困扰深度学习算法开发的重大原因。虽然...

    用户1332428
  • Python 异常值分析

    异常值分析是检验数据是否有录入错误以及含有不合常理的数据。忽视异常值的存在是十分危险的,不加剔除地把异常值包括进数据的计算分析过程中,对结果会产生不良影响;重视...

    用户2909867

扫码关注云+社区

领取腾讯云代金券