TimesTen学习(二)连接创建第一个数据库

简介: TimesTen学习(一)安装篇 http://blog.itpub.net/23135684/viewspace-717741/这篇文章主要讨论连接并创建第一个数据库。

TimesTen学习(一)安装篇  http://blog.itpub.net/23135684/viewspace-717741/

这篇文章主要讨论连接并创建第一个数据库。

1.timesten操作系统用户环境变量设置。

alias ls="ls -FA"
#ODBCINI
#SYSODBCINI
#SYSTTCONNECTINI 
TNS_ADMIN=/home/timesten/TimesTen/tt1122/info
export TNS_ADMIN
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=$PATH:/home/timesten/TimesTen/tt1122/bin
export PATH
LD_LIBRARY_PATH=/home/timesten/TimesTen/tt1122/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=/home/timesten/TimesTen/lib/
export CLASSPATH
NLS_LANG=AMERICAN_AMERICA.US7ASCII
export NLS_LANG
export TMP=/tmp
export TMPDIR=/tmp
umask 022

ODBCINI指定用户DSN配置文件,默认位置是$HOME/.odbc.ini。

SYSODBCINI指定系统DSN配置文件,如果找不到用户DSN配置文件,那么会去找系统DSN配置文件;默认位置是<daemon home>/sys.odbc.ini,如果使用的是root用户安装TimesTen,那么默认位置在/var/TimesTen/InstanceName/sys.odbc.ini或者/var/TimesTen/sys.odbc.ini。

SYSTTCONNECTINI制定TTCONNECT.INI文件所在位置,该文件存放的是对logical server names的定义(在http://blog.itpub.net/23135684/viewspace-1190342/文章会讲到它的用法),默认情况下该文件存放在<install_dir>/sys.ttconnect.ini

如果要使用Cache Connect那么需要设置TNS_ADMIN环境变量。

NLS_LANG环境变量的设置要和下面的DSN配置的字符集相一致。

2.用户DSN配置。

下面是访问TimesTen数据库的拓扑图:

从上图可以看出,ODBC driver是必须要配置的。

下图是在Unix平台不同组件提供的ODBC驱动:


下图表示的是不同类型的DSN以及它配置的位置和使用范围:



timesten操作系统用户DSN配置文件:
/home/timesten/.odbc.ini

[ODBC Data Sources]
onett=TimesTen 11.2.2 Driver
 
[onett]
Driver=/home/timesten/TimesTen/tt1122/lib/libtten.so
DataStore=/opt/TimesTen/info/DataStore/onett
PermSize=40
TempSize=32
PLSQL=1
DatabaseCharacterSet=US7ASCII

    DataStore、LogDir、DatabaseCharacterSet叫做Data Store属性,DataStore一旦制定了文件存放的位置是不能随意移动的,移动DataStore文件需要执行迁移操作。

    PermSize表示 配置数据库永久分区大小,在数据库加载的时候会将磁盘中的数据(DataStore)加载到永久分区,在Checkpoint操作的时候只会写永久分区到磁盘。该参数表示的是数据库的大小,存放的内容包括表、索引等,该参数值只能增大不能减小。

    TempSize表示 配置数据库临时分区大小,临时分区包含当执行操作时候生成短暂的、转瞬即逝的数据,存放的内容包括游标、锁、编译后的命令、其他结构等,该区域在加载数据到内存中时被创建,在数据库从内存中卸载时被释放,该参数值可以增大或减小。
这两个参数叫做 First connection 属性,卸载数据库之后重新连接才能使更新的值生效。

    两个区域空间的使用情况可以通过查看SYS.MONITOR得到:
Command> select PERM_ALLOCATED_SIZE, TEMP_ALLOCATED_SIZE, PERM_IN_USE_SIZE, PERM_IN_USE_HIGH_WATER, TEMP_IN_USE_SIZE, TEMP_IN_USE_HIGH_WATER from SYS.MONITOR;
< 40960, 32768, 8850, 8850, 7817, 7880 >
1 row found.

上面字段单位都是KB。

通过ttSize可以查看到某一张表的大小以及行数等信息。

如果增大这两个值必须确保共享内存段有足够的设置,共享内存段的值要大于PermSize+TempSize+LogBufMB+64MB之和。

PLSQL=1表示启用PLSQL。

3.连接并创建TimesTen数据库。

[timesten@ttdb ~]$ mkdir -p /opt/TimesTen/info/DataStore/onett
[timesten@ttdb ~]$ ttisql

Copyright (c) 1996-2011, Oracle.  All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.


Command> connect "DSN=onett";
Connection successful: DSN=onett;UID=timesten;DataStore=/opt/TimesTen/info/DataStore/onett;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=/home/timesten/TimesTen/tt1122/lib/libtten.so;PermSize=40;TempSize=32;TypeMode=0;
(Default setting AutoCommit=1)

DataStore指定的是数据文件的位置,Log文件默认和数据文件在相同的位置。
第一次连接数据库的时候会在DataStore指定的位置创建相应的数据库。

[timesten@ttdb ~]$ cd /opt/TimesTen/info/DataStore/
[timesten@ttdb DataStore]$ ll
total 266256
drwxr-xr-x. 2 timesten ttadmin     4096 Jun 19 17:18 onett/
-rw-rw----. 1 timesten ttadmin 28192768 Jun 19 17:29 onett.ds0
-rw-rw----. 1 timesten ttadmin 28192768 Jun 19 17:39 onett.ds1
-rw-rw----. 1 timesten ttadmin 14927872 Jun 19 17:39 onett.log0
-rw-rw----. 1 timesten ttadmin 67108864 Jun 19 17:19 onett.res0
-rw-rw----. 1 timesten ttadmin 67108864 Jun 19 17:19 onett.res1
-rw-rw----. 1 timesten ttadmin 67108864 Jun 19 17:19 onett.res2

另外还可以通过下面的方式连接TimesTen数据库:
Command> connect "Driver=TimesTen Data Manager 11.2.2;DataStore=/opt/TimesTen/info/DataStore/onett;DatabaseCharacterSet=US7ASCII";
Connection successful: UID=timesten;DataStore=/opt/TimesTen/info/DataStore/onett;DatabaseCharacterSet=US7ASCII;ConnectionCharacterSet=US7ASCII;DRIVER=TimesTen Data Manager 11.2.2;TypeMode=0;
(Default setting AutoCommit=1)

第二次连接就比第一次快,第一次需要创建数据文件和启动相应的后台进程。

4.修改内存策略。

    默认情况下,当所有的会话断开之后TimesTen数据库将自动的从内存中卸载,这是默认的策略。

执行下面的命令使用ttadmin工具来修改内存策略:
[timesten@ttdb ~]$ ttadmin -rampolicy always onett
RAM Residence Policy            : always
Replication Agent Policy        : manual
Replication Manually Started    : False
Cache Agent Policy              : manual
Cache Agent Manually Started    : False

always表示onett数据库会一直被加载到内存中。除了always策略外还包括:In Use(默认策略 )、In Use with RamGrace、Manual。


5.卸载数据库。

要卸载数据库必须将内存策略修改为inuse,等所有会话断开之后,数据库自然被卸载。

1).使用ttStatus查看数据库状态:

[timesten@ttdb ~]$ ttStatus
TimesTen status report as of Thu Jun 19 20:03:46 2014

Daemon pid 4760 port 53396 instance tt1122
TimesTen server pid 4770 started on port 53397
------------------------------------------------------------------------
Data store /opt/TimesTen/info/DataStore/onett
There are 11 connections to the data store
Shared Memory KEY 0x0a03067f ID 229377
PL/SQL Memory KEY 0x0b03067f ID 262146 Address 0x7fa0000000
Type            PID     Context             Connection Name              ConnID
Subdaemon       4764    0x0000000002262c50  Manager                         292
Subdaemon       4764    0x00000000022b92b0  Rollback                        291
Subdaemon       4764    0x00007f58c80008c0  Checkpoint                      287
Subdaemon       4764    0x00007f58cc0008c0  Log Marker                      288
Subdaemon       4764    0x00007f58d00008c0  IndexGC                         285
Subdaemon       4764    0x00007f58d80008c0  Monitor                         286
Subdaemon       4764    0x00007f58dc0008c0  Aging                           283
Subdaemon       4764    0x00007f58e00008c0  AsyncMV                         284
Subdaemon       4764    0x00007f58e40008c0  HistGC                          289
Subdaemon       4764    0x00007f58e80008c0  Deadlock Detector               290
Subdaemon       4764    0x00007f58fc0008c0  Flusher                         282
RAM residence policy: Manual
Data store is manually loaded into RAM
Replication policy  : Manual
Cache Agent policy  : Manual
PL/SQL enabled.
------------------------------------------------------------------------
Accessible by group ttadmin
End of report

2).修改内存策略:

[timesten@ttdb ~]$ ttadmin -rampolicy inuse onett
RAM Residence Policy            : inUse
Replication Agent Policy        : manual
Replication Manually Started    : False
Cache Agent Policy              : manual
Cache Agent Manually Started    : False

3).数据库被卸载:
[timesten@ttdb ~]$ ttStatus

TimesTen status report as of Thu Jun 19 20:03:57 2014

Daemon pid 4760 port 53396 instance tt1122
TimesTen server pid 4770 started on port 53397
------------------------------------------------------------------------
Data store /opt/TimesTen/info/DataStore/onett
There are no connections to the data store
Replication policy  : Manual
Cache Agent policy  : Manual
PL/SQL enabled.
------------------------------------------------------------------------
Accessible by group ttadmin
End of report

    如果出现TimesTen数据库自动 恢复失败,那么需要修改数据库内存策略,避免数据库自动加载与卸载。

--end--

目录
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
1月前
|
数据采集 Java 关系型数据库
Java代码高效连接数据库
Java代码高效连接数据库
19 2
|
1月前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
369 3
|
20天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
轻松入门MySQL:深入学习数据库表管理,创建、修改、约束、建议与性能优化(3)
|
9天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
25 1
|
12天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
19 0
|
21天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
123 3
|
22天前
|
网络协议 数据库连接 网络安全
DM数据库连接数据库时报:创建sokect连接失败
DM数据库连接数据库时报:创建sokect连接失败
13 0
|
1月前
|
Java 关系型数据库 MySQL
【数据库连接,线程,ThreadLocal三者之间的关系】
【数据库连接,线程,ThreadLocal三者之间的关系】
21 0
|
1月前
|
SQL 关系型数据库 MySQL
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程,阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案
344 0

热门文章

最新文章