1.基础概念

数据库
存放数据的仓库
数据库管理系统
科学的组织和存储数据、高效的获取和维护数据
数据库系统的组成
数据库、dbms、应用系统、数据库管理员
硬件要求
CPU速度、内存大小、IO效率、硬盘容量、网络效率
DBA要求
参与数据库设计的全过程、通过权限管理和完整性约束保证安全、监控数据库运行(发生故障后及时恢复)、定期备份
数据模型
数据结构ddl、数据操纵dml、数据控制dcl
完整性约束
实体完整性(PK)、参照完整性(FK)、域完整性(UNIQUE、NULL、CHECK)
SQL语言
访问数据库的接口

2.元数据

数据字典
由dbms自动生成、并维护的一组表和视图
控制文件
支撑数据库的运行
日志文件
记录数据和数据结构的修改
数据文件
物理划分,存储表空间的内容

3.数据库结构

表空间(逻辑)
数据库对象在逻辑上划分的容器 (默认创建3个:SYSTEM SYSTEMAUX TEMP)
段(逻辑)
每个数据库对象,在逻辑上的存储单位(分类:数据段、索引段、临时段、回滚段)
区(物理)
组成段的基本物理单位
块(物理)
读写的最小物理单位
组成关系
数据库 > 表空间 > 数据库对象 > 区 > 块

1.数据定义

				
				

2.数据操纵

				
				

3.数据查询

				
				

4.数据控制

				
				

5.完整性约束

				
				

1.概述

本质
在SQL语言上扩展的程序设计语言
使用
下载PL/SQL客户端和oracle客户端,配置PL/SQL客户端,使它连接到oracle客户端上

2.重要元素

逻辑单元
PL/Sql程序块,可独立编译并存储在数据库中,以四种形式存储:函数、过程、包、触发器
函数
输入参数:任意,返回值:1个;调用:与其它语言一样
过程
输入参数:任意,返回值:无;调用:直接调用 / execute 过程名
一组相关的【过程、函数、类型、变量】的集合
触发器
输入参数:无,返回值:无;调用:事件引发
记录
当成结构体来用,有2种定义方式:显示和隐式
集合
当成数组来用
游标
指向集合的指针,作用是遍历集合 %FOUND有记录 %NOTFOUND没有记录 %ROWCOUNT当前记录数 %ISOPEN游标开启

3.语法说明

				
				
				
				

1.表空间操作

				
				

2.各种情况

建立数据库时
初始化表空间大小
表空间充足时
动态空间监视:SELECT * FROM DBA_FREE_SPACE 增加数据文件
表空间不足时
修改数据文件大小 创建新表空间 增加数据文件
合理利用存储空间
为字段设置合适的数据类型和长度
删除无用的对象和表空间
删除数据文件
归档历史数据并回收相应空间

3.总结

主要玩的是表空间、数据文件、数据对象;表空间是房屋格局,数据文件是占地面积,数据对象是屋里的家具;完全看dba怎么分隔,怎么摆放

1.安装Oracle服务端

下载(11g)
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 两个文件都下载
安装
两个文件解压到同一个目录,双击 setup.exe
删除
安装目录\product\11.2.0\dbhome_1\deinstall, 双击 deinstall.bat
注意
win8下出现很多奇怪的错误,多数情况下右键.exe文件,选择兼容模式和管理员身份
ORACLE_HOME
F:\oracle\product\10.2.0\db_1
开启两个重要的服务
xxxListener允许客户端连接 xxxORCL 支持服务端运行

2.安装Oracle客户端

下载(32位)
http://www.oracle.com/technetwork/topics/winsoft-085727.html (由于PL/Sql Developer是32位的,要保持一致)
安装
直接解压,并创建 \NETWORK\ADMIN\ 目录,放置tnsnames.ora文件
ORACLE_HOME
C:\instantclient_10_2
TNS_ADMIN
C:\instantclient_10_2\NETWORK\ADMIN\
NLS_LANG
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
配置tnsnames.ora
指定各个数据库的连接字符串

3.相关工具

管理
Oracle Universal Installer 安装卸载数据库管理系统
Database Configuration Assistant 创建/配置/删除数据库
Net Configuration Assistant 网络配置
开发
Sql Plus
Sql Developer
PL/Sql Developer
TOAD

4.安装PL/Sql Developer

下载(破解版)
http://gd.ddooo.com:8081/uuauth/PLSQLDeveloper_13356.rar
配置
Tools\Preferences ...\Connection, Oracle Home:与环境变量一致, OCI Library:指向oci.dll

1.系统用户

概念
把Oracle比作公司,用户就是它的员工
默认用户
sys as sysdba/sysoper system, sysman as normal
登录
connect 用户名/密码 @服务器地址 as normal/sysdba/sysoper
查看登录用户
show user
创建用户
create user 用户名 identified by 密码
启用用户
alter user 用户名 account unlock
dba_users / user_users
用户相关的信息
给用户授权
grant 权限名 to 用户名
撤销用户权限
revoke 权限名 to 用户名
dba_sys_privs / user_sys_privs
权限相关的信息
通常给用户授予两个角色
grant connect, resource to 用户

2.表空间

概念
把Oracle比作公司,表空间就是员工的办公区域
永久表空间
表、视图、存储过程等
临时表空间
执行时的中间过程,执行完删除
undo表空间
为事务服务,保存修改前的数据
dba_tablespaces / user_tablespaces
表空间相关的信息
dba_data_files / user_data_files
数据文件相关的信息
修改默认表空间
alter user 用户名 default tablespace 表空间
创建表空间
create tablespace 表空间 datafile 'xxx.dbf' size 10m;
删除表空间
drop tablespace 表空间 including contents;
增加数据文件
alter tablespace 表空间 add datafile 'xxx.dbf' size 10m;
删除数据文件
alter tablespace 表空间 drop datafile 'xxx.dbf';

3.表

概念
二维结构的基本存储单位
数据类型
字符型 char(n)/nchar(n), varchar2(n)/nvarchar2(n) 数值型 number(有效数字,小数位数), float(n) 日期型 date, timestamp 大对象 blob【二进制存储】, clob【字符串存储】
约束
非空约束 not null 主键约束 primary key / constraint 【约束名】 primary key(【字段1,2...】) 外键约束 reference 【主表】(【字段】) / constraint 【约束名】 foreign key(【从表字段】) references 【主表】(【主表字段】) on delete cascade 唯一约束 unique / constraint 【约束名】 unique(【字段】) 检查约束 check(【条件】) / constraint 【约束名】 check(【条件】)
约束的数据字典
user_constraints

4.导入/导出

概念
可以实现数据库的备份/还原,也可以在数据库间传递数据
命令行导出
exp \"用户名/密码@服务名\" file=导出文件.dmp full=y compress=N owner=(用户1,用户2) tables=(表1,表2) query=\"where 过滤条件\"
命令行导出表结构(不要数据)
exp \"用户名/密码@服务名\" file=导出文件.dmp full=y compress=n rows=n
命令行导入
imp \"用户名/密码@服务名\" file=导入文件.dmp ignore=y tables=(表1,表2)
导入可能出的问题
1)主外键约束:     a.先导入主表,再导入子表     b.disable主外键约束,导入后再enable 2)权限不够:     赋予imp_full_database权限 3)imp和exp字符集不同:     修改注册表中的 NLS_LANG 4)数据库连接不上:     tnsping 服务名

5.DBA常态步骤

创建表空间
create tablespace 表空间 datafile 'xxx.dbf' size 10m;
为应用创建用户
create user 用户名 identified by 密码 default tablespace 表空间;
为用户授权
grant connect, resource to 用户名; revoke unlimited tablespace from 用户名; alter user 用户名 quota unlimited on 表空间;

				
				

1.
2.