10G至19C升级锁用户测试

来源:这里教程网 时间:2026-03-03 18:31:46 作者:

 

一、案例

1.1 创建 directory

create directory shuanghuo as '/dmp';    

grant read,write on directory shuanghuo to public;

 

2.2 全库导出

expdp \'/ as sysdba \' directory=shuanghuo dumpfile=tccbdb.dmp logfile=tccbdb_exp.log full=y

 

3.3 按用户导入

impdp \'/ as sysdba \' directory=shuanghuo dumpfile=tccbdb.dmp logfile=tccbdb_imp.log schemas=CMS57,UCMS

 

Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.

;;;

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

已成功加载/卸载了主表 "SYS"."SYS_IMPORT_SCHEMA_01"

启动 "SYS"."SYS_IMPORT_SCHEMA_01":  "/******** AS SYSDBA" directory=shuanghuo dumpfile=tccbdb.dmp logfile=tccbdb_imp.log schemas=CMS57,UCMS

处理对象类型 DATABASE_EXPORT/SCHEMA/USER

 

ORA-39384: 警告: 用户 UCMS 已被锁定且口令已过期。

ORA-39083: 对象类型 USER:"CMS57" 创建失败, 出现错误:

 

二、原因

1.1 密码版本

//所有这些数据库用户帐户均为10g密码版本(DBA_USERS.PASSWORD_VERSIONS列值为'10G'),但不是11g或12C版本。由于未在12.1.0.2 sqlnet.ora文件中设置SQLNET.ALLOWED_LOGON_VERSION_SERVER,因此其默认值为12。因此,它仅允许使用12C密码版本的用户。

 

三、解决

3.1 配置 sqlnet.ora

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SYS                            OPEN                             SYSTEM                         TEMP

SYSTEM                         OPEN                             SYSTEM                         TEMP

SYSMAN                         OPEN                             SYSAUX                         TEMP

DBSNMP                         OPEN                             SYSAUX                         TEMP

BOTEDW                         OPEN                             USERS                          TEMP

CMS57                          OPEN                             USERS                          TEMP

PATROL                         OPEN                             PATROL_USER                    PATROL_TEMP

UCMS                           OPEN                             UCMS_DATA                      UCMS_TEMP

 

 

 

 

3.2 创建表空间

create tablespace UCMS_DATA datafile '/oradata/TCCBDB/UCMS_DATA01.dbf' size 1G autoextend on;

 

create temporary tablespace TEMP011 tempfile '/oradata/TCCBDB/TEMP011.dbf' size 1G autoextend on;

 

 

select username,account_status from dba_users where account_status='OPEN';

 

USERNAME                                  ACCOUNT_STATUS

-------------------------------------------------- ----------------------------------------------------------------

SYS                                       OPEN

SYSTEM                                        OPEN

UCMS                                           OPEN

CMS57                                         OPEN

 

//导出正常

#SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

#SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

 

3.4 导出用户状态为锁住

drop user CMS57 cascade;

drop user UCMS cascade;

 

ORA-39384: Warning: User UCMS has been locked and the password expired.

 

ORA-39384: Warning: User CMS57 has been locked and the password expired.

 

Processing object type DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT

Processing object type DATABASE_EXPORT/SCHEMA/ROLE_GRANT

Processing object type DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE

Processing object type DATABASE_EXPORT/SCHEMA/SEQUENCE/SEQUENCE

Processing object type DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA

Processing object type DATABASE_EXPORT/SCHEMA/TABLE/TABLE

 

SQL> select username,account_status from dba_users where account_status='OPEN';

 

USERNAME

--------------------------------------------------------------------------------

ACCOUNT_STATUS

----------------------------------------------------------------

SYS

OPEN

 

SYSTEM

OPEN

SQL> select username,account_status from dba_users where username in ('CMS57','UCMS');

 

 

USERNAME        ACCOUNT_STATUS

-------------------- ----------------------------------------------------------------

UCMS                 EXPIRED & LOCKED

CMS57               EXPIRED & LOCKED

 

 

5.5 删除 sqlnet.ora

导出完毕后,删除sqlnet.ora 发现用户状态正常,重启库用户状态正常。但是没有测试过晚上00:00 后,用户是否过期

SEC_CASE_SENSITIVE_LOGON --密码大写 默认为true . 10g 默认不区分,SEC_CASE_SENSITIVE_LOGON 此参数得改成FALSE

 

相关推荐