问题描述
源库11.2.0.4,impdp导入到12.2.0.1版本的数据库里,所有导入用户都是过期锁定状态
我生成了ddl,可以看到语句里面直接就加了把密码过期,把用户锁定的语句
源库都业务用户是open的
专家解答
sqlnet.ora设置SQLNET.ALLOWED_LOGON_VERSION_SERVER = 11后重新导入。
SYMPTOMS
DB user accounts are in OPEN status in 11.2.0.4 and the user profile parameters (PASSWORD_LIFE_TIME,
FAILED_LOGIN_ATTEMPTS) are unlimited.
But still expdp/impdp of this 11.2.0.4 DB to 12.1.0.2 DB results in all these DB user accounts to be in 'EXPIRED &
LOCKED' status with EXPIRY_DATE and LOCK_DATE set to the date of impdp.
CAUSE
SQLNET.ALLOWED_LOGON_VERSION_SERVER is not set in 12.1.0.2 sqlnet.ora file and database parameter
sec_case_sensitive_logon = TRUE in 12.1.0.2 DB
database parameter sec_case_sensitive_logon = FALSE in 11.2.0.4 DB
All these DB user accounts were of 10g password versions ( DBA_USERS.PASSWORD_VERSIONS column value is
'10G'), but not 11g or 12C versions. As SQLNET.ALLOWED_LOGON_VERSION_SERVER is not set in 12.1.0.2
sqlnet.ora file, it defaults to the value 12. So it allows only users with 12C password versions.
SOLUTION
Set SQLNET.ALLOWED_LOGON_VERSION_SERVER = 11 in 12.1.0.2 sqlnet.ora file and then execute the impdp