Archive for the ‘Oracle’ category

Oracle的实例

July 25th, 2010

今天看了一下伟大的oracle的系统结构,以自己的理解做个总结,主要从一些概念入手:

oracle实例其实就是=  内存分配  +  一组后台进程,  如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance..内存被分配,进程被启动 » Read more: Oracle的实例

oracle基本操作(二)

June 19th, 2010

48.如何实现行列转换
» Read more: oracle基本操作(二)

oracle基本操作(一)

June 19th, 2010

1.增加主键
alter table TABLE_NAME add constraint KEY_NAME primary key (TABLE_COLUMN);
指定表空间 » Read more: oracle基本操作(一)

lower等函数位置不同引起的后遗症

December 18th, 2009

刚找出了一个bug,大家来看下面几条SQL:
» Read more: lower等函数位置不同引起的后遗症

如何在wordPress中使代码高亮

December 13th, 2009

今天网上折腾了好久,终于把google的这个高亮插件给整上了,下面是SQL语句高亮的效果,不错吧 嘎嘎

SELECT year, product_name, customer_city, SUM(order_amount), COUNT(*)
FROM
  sales_order_fact a
, date_dim b
, product_dim c
, customer_dim d
WHERE
    a.order_date_sk = b.date_sk
AND a.product_sk = c.product_sk
AND a.customer_sk = d.customer_sk
GROUP BY year, product_name, customer_city
ORDER BY year, product_name, customer_city
;


» Read more: 如何在wordPress中使代码高亮

pl/sql 基础

December 12th, 2009

pl/sql是什么,简单点,我的理解就是处理oracle里面的数据集的一种过程化语言!

写点pl/sql的基础,跟别的语言差不多,特别之处看注释,代码格式方面参照下面例子的风格:

运算符方面:

  1. 赋值: :=
  2. 算术: + 、-、 *、 / 、 **(乘幂)
  3. 逻辑运算: and、or、 not
  4. 比较(非空值): =、 !=、 <、 >、<= 、>= 、in、 between
  5. 比较(对空值处理): is null 、 is not null
  6. 字符串: like、 ||

条件转移逻辑方面: » Read more: pl/sql 基础

oracle索引 、约束简单总结

December 6th, 2009

撒时候应该建立索引?

  1.   表很大而且大多数查询的返回数据量很少(oracle推荐<总行数的2%——3%)
  2. 此列的取值范围很广,一般为随机分布。如年龄几乎18岁到60岁的都有
  3. 一列或多列经常出现where子句或连接条件中
  4. 表上的DML操作较少
  5. 此列中包含大量的空值(NULL)
  6. 此列不经常作为SELECT语句中某个表达式的一部分。基于函数的索引

 

 建了索引人家不一定用你的噢,如何确认伟大的oracle系统是否用了你的索引?

  1. explain plan for  select * from emp where ename like ‘J%’; //解释
  2. select id,operation,options,object_name,position from plan_table; //查看是否使用了索引

 

为什么引入约束?

  1. 当对表进行DML或DDL操作时,强加到表上的规则&条件

约束有些撒东西?

  1. (NN)非空——NOT NULL
  2. (UK)唯一——UNIQUE——在表中每一行中所定义的这列或这些列的值都不能相同
  3. (PK)主键——PRIMARY KEY——唯一标识表中的每一行
  4. (FK)外键——FOREIGN KEY——维护主表与从表之间引用完整性
  5. (CK)条件——CHECK——表中每行都要满足约束条件

oracle常用操作例子

November 21st, 2009

命令代码:                       作用:

conn 用户名 切换用户
conn sys as sysdba; 进入内部修改sys用户(管理员用户)
alter user system identified by aaaa; 在sys用户下把system用户的进入密码修改成aaaa
create user nitpro identified by nitpro; 创建一个nitpro用户而且直接设置密码也为nitpro
grant dba to nitpro; 在system总目录下把nitpro设置一个dba权限,不然无法连接
show user; 查看当前用户
drop user 用户名; 删除用户(在管理员用户下删除别的用户)

  » Read more: oracle常用操作例子

oracle数据表导入导出例子

November 21st, 2009

———— 用户级————————————————————————————————————–

1.把(用户)数据库导出到 C:\db_backup.dmp
exp 用户名/密码 file=C:\db_backup.dmp

2.通过文件xxxx.dmp 把数据库导入
imp 用户名/密码 fromuser=原始用户touser=现在的用户 file=xxxx.dmp ignore=y

注:
1、fromuser为所导出数据的owner。
2、exp时owner与tables不能同时使用,相互冲突。
3、imp时可以同时指定fromuser 和tables参数。

3.将数据库中system用户与sys用户的表导出
exp 用户名/密码@数据库 file=d:\daochu.dmp owner=(system,sys) :前提该用户的权限比system,sys大.

  » Read more: oracle数据表导入导出例子