ORACLE数据库傻瓜手册
Oracle傻瓜手册
Oracle8以8.1.5为界分为普通版本和internet版本。普通版版本号8.0.x,接触较多的是8.0.5;internet版版本号包括8.1.5(Release 1),8.1.6(Release 2),8.1.7(Release 3)。普通版简称Oracle 8,internet版简称Oracle 8i。假如不作非凡说明,文中凡出现Oracle 8i均指8.1.7版。
Oracle9i目前出到第二版,版本号为9.2,简称Oracle 9i。假如不作非凡说明,文中凡出现Oracle 9i均指9.2版。
本手册介绍Oracle配置的基本方法,描述的是"所然"而不是"所以然"。全部操作以命令行方式出现,不涉及GUI(只有白刃战才是真正的战斗)。鉴于大家对Windows已经十分熟悉,同时为了避免Windows和Unix两种截然不同的使用和开发风格给描述带来的复杂性,所以本手册不介绍在Windows上的Oracle(上帝的归上帝,恺撒的归恺撒)。
文中所有例子以oradb作为数据库实例名,数据库用户dbuser,口令oracle。假如不作非凡说明,关于Oracle 8i所有的例子都在Solaris 8 Intel Platform+Oracle 8iR3上通过,关于Oracle 9i所有的例子都在RedHat Linux 7.3+Oracle 9iR2上通过。附录文件sample.tar包含全部示例,简称附录。
大量使用表emp作为例子(参见附录08_proc/proc/single/emp.sql):
create table emp
(
no number(12) not null,
name char(20) not null,
age number(6) not null,
duty char(1) not null,
salary number(12) not null,
upd_ts date not null,
primary key (no)
);
开发中对应emp表结构,定义其宿主结构(参见附录08_proc/proc/single/db.h):
typedef strUCt
{
double no;
char name[21];
int age;
char duty[2];
double salary;
char upd_ts[15];
} emp_t;
修改历史:
2000/07 版本1.0
2000/09 版本1.1
增加Linux安装,eXPort,import使用,数据库监控及优化(utlbstat,utlestat,分析session),语言时间环境变量设置,Oracle8.0.5手工建库脚本(wei_dick提供,稍加修改)
2000/10 版本1.2
修改Linux安装中RedHat 6.x+Oracle 8.1.6、数据库优化中配置文件和session分析、常用技巧中下载上传文本数据和访问他机数据库;增加创建数据库实例中数据字典参考、常用技巧中删除冗余记录、应用开发,常见错误
感谢liu_freeman,jiao_juli
相关文档:
脚本1:
SELECT NAME
,value
,description
from ( --GV$SYSTEM_PARAMETER
SELECT x.inst_id as instance
,x.indx+1
,ksppinm as NAME
,ksppity
,ksppstvl as value
,ksppstdf as isdefault& ......
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
table表
字段1 字段2
&nbs ......
--定义数据库连接分发器
alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=imapdb)(DISPATCHERS=5)(PROTOCOL=IPC)(DISPATCHERS=5)' scope=spfile;
--定义共享服务数
alter system set shared_servers=20 scope=spfile;
--定义共享服务的session数
alter system set shared_server_sessions=1024 scope=spfile;
......
--创建序列
create sequence innerid
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20
order;
--创建表
create table users(
userid int primary key,
username varchar2(20),
userpwd varchar2(20)
);
select * from users;
insert into users values( ......
SQL中的单记录函数
1.ASCII
返回与指定的字符对应的十进制数;
SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;
A A ZERO   ......