出现ORA - 1017用户名/口令无效; 登录被拒绝 的问题

本文介绍使用POWERDESIGNER生成SQL代码时遇到的问题及解决方案,特别是关于对象名称大小写敏感导致的用户登录失败和表访问问题。

使用POWERDESIGNER 建模,生成SQL 代码如下:


create user "developer" identified by "developer"  default tablespace BILL_TBS

。。。。。。。。。。。。。


create table “buyer”."unit"
(
   ID                   number(8)            not null,
   "id_std"             number(8)            default id,
   "name_en"            varchar2(200),
   "name_cn"            varchar2(200),
   "create_date"        date                 default SYSDATE,
   "modify_date"        date,
   "del_flg"            number(1)            default 0,
   "review_flg"         number(1)            default 0,
   constraint PK_UNIT primary key (ID)
)
tablespace COMPANY_TBS;

。。。。。。。。。。。。。

生成的用户不能登录,出现ORA-10170错误,开始没明白什么原因。密码在OEM里修改后也出此问题。

无意中在OEM 中,手工建立一个同名用户:DEVELOPER 建立是成功的,说明使用代码建立的用户名developer是小写的。


后查询资料发现,在使用了双引号时,对象是区分大小写的。原因找到了,PD生成的代码中,使用了双引号,全部生成的对象名称,都是小写,

难怪用户不能登录,表对象不能访问。


问题找到就好办了。 在PD生成SQL 代码时,选上【CHARACTER CASE [ * ]Upper   】问题就解决了。





在使用 Oracle 12c 数据库过程中,遇到 ORA - 01017 错误(用户名/口令无效登录拒绝)可能由多种原因引起,以下是一些可能的解决方法: - **确认用户名和密码**:仔细检查输入的用户名和密码是否正确,包括大小写、拼写等。可以尝试使用已知正确的用户名和密码登录,例如 `SYSTEM` 或 `SYS` 用户。 ```sql -- 示例登录语句 CONNECT SYSTEM/your_password; ``` - **检查密码是否过期**:如果密码过期,需要重置密码。可以使用以下语句重置密码: ```sql -- 以 SYSDBA 身份登录 CONNECT SYS/your_sys_password AS SYSDBA; -- 重置用户密码 ALTER USER your_username IDENTIFIED BY new_password; ``` - **检查用户账户状态**:使用以下语句检查用户账户是否被锁定: ```sql -- 以 SYSDBA 身份登录 CONNECT SYS/your_sys_password AS SYSDBA; -- 查看用户账户状态 SELECT ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'your_username'; ``` 如果账户被锁定,可以使用以下语句解锁: ```sql -- 解锁用户账户 ALTER USER your_username ACCOUNT UNLOCK; ``` - **检查数据库监听服务**:确保 Oracle 监听服务正在运行。可以通过以下方式检查和启动监听服务: - 在 Windows 系统中,通过“服务”管理器启动或停止监听服务。打开“运行”对话框(`Win + R`),输入 `services.msc` 并回车,找到 `OracleOraHomeXXTNSListener` 服务,右键选择“启动”。 - 在 Linux 系统中,使用以下命令启动监听服务: ```bash lsnrctl start ``` - **检查数据库实例状态**:确保数据库实例正在运行。可以使用以下命令检查和启动数据库实例: ```sql -- 以 SYSDBA 身份登录 CONNECT SYS/your_sys_password AS SYSDBA; -- 检查数据库实例状态 SELECT STATUS FROM V$INSTANCE; -- 如果数据库实例未启动,可以使用以下命令启动 STARTUP; ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值