名站网址导航为大家提供关于数据库教程相关的教程网站知识。
oracle分区表之hash分区表的使用及扩展
hash分区是通过对分区键运用hash算法从而决定数据的分区归属。使用hash分区有什么优点呢?,经常用的的分区表所具有的优点:如提高数据可用行,减少管理负担,改善数据库语句性能等优点,hash分区同样拥有。此外,由于hash分区表是按分区键的hash计算结果来决定其分区的,而特定的分区键其hash值是固定,复制具体相关代码 具体相关代码如下:,create table equity ( id number, trade_date date, ……);,Equity表可能会很大,对equity表的查询通常都是指定id,查询某一交易日期或者某段时期内的其他信息。这种情况下咱们需要如何为equity表选择分区呢? 单从表本身结构来看,似乎trade_da,hash分区表的扩展:,hash分区表是通过add partition开始执行命令来增加分区的。Oracle推荐分区的个数是2的幂,比如,2,4,8..等等,这样可以确保数据在各个分区中分布比较均匀。当然,如前所述,还需要分区键值是,复制具体相关代码 具体相关代码如下:,select TABLE_NAME,PARTITION_POSITION,PARTITION_NAME,NUM_ROWS from user_tab_partitions where table_na,查询各个分区的数据分布,咱们可以看到,从分区37 ~ 64的28个分区的记录数大概是其他分区的两倍。由于100不是2的整数幂,所以Oracle的hash函数是无法保证数据是平均分布的。咱们为该表添加一,复制具体相关代码 具体相关代码如下:,alter table nts_commodity_ts add partition COT_IND01_P101; Table altered. Elapsed: 00:06:58.52,收集统计信息后查询新的分区记录数:,复制具体相关代码 具体相关代码如下:
1, 首先在Oracle所在计算机安装MySQL的Client端软件,并且x86_64和i386版本的都需要安装,以便可以连接MySQL网站数据库。查看Client安装情况:
复制具体相关代码 具体相关代码如下:
rpm -qa |grep mysql
mysql-5.0.45-7.el5
mysql-5.0.45-7.el5
得到两条记录,一条是x86_64的,一条是i386的。
假如如果看到还没有安装mysql客户端软件,则需要安装:
复制具体相关代码 具体相关代码如下:
yum install mysql
yum install mysql.i386
验证在此Oracle所在计算机是可以连接目标主机MySQL网站数据库:
复制具体相关代码 具体相关代码如下:
mysql -h 192.168.1.1 -u root -p mysql
2, 检查Oracle所在计算机是否已安装MySQL ODBC客户端,并且x86_64和i386版本的都需要安装。
复制具体相关代码 具体相关代码如下:
rpm -qa |grep mysql-connect
假如如果没有安装mysql-connector-odbc,则用下面开始执行命令下载和安装:
下载 mysql-connector-odbc:
复制具体相关代码 具体相关代码如下:
wget ftp://mirror.switch.ch/pool/3/mirror/centos/5.2/os/i386/CentO S/mysql-connector-odbc-3.51.12-2.2.i386.rpm
安装mysql-connector-odbc:
复制具体相关代码 具体相关代码如下:
rpm -ivh mysql-connector-odbc-3.51.12-2.2.i386.rpm
得到提示
复制具体相关代码 具体相关代码如下:
libltdl.so.3 is needed by mysql-connector-odbc-3.51.12-2.2.i386 ,发现需要安装libtool的i386版本,因此通过如下开始执行命令安装libtool-ltdl.i386:
yum list *.i386|grep libtool
yum install libtool-ltdl.i386
3, 在Oracle所在计算机编辑/etc/odbc.ini网站网站文件,测试ODBC工作
复制具体相关代码 具体相关代码如下:
vi /etc/odbc.ini
#odbc.ini内容如下
复制具体相关代码 具体相关代码如下:
[test]
Driver=/usr/lib64/libmyodbc3.so
Description=MySQL
Server=192.168.1.1(MySQL Server IP)
Port=3306
User= (MySQL Username)
UID= (MySQL Username)
Password= (MySQL PWD)
Database= (MySQL Database Name)
Option=3
Socket=
在开始执行命令行中执行下列开始执行命令,应能够顺利登入MySQL Client窗口,即证明ODBC功能正常:
复制具体相关代码 具体相关代码如下:
isql -v test
quit
4, 编辑hs配置网站网站文件 vi /ora10g/hs/admin/inittest.ora(注意网站网站文件名中蓝色部分为odbc.ini中蓝色名称)
复制具体相关代码 具体相关代码如下:
hS_FDS_CONNECT_INFO = test
hS_FDS_TRACE_LEVEL = on(正式使用后,不需要排错的时候应设为off)
hS_FDS_TRACE_FILE_NAME = test.trc
hS_FDS_ShAREABLE_NAME=/usr/lib/libmyodbc3.so
set ODBCINI=/etc/odbc.ini
5, 编辑Oracle所在计算机的Oracle listener的配置网站网站文件,建立一个模拟Oracle Listener的监听相关方式,为将来建立dblink做准备:
vi /ora10g/network/admin/listener.ora 加入如下数据库语句:
复制具体相关代码 具体相关代码如下:
(SID_DESC =
(SID_NAME = test)
(ORACLE_hOME = /ora10g)
(PROGRAM = hsodbc)
(ENVS=LD_LIBRARY_PATh=/ora10g/lib32:/usr/lib64:/ora10g/lib)
)
listener.ora网站网站文件现在的内容变成:
复制具体相关代码 具体相关代码如下:
SID_LIST_LISTENER = (
SID_LIST =
(SID_DESC =
(ORACLE_hOME = /ora10g)
(PROGRAM = extproc)
(GLOBAL_DBNAME=prod)
(SID_NAME=prod)
)
(SID_DESC =
(SID_NAME = test)
(ORACLE_hOME = /ora10g)
(PROGRAM = hsodbc)
(ENVS=LD_LIBRARY_PATh=/ora10g/lib32:/usr/lib64:/ora10g/lib)
)
)
LISTENER = (
DESCRIPTION_LIST =
(DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(hOST = 0.0.0.0)(PORT = 1521)) )
)
执行lsnrctl reload使Listener生效:
复制具体相关代码 具体相关代码如下:
su – oracle
lsnrctl reload
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 09-FEB-2009 13:59:38 Copyright (c) 1991, 2007, Oracle.
All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
The command completed successfully
lsnrctl status
LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 12-FEB-2009 08:56:00
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date 03-JAN-2009 03:47:39
Uptime 40 days 5 hr. 8 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /ora10g/network/admin/listener.ora
Listener Log File /ora10g/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(hOST=0.0.0.0)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "test" has 1 instance(s).
Instance "test", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
6, 编辑Oracle所在计算机中的tnsnames.ora网站网站文件,便于建立dblink。注意,此tnsnames的配置可以支持tnsping,但是不能支持sqlplus登录,只用于dblink:
复制具体相关代码 具体相关代码如下:
关于数据库教程相关的教程网站知识今天我们就说到这里了,希望可以帮到大家。