设置TimesTen与Oracle数据库的连通性

设置与Oracle数据库的连通性比较简单,但也是非常重要的工作。毕竟TimesTen与Oracle的集成,相较于独立的TimesTen,是使用更为广泛的场景。

无论是后续建立Cache Group,还是简单的从Oracle加载数据到TimesTen,都需要预先设置TimesTen与Oracle数据库的连通性。

首先看一张概念图:

在TimesTen DSN的设置中,OracleNetServiceName指定了后端Oracle数据库的服务名,而实际的服务定义在tnsnames.ora中,这完全符合Oracle的惯例,简单来说,你可以新建一个tnsnames.ora, 把原有的Oracle服务的定义拷贝到这个文件,无论是单实例还是RAC,或者使用已有的tnsnames.ora。

tnsnames.ora则指向实际的后端Oracle数据库,通常和TimesTen不在同一台主机上。

那么,TimesTen在哪里去找这个tnsnames.ora文件呢? 可以在安装时指定,后者后续通过ttmodinstall中指定和修改,例如:

[[email protected] info]$ ttmodinstall
The daemon for instance ‘tt1122‘ is currently configured to use port 53392.
Would you like to change this port? [ no ]
The server for instance ‘tt1122‘ is currently configured to use port 53393.
Would you like to change this port? [ no ]
TNS_ADMIN for the instance ‘tt1122‘ is currently set to ‘/u01/app/oracle/product/11.2.0/dbhome_1/network/admin‘.
Would you like to change TNS_ADMIN for this instance? [ yes ]  

实际上,就是设置了一个$TNS_ADMIN的环境变量:

[oracle@timesten-hol info]$ echo $TNS_ADMIN
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
[oracle@timesten-hol info]$ ls $TNS_ADMIN
listener.ora  samples  shrept.lst  sqlnet.ora  tnsnames.ora
[oracle@timesten-hol info]$ ls $TNS_ADMIN/tnsnames.ora
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

$ cat $TNS_ADMIN/tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

TTORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
              (SID = orcl)
    )
  )

然后就可以使用sqlplus测试连接Oracle,如果成功,说明tnsnames.ora设置正确,Oracle数据库物理可达。

注意sqlplus程序以及包含在TimesTen的安装程序中,无需安装Oracle的客户端。

[[email protected] info]$ sqlplus / as [email protected]

SQL*Plus: Release 11.2.0.2.0 Production on Wed Jul 13 06:27:44 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

然后可以测试通过timesten间接联通Oracle:

$ ttisql -v1 "uid=tthr;pwd=timesten;dsn=cachedb1;oraclepwd=oracle"
Command> passthrough 3
Command> select * from product_component_version;
< NLSRTL , 11.2.0.1.0, Production >
< Oracle Database 11g Enterprise Edition , 11.2.0.1.0, 64bit Production >
< PL/SQL , 11.2.0.1.0, Production >
< TNS for Linux: , 11.2.0.1.0, Production >
Command> passthrough 0
Command> call ttversion;
< 11, 2, 2, 6, 2 >

以上, passthrough 3表示命令在Oracle中执行,passthrough 0表示在TimesTen本地执行。

至此,我们已经可以确定TimesTen与Oracle数据库的连通性已经正确设置。

时间: 2024-11-07 13:10:37

设置TimesTen与Oracle数据库的连通性的相关文章

Linux中设置定期备份oracle数据库

昨天装好了oracle,今天尝试一下自动备份,我这两天装linux和oracle的目的就是这个. 如果是sql server,定期备份可以利用sql server的management studio来做,比较方便.但要做oracle的定期备份,那就需要我们写导出命令,并设置linux的定时任务. 首先创建一个数据库作为测试. --创建数据表空间 create tablespace test_data logging datafile '/u01/app/oradata/test/TEST.dbf

springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)

方法1: application.yml mybatis-plus: configuration: jdbc-type-for-null: 'null' #注意:单引号 方法2: 查看mp-starter-源码, MybatisPlusAutoConfiguration, 可以发现,第119行有一个configurationCustomizers,可以修改configuration 自定义一个,配上就完工 @Bean public ConfigurationCustomizer configur

更改Oracle数据库密码导致vcenter服务无法启动

一.背景介绍 某企业生产环境中采用一台Windows2008R2物理服务器安装vCenter Server 5.5和Oracle 11g数据库,VC使用system账户连接Oracle数据库.安装之初对密码合规性没有明确规定,随意设置了该服务器administrator和Oracle的system账户密码,后期要求对这两个账户密码按要求进行整改. 二.问题及排查过程 当更改完administrator和oracle的system账户密码后,重启服务器,发现vcenter服务无法启动,手动启动出现

PL/SQL连接oracle数据库

PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安装oracleclient(跟oracle数据库的版本号没有关系). b)     设置连接远程oracle数据库的连接信息.三种方式(主要是在tnsnames.ora文件里加入?远程数据库连接信息).以下三种方式在文件最后追加的内容是依据我自己的数据库连接信息追加的.仅做參考: i.     安装

AppFuse3.5对接oracle数据库

AppFuse是一个使用Java语言开发web应用系统的集成框架.java开发人员最头痛的事情就是面对大量的框架不知该如何选择.这些框架性能如何,兼容性如何等等都需要筛选比较.Appfuse作者Matt Raible对于这些框架做了深入研究,把这些框架中最优秀的部分拿出来集成到一起,形成了最优秀的集成框架.目前这个框架的最新稳定版本是3.5. AppFuse中的基础框架: Bootstrap 和jQuery Maven, Hibernate, Spring 和Spring Security Ja

LINUX下为ORACLE数据库设置大页--hugepage

在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage. 为什么 使用大页? LINUX内存的默认块大小是4K如果SGA为:128Gselect 128*1024*1024/4 from dual;33554432个(三千多万),select 128*1024/2 from dual; 65536个每个内存页,有一个页表项(大概10个字节),记录页的状态.位置默认块大小是4K时--页表大小:320M.在大页下2M时,页表只

实例讲解Oracle数据库设置默认表空间问题

实例讲解Oracle数据库设置默认表空间问题 实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间——system表空间.导致系统

oracle远程连接(PLSQL,SQL developement + Oracle数据库 + 客户端 + 远程连接设置

Oracle数据库的远程连接可以通过多种方式来实现,本文我们主要介绍四种远程连接的方法和注意事项,并通过示例来说明,接下来我们就开始介绍. 第一种情况: 若oracle服务器装在本机上,那就不多说了,连接只是用户名和密码的问题了.不过要注意环境变量%ORACLE_HOME%/network/admin/是否设置. 第二种情况: 本机未安装oracle服务器,也未安装oracle客户端.但是安装了pl sql development.toad sql development.sql navigat

关于ORACLE数据库服务器SWAP该设置成多大的建议值

1.swap的作用 系统管理和DBA都知道,在Linux和UNIX系统上都有一个SWAP分区,该分区,例似于于Windows系统上的虚拟内存. 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,临时转移到SWAP上,供当前运行的程序提供物理内存空间,当程序需要再访问被转移到了SWAP空间上的数据时,再从SWAP中恢复到物理内存中.从此工作原理不难看出来,SWAP要有,但是尽量不要使用,使用了就会发生内存交换,必然影响系统性能. 2.swap设置问题 有经验的系统管理员和DBA