oracle开发知识点
1. 分区表
Oracle
建议如果单个表超过2G就最好对其进行分区。
对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快;
1)
Range分区
Range分区呢是应用范围比较广的表分区方式,它是以列的值的范围来做为分区的划分条件,将记录存放到列值所
在的range分区中,比如按照时间划分,2008年1季度的数据放到a分区,08年2季度的数据放到b分区,因此在创建的时候呢,需要你指定基于的列,
以及分区的范围值,如果某些记录暂无法预测范围,可以创建maxvalue分区,所有不在指定范围内的记录都会被存储到maxvalue所在分区中,并且
支持指定多列做为依赖列
CREATE TABLE sales
(invoice_no NUMBER,
...
sale_date DATE NOT NULL )
PARTITION BY RANGE (sale_date)
(PARTITION sales1999_q1
VALUES LESS THAN (TO_DATE(‘1999-04-01’,’YYYY-MM-DD’)
TABLESPACE ts_sale1999q1,
...
PARTITION sales1999_q4
VALUES LESS THAN (TO_DATE(‘2000-01-01’,’YYYY-MM-DD’)
TABLESPACE ts_sale1999q4 );
--values less than (maxvalue)
2)
Hash分区
通常呢,对于那些无法有效划分范围的表,可以使用hash分区,这样对于提高性能还是会有一定的帮助。hash
分区会将表中的数据平均分配到你指定的几个分区中,列所在分区是依据分区列的hash值自动分配,因此你并不能控制也不知道哪条记录会被放到哪个分区
中,hash分区也可以支持多个依赖列。
create table emp (
empno number(4),
...,
sal number)
partition by hash (empno)
(
PARTITION PART01 TABLESPACE HASH_TS01,
PARTITION PART02 TABLESPACE HASH_TS02,
PARTITION PART03 TABLESPACE HASH_TS03
)
3)
List分区
你能控制记录存储在哪个分区。它的分区列只能有一个
,要创建一个default分区存储那些不在指定范围内的记录。
create table emp (
empno number(4),
...,
location varchar2(30))
partition by list (location)
(partition p1 values ('北京') TABLESPACE PROB_TS01,
partition p2 values ('上海','天津','重庆') TABLESPACE PROB_TS02,
partition p3 values ('广东
相关文档:
最新oracle 补丁下载
使用迅雷新建任务下载地址填写
ftp://updates.oracle.com/<patch_num>/p<patch_num>_<version>_<os>.zip
就可以下载到你想要的补丁了。
以下是几个常用补丁的下载地址。
(10.2.0.3 patch)
ftp://updates.oracle.com/5337014/p5337014_10203_WINNT.zip ftp://updates.o ......
Centos redhat ,oracle10g,oracle11g均适用
1. 编写脚本:
# vi startoracle.sh
#11g的话只是这个目录有所区别
ORACLE_HOME=/home/oracle/product/10.2.0/db_1;export ORACLE_HOME
ORACLE_SID=orcl;export ORACLE_SID #这里配上你的本地示例名
&nbs ......
CHAR 固定长度字符串 最大长度2000 bytes
VARCHAR2 可变长度的字符串 最大长度4000 bytes 可做索引的最大长度749
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes
DATE 日期� ......
安装步骤:
1. 安装JDK,安装方法见
Ubuntu
10.04下的搭建SUN JAVA开发环境
解决中文乱码问题,在jre目录下字体目录中建立"fallback"目录,然后copy或者link你喜欢的字体至目录下.
2. 安装必要的软件包
11g所需要的软件包并不多,只要安装build-essential,rpm,libaio,ksh,libtool,libstdc++5
sudo apt-get install ......
oracle8i 驱动 ojdbc14.jar 这个驱动有问题,分页时要手动 写 rownum<m ,它自动成生的分页不正确,用的mysql的top m
Null value was assigned to a property of primitive 把entity中int类型改成Integer 库中不设置nullable
number(9) 的id 不能用Interger,得用BigDecimal,要不然取id时会报错 ......