Oracle primary key和unique key的区别与联系
primary key与unique key都是唯一性约束。但二者有很大的区别:
- 1.作为primary key的1个或多个列必须为NOT NULL,
- 如果建表时此列设为NULL,在增加PRIMARY KEY时,列自动更改为NOT NULL。
- 而unique key约束的列可以为null,这是primary key与unique key最大的区别。
- 2.一个表只能有一个primary key(单列或多列,多列主键叫联合主键),但可以有多个unique key。
>>>Database Link
创建数据库连接
create database link dblink_name connect to user identified by password using '192.168.1.73:1521/oracle';
查询数据库连接表
select * from t_application@dblink_name;
>>>分区
alter table book add partition p4 values less than (maxvalue);给book添加一个新的分区p4,其中的值比maxvalue小。
alter table book drop partition p1;
删除一个分区。
alter table book truncate partition p2;
将分区p2中的内容删除
lter table book merge partitions p1,p2 into partition p2;
将分区p1,p2中的内容合并进入p2
lter table book split partition p3 at (40) into (partition p31 ,partition p32);
将分区p3分为2个分区,小于40的在p31,大于等于40的在p32
alter table t_op split partition p_20140101 at (TIMESTAMP' 2014-01-30 00:00:00') INTO (p_20140101_1, p_20140101_2);
alter table book rename partition p31 to p1;
将分区重新命名
select * from t_applicationlog partition(p_20140101);
查询某个分区记录
http://bboyuan.iteye.com/blog/574365
>>>plsql的database link
在database link-connect to中创建连接参数:
name:local
username:
password:
database: localhost:1521/mydb
查询时 select * from table1@local
>>>数据库能ping通 telnet不能连接1521端口
一般是你在安装oracle得时候未联网装,导致oracle自动配置listener.ora和tnsnames.ora里面的HOST=localhost了,将这两个文件localhost部分改你的机器名后重启服务就好了
>>>连接RAC双机的客户端连接符
RACJYS=
(DESCRIPTION =
(ADDRESS_LIST =
(LOAD_BALANCE = yes)
(FAILOVER = on)
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db)
(FAILOVER_MODE =
(TYPE=SESSION)
(METHOD=BASIC)
(RETRIES=30)
(DELAY=5)
)
)
)
>>>Oracle字符串的连接聚合函数可用于group by
http://www.linuxidc.com/Linux/2012-02/54523.htm
>>>搞懂oracle字符集
http://www.3lian.com/edu/2013/07-16/81217.html