当前位置: 首页 > news >正文

Oracle问题笔记

  1. ORA-28040 没有匹配的验证协议
  • 问题出现场景
    oracle数据库为12c,应用使用的jdbc或客户端工具是11g版本一下,连接12c数据库时会报ora-28040错误。
  • 解决办法
    Oracle服务端的$ORACLE_HOME/network/admin/sqlnet.ora文件中添加:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=10

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

后面10是对应客户端工具的版本号,如果客户端工具版本很低,可以进行调整。
这时,再次连接数据库时,会报用户密码错误。需要修改一次数据库密码就可以了。

alter user username identified by "密码";

按上述方法操作后,不再报“ORA-28040 没有匹配的验证协议”的错误了,但仍报“ORA - 1017用户名/口令无效; 登录被拒绝”错误,解决方法见第二条。

  1. ORA-1017用户名/口令无效; 登录被拒绝

参考:https://www.cnblogs.com/freepc/p/16309749.html

一、出现症状

 1、使用sqlplus连接正常

 2、C#使用10gODP.NET连接时,报上面的错误

二、原因

 1、Oracle11G之前密码是不区分大小写的,从11G开始默认密码区分大小写

 2、使用10GODP.NET时,会自动把密码转换成大写

三、解决办法

 1、给连接字符串中密码使用加上引号,这样密码就不会转成大写了

 2、换成11G客户端

 3、修改数据库,禁用大小写敏感模式:ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE

因我的连接字符串是写在XML文件里,在XML文件里引号是需要转义的,现提供XML中常用的转义字符:

<

<

小于号

&gt;

>

大于号

&amp;

&

&apos;

'

单引号

&quot;

"

双引号

最后解决方法:

CMD进入命令行,输入以下命令:

sqlplus / as sysdba

ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;

  1. 用户被锁定,解锁

查询是否被锁
select username, account_status, lock_date from dba_users;
oracle
解锁用户
ALTER USER username ACCOUNT UNLOCK;

  1. 修改用户名、密码

修改用户名:

update user$ set name='新用户名' where name='旧用户名'

修改密码:

alter user username identified by "密码";

  1. 修改表字段的排序

(1)以数据库管理员身份连接数据库

附修改管理员密码方法:

  1. 在Oracle服务端命令行中执行命令:sqlplus "/ as sysdba"
  2. 然后执行SQL语句:alter user SYS identified by newpassword;

“newpassword”为修改后的新密码(注意密码里如果有特殊字符可能会失败)。

(2)查询表的Id

使用以下SQL查询表的Id,其中“UserName”为用户名,“TableName”为待查询的表名:

select object_id from all_objects where owner = 'UserName' and object_name = 'TableName';

(3)更新表字段排序

在PLSql中通过以下sql查询并修改字段排序,其中“78387”为上一步查到的表Id:

select obj#,col#,name from sys.col$ where obj#=78387 for update;

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 跟李沐学AI:语义分割
  • Leetcode-day30-动态规划-不同路径
  • STM32G474的HRTIM用作时基定时器
  • R语言统计分析——回归分析的改进措施
  • 【机器学习】YOLO 关闭控制台推理日志
  • 2024前端面试题-js篇
  • ffmpeg6.1集成Plus-OpenGL-Patch滤镜
  • Java二十三种设计模式-解释器模式(23/23)
  • web开发html前端使用javascript脚本库JsBarcode生成条形码(条码)
  • Vue的生命周期了解
  • 数学基础 -- 线性代数之行列式不变性推导
  • linux文本分析工具grep、sed和awk打印输出文本的单双奇偶行(grep也可以打印奇偶行)以及熟悉的ssh命令却有你不知道的一些用法
  • 记录一下在IIS上部署服务器上遇到的一系列问题及解决方案
  • 创建github个人站点
  • CF 965 C. Perform Operations to Maximize Score
  • Apache的80端口被占用以及访问时报错403
  • CentOS 7 防火墙操作
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript设计模式系列一:工厂模式
  • java第三方包学习之lombok
  • java中具有继承关系的类及其对象初始化顺序
  • leetcode98. Validate Binary Search Tree
  • MobX
  • Phpstorm怎样批量删除空行?
  • spark本地环境的搭建到运行第一个spark程序
  • Vue--数据传输
  • 测试开发系类之接口自动化测试
  • 对象管理器(defineProperty)学习笔记
  • 仿天猫超市收藏抛物线动画工具库
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • elasticsearch-head插件安装
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #NOIP 2014# day.1 T2 联合权值
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (十三)Flask之特殊装饰器详解
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET导入Excel数据
  • .net中调用windows performance记录性能信息
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • @PreAuthorize与@Secured注解的区别是什么?
  • [240527] 谷歌 CEO 承认 AI 编造虚假信息问题难解(此文使用 @gemini 命令二次创作)| ICQ 停止运作
  • [ARC066F]Contest with Drinks Hard