100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > oracle aud$ 导出 Oracle备份审计表SYS.AUD$和SYS.FGA_LOG$

oracle aud$ 导出 Oracle备份审计表SYS.AUD$和SYS.FGA_LOG$

时间:2020-12-20 12:58:47

相关推荐

oracle aud$ 导出 Oracle备份审计表SYS.AUD$和SYS.FGA_LOG$

原文:/monkey6/p/14302450.html

ORACLE的审计表不可以使用expdp和impdp导出和导入,如果使用,会报如下错误:

需要使用exp和imp进行导出和导出

导出语句:

exp "'/ as sysdba'" file=/Data/expdp/AUD.dmp log=/Data/expdp/AUD.log tables=SYS.AUD\$

带导出条件的exp语句:

exp "'/ as sysdba'" file=/Data/expdp/FGA_LOG_88.dmp log=/Data/expdp/FGA_LOG_88.log tables=SYS.FGA_LOG\$ query=\"where FROM_TZ\(ntimestamp\#, \'00:00\'\) AT LOCAL BETWEEN TO_TIMESTAMP\(TO_CHAR\(SYSDATE - 123,\'YYYYMMDD\'\) \|\| \'073000000\',\'YYYYMMDDHH24MISSFF\'\) AND TO_TIMESTAMP\(TO_CHAR\(SYSDATE,\'YYYYMMDD\'\) \|\| \'073000000\',\'YYYYMMDDHH24MISSFF\'\)\"

1.FROM_TZ:将ntimestamp#栏位的timestamp类型转换为带时区的,市区为UTC(世界标准时间),之后再AT LOCAL转换为本地时间。ntimestamp#存入的不是本地时间,是UTC时间

2.to_timestamp:第一个参数是字符串类型的,如果直接传入日期类型,那么oracle会根据NLS_DATE_FORMAT进行隐式转换,所以需要使用to_char提前处理。

3.上述导出语句会有警告,需要在导出前设置一下NLS_LANG环境变量

解决方法

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

导入命令:

imp "'/ as sysdba'" file=/Data/expdp/FGA_LOG_88.dmp log=/Data/expdp/FGA_LOG_250.log fromuser=sys touser=monkey data_only=y

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。