Category Archives: Oracle

TimesTen Note 2 – 基本管理

1. 数据库对象

Timesten的数据库对象和Oracle兼容:
Tables
Indexes
Sequences
Views (including materialized views)
Synonyms
PL/SQL objects (stored proced ures, functions, and packages)

相应的数据类型也相似:
字符型(CHAR, VARCHAR2 , NCHAR, NVARCHAR2)
浮点型数值 ( BINARY_FLOAT, BINARY_DOUBLE )
定点型数值 ( NUMBER )
日期和时间 ( DATE, TIMESTAMP)
系统类 ( ROWID)
此外,TT支持下面的二进制类型:
二进制整型 TT_TINYINT, TT_SMALLINT, TT_INTEGER, TT_BIGINT, 比NUMBER提供了更好的计算性能。
二进制数值 (BINARY , VARBINARY)
Continue reading

Posted in Database, NoSQL, Oracle.

TimesTen Note 1 – 安装、创建数据库

TimesTen内存数据库是Oracle的内存数据库产品,TimesTe Continue reading

Posted in Database, NoSQL, Oracle.

sqlldr的加载模式

SQL *Loader是一个客户端工具,提供下面方式加载文本数据到数据库中:
1
Continue reading

Posted in Database, Oracle.

Oracle合法节点检查

Oracle Net Valid Node Checking网络合法节点检查这种轻量的访问控制策略来控制监听器允许或者拒绝某些IP访问Oracle数据库,从8i起开始提供这个功能,是操作系统级的访问控制(iptables等)的一种替代方式,更具实用性。对于不合法的IP地址,从监听上直接拒绝该连接,根本没有机会尝试进行密码探试。

sqlnet.ora中有三个参数与该特性相关:
TCP.VALIDNODE_CHECKING
启动/关闭该特性,默认是no。更改该选项需要重启监听(reload无效)。
TCP.EXCLUDED_NODES
指定哪些客户端不允许通过TCP/IP协议访问数据库,可以通过reload生效。
TCP.INVITED_NODES
指定哪些客户端允许通过TCP/IP协议访问数据库,可以通过reload生效。只两个参数从11g起支持通配符如172.1.2.*。
参数使用规则如下(类似host.allow和host.deny规则):
首先TCP.VALIDNODE_CHECKING=yes开启,打开这个特性。
a). 只存在TCP.EXCLUDED_NODES
TCP.EXCLUDED_NODES中存在该主机地址,则拒绝。否则,则允许
b). 只存在TCP.INVITED_NODES
TCP.INVITED_NODES中存在该主机地址,则允许。否则,不拒绝。
c). TCP.EXCLUDED_NODES和TCP.INVITED_NODES都存在
如果该主机名只在TCP.INVITED_NODES列表中,则允许。
如果该主机名只在TCP.EXCLUDED_NODES列表中,则拒绝。
如果在两个列表中都存在,则允许(匹配INVITED_NODES先于EXCLUDED_NODES)
如果在两个列表中都不存在,则拒绝(后匹配EXCLUDED_NODES失败)
Continue reading

Posted in Database, Oracle.

从Oracle到MySQL传输表数据

今天有一个需求,要把一个500W行的表传输到一个MySQL数据库中。有OGG和阿里楼大大的工具(见anysql.net)两种比较好的解决方法。这里我也简单得写了一小段python代码来实现这种简单的需求。
方法:Oracle -cx_Oracle lib-> Python -MySQLdb lib-> MySQL
常见类型对应如下:
number(12) – long – decimal(12)
date – datetime – datetime
varchar2(20) – str – varchar(20)
Continue reading

Posted in MySQL, Oracle, Python|R.

使用DBMS_FILE_TRANSFER实现文件的拷贝

DBMS_FILE_TRANSFER(Oracle 10g开始提供)包用于在跨数据库、ASM和文件系统进行文件拷贝,是一个非常实用的工具。下面的一系列实验将验证这些功能。

1. 本地磁盘和ASM系统之间拷贝
使用COPY_FILE存储过程从源directory中拷贝文件到目标directory。

完成拷贝过程有这样一些限制条件:
(1). 拷贝的文件大小必须是512字节的整数倍;
(2). 拷贝的文件大小小于2TB;
(3). 执行用户对source_directory_object必须具有读权限;
(4). 执行用户对destination_directory_object必须具有写权限。
该过程只实现了文件的二进制拷贝,所以需要先将表空间read only。拷贝的过程中可以在v$session_longops动态性能视图中查看。
Continue reading

Posted in Database, Oracle.

Oracle AWR Baseline

1. Concept

基线(Baseline)是在 AWR 中标记并保留的某一重要时段的一个快照数据集。基线是定义在一对快照,即通过其快照开始和结束的序列号 (snap_id) 或开始时间和结束时间来标识的。基线的快照集包括二者之间的所有快照。
Continue reading

Posted in Database, Oracle.

Oracle 11g Flashback Data Archive

Oracle 11g 新增功能FDA(Flashback Data Archive)用于保存长久的历史数据,是数据库管理和应用开发的一个新的神器。一个数据库可以配置多个FDA对象(不同FDA对象可以有不同的属主和保留期),而每个FDA对象可以配置一个或者多个表空间存储其中的历史数据。
Continue reading

Posted in Database, Oracle.

Oracle 传输表空间技术总结

传输表空间通过拷贝数据文件的方式,实现可跨平台的数据迁移,效率远超expdp/impdp, exp/imp等工具。还可以应用跨平台&数据库版本迁移表数据、归档历史数据和实现表空间级时间点数据恢复等场景。
Continue reading

Posted in Database, Oracle.

Oracle 11g adrci常用命令

ADR(Automatic Diagnostic Repository)是Oracle 11g的一个存放数据库诊断日志、跟踪文件的目录,也作为ADR base。在实例中通过设置初始化参数DIAGNOSTIC_DEST来改变,这个参数是动态参数,修改这个参数后对应的目录和日志文件会立刻被生成并使用。默认在ORACLE_BASE下。
在实例中,可以使用v$diag_info视图来查看ADR的相关信息。

Oracle 11g同时提供了一个ADRCI(ADR Command-Line Utility)命令行工具来查看ADR中的alert日志和trace信息,并生成健康报告。ADRCI工具在$ORACLE_HOME/bin下面。下面列出一些常用的操作。
Continue reading

Posted in Database, Oracle.