Oracle数据库url连接最后一个orcl代表的是配置的数据库SID
今天生产上项目启动访问 一个数据库的时候,出现了
ORA-12505, TNS:listener does not currently know of SID given in connect desc .
后面看了下,我的数据库配置为:
driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@158.58.88.102:1521:eskdb username=root password=aaa111
然后看了下oracle
的 tnsnames.ora
配置
eskdb=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 158.58.88.102)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = eskdb)))
按网上所说的道理:
1、最后的orcl是数据库名称,我数据库名称就是eskdb,但是不对
2、最后的orcl是 service_name 但是配置的SERVICE_NAME 也是 eskdb
最后纠结无语,找数据库DBA帮忙, DBA帮忙找到SID为 eskdb1 , 而且异常提示SID不对,于是更改url为
url=jdbc:oracle:thin:@158.58.88.102:1521:eskdb1
然后重启项目,OK了
得出结论:
数据库url连接最后一个orcl代表的是配置的数据库SID
,而不是数据库名 或者SERVICE_NAME
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
Oracle连续相同数据的统计
有些事情始终是需要坚持下去的... 今天复习一下之前用到的连续相同数据的统计. 首先,创建一个简单的测试表,这里过程就略过了,直接上表(真的是以简单为主,哈哈-) 第一种写法row_number(): SELECT val,COUNT(*) FROM (SELECT ID,val, row_number() OVER(ORDER BY ID)-row_number() OVER(PARTITION BY val ORDER BY ID) x FROM LCY ) GROUP BY val,x O
-
Oracle基础:通过sqlplus执行sql语句后的结果进行判断
这篇文章介绍一下如何对sqlplus执行的sql语句结果进行判断. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm 常见问题 在sqlplus中执行sql语句,如果直接使用命令行的方式调用时会碰到两个问题: 问题1: 需要进行交互性的输入 问题2:结果的判断不能通过返回值来确认 解决方式 在脚本调用里,解决方式如下 问题1可以通过前文提到的Here Document来解决. 问题2
-
oracle常用分析函数与聚合函数的用法
今天是2019年第一天,在此祝大家新年快乐,梦想还在路上,让我们继续加油! 应之前的计划,今天完成这篇记录,也借此记录自己的成长. 一.几个排名函数的语法和用法: rank ( ) over ([partition by col] order by col ) dense_rank ( ) over ([partition by col] order by col ) rownumber ( ) over ( [partition by col] order by col ) rank
-
Oracle全角数字转换半角数字
数据库表 test 字段 id name age 全角数字:1234 半角数字:1234 length和lengthb的区别: length(1234) 4 lengthb(1234) 8 to_single_byte函数用法: to_single_byte(1234) 1234 查找所有全角的数字: select age from test where lengthB(age) >4 替换全角的为半角的: update test t1 set t1.age = (select to_singl
-
Oracle数据库自动备份脚本分享(超实用)
前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存. 一.备份脚本 1.初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m
-
Oracle通过sqlplus连接数据库的方式
通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,这篇文章介绍一下常用的连接方式. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm 方式1(本机): / as sysdba 在oracle服务器,可以直接通过操作系统权限认证,使用sysdba方式登陆,前提是你可以登入服务器,并且拥有此权限. oracle@e871d42341c0:~$ id uid=1000(or
-
oracle查询锁表及解锁,修改表字段名与复制表结构和数据的方法
在Oracle中查询锁表及解锁: 锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; 查看哪个表被锁: select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id; 查看是哪个session引起
-
ibatis结合oracle批量插入三种方法的测评
第一种 < insert id =" insert_table " parameterClass ="java.util.List" > <![CDATA[ insert into sj_test( col1 , col2 , col3 ) values ]]> < iterate conjunction ="," > <![CDATA[ (#test[]. col1 #, # test []. col2
-
Oracle相关组件版本信息的介绍
这系列文章将介绍一下Oracle的基础知识,将会使用docker下运行的oracle11g的精简版进行说明.这篇文章介绍一下oracle的版本确认方法. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm v$version视图 通过确认v$version视图的BANNER信息可以确认Oracle各组件的版本信息 SQL> select * from v$version; BANNER
-
Oracle密码过期如何取消密码180天限制及密码180天过期,账号锁住的问题
Oracle密码过期,取消密码180天限制 1.进入sqlplus模式 sqlplus / as sysdba; 2.查看用户密码的有效期设置(一般默认的配置文件是DEFAULT) SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 3.将密码有效期由默认的180天修改成"无限制",修改之后不需要重启动数据库,会立即生效 ALTER PROFILE DEFA
随机推荐
- js正则表达式中test,exec,match方法的区别说明
- MongoDB数据更新方法干货篇
- angular route中使用resolve在uglify压缩后问题解决
- 在iframe里的页面编写js,实现在父窗口上创建动画效果展开和收缩的div(不变动iframe父窗口代码)
- dos下at命令的用法
- Android实现二维码扫描和生成的简单方法
- springmvc接收jquery提交的数组数据代码分享
- Java concurrency线程池之线程池原理(三)_动力节点Java学院整理
- ASP.NET简单实现注销功能
- Cocos2d-x中实现弹出对话框示例
- Android代码实现图片和文字上下布局
- php扩展memcached和memcache的安装配置方法
- 使用jquery获取url及url参数的简单实例
- 微信小程序 动态传参实例详解
- Spring+MyBatis实现数据库读写分离方案
- jQuery中复合属性选择器用法实例
- js select 控制实现代码
- JavaScript 基础篇之对象、数组使用介绍(三)
- 使用C# Winform应用程序获取网页源文件的解决方法
- 深入C++ 函数映射的使用详解