oracle的url配置说明,Oracle数据库url连接最后一个orcl代表的是配置的数据库SID

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

时间: 2018-12-08

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

有些事情始终是需要坚持下去的... 今天复习一下之前用到的连续相同数据的统计. 首先,创建一个简单的测试表,这里过程就略过了,直接上表(真的是以简单为主,哈哈-) 第一种写法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

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

这系列文章将介绍一下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中查询锁表及解锁: 锁表查询的代码有以下的形式: 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引起

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

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

数据库表 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

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们只有一台数据库服务器的,暂时采取最简单的备份策略,export出dmp进行保存. 一.备份脚本 1.初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m

通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,这篇文章介绍一下常用的连接方式. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm 方式1(本机): / as sysdba 在oracle服务器,可以直接通过操作系统权限认证,使用sysdba方式登陆,前提是你可以登入服务器,并且拥有此权限. oracle@e871d42341c0:~$ id uid=1000(or

6b5aa0751a6f1e6a9d0b665a02cc1f46.gif

今天是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

这篇文章介绍一下如何对sqlplus执行的sql语句结果进行判断. 环境准备 使用Oracle的精简版创建docker方式的demo环境,详细可参看: https://www.jb51.net/article/153533.htm 常见问题 在sqlplus中执行sql语句,如果直接使用命令行的方式调用时会碰到两个问题: 问题1: 需要进行交互性的输入 问题2:结果的判断不能通过返回值来确认 解决方式 在脚本调用里,解决方式如下 问题1可以通过前文提到的Here Document来解决. 问题2

第一种 < insert id =" insert_table " parameterClass ="java.util.List" > < iterate conjunction ="," >

1.通过运行Oracle Database Configuration  Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca):2.用命令行的方式建立数据库3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建.配置.或删除数据库. 详述:1.通过运行Oracle Database Configuration Assistant 创建.配置.或删除数据库:建议不熟悉创建过程的DBA使用该方法,只需要

b5df39a98b740d53f9e5988918077de4.png

本文将介绍三种批量插入数据的方法.第一种方法是使用循环语句逐个将数据项插入到数据库中:第二种方法使用的是SqlBulkCopy,使您可以用其他源的数据有效批量加载 SQL Server 表:第三种使用的方法是sql server中的表值参数方法,表值参数是 SQL Server 2008 中的新参数类型.表值参数是使用用户定义的表类型来声明的.使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据. 代码示例: 此例子为控制台输出

第一种: begin insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,value2,value3...); insert into tableName(column1, column2, column3...) values(value1,val

我们在日常操作中,免不了对数据库的某张表,一次性的要插入多条记录,但是首先想到的就是复制,粘帖N多重复的INSERT INTO 语句,万一某一个少了一个分号,或多个逗号之类的,产生错误,要找起来可就费尽了,既浪费时间,又耽误工作. 除了上面所说的方法外,其实还有二中方法,相比较起来要比之前那个要简洁. 首先是之前那个方法:    复制代码 代码如下: INSERT INTO MyTable(ID,NAME) VALUES(1,'123'); INSERT INTO MyTable(ID,NAME

一般我们都用css来批量设置样式,现在我们用js也可以批量设置样式: 总结三种方法如下 复制代码 代码如下:

无标题文档
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值