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 ('广东
相关文档:
这个其实很简单,不过自己经常忘记,所以记下来
sqlplus /nolog;
connect / as sysdba
alter user sys identified by password;
alter user system identified by password; ......
在linux上安装oracle是一件复杂的事情,尤其对于一个生手来说,它的复杂程度远超过了linux操作系统的安装,因为不像windows那样可以直接点击sertup.exe就ok了,在安装之前你要配置环境变量,修改若干个系统文件,并且这些参数可能根据你linux版本的不同而有所不同,如果配置不正确,可能导致最终的安装失败,其它还有你的目 ......
安装步骤:
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 ......
产生表空间一般都是DBA或特权用户来完成的,如果要以其他的身份来产生,这个用户必须由Create tablespace权限才行。产生一个表空间时,一般需要产生一个数据文件,并确定文件的大小和段的大小。
产生一个表空间,确定数据文件,文件大小和区大小。
create tablespace date01 datafile d:\oracle\oradata\scut\date01.dbf ......
oracle9 startup时 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
原因可能是非法关机或掉电造成,以下是出现的问题及解决方法:
C:\Documents and Settings\Administrator>sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 5月 13 09:23:23 2007 ......