数据库设计基本步骤:①需求分析阶段②概念结构设计阶段③逻辑结构设计阶段④物理结构设计阶段⑤实施和维护阶段
Oracle企业管理器:通过一组oracle程序为管理分布式环境提供了管理服务
SQL*PLUS可以执行输入的sql语句,与数据库进行对话,用命令方式启动,无GUI界面
-
Oracle体系结构:
内存结构:主要由SGA和PGA组成,SGA共享进程,PGA不共享
进程结构:主要有后台进程,用户进程,服务器进程
物理结构:主要包括数据文件,控制文件,重做日志文件,其他文件
数据文件:数据库实际数据,是数据的最终存储位置
控制文件:包含维护数据库与验证数据库完整性的信息,是二进制文件
重做日志文件:包含数据库发生变化的记录,用于数据恢复
其他我呢间:包含数据库系统运行的参数文件(.ora)及重做日志的文件归档等数据文件获取:select name from vdatafile
控制文件作用:启动数据库时,oracle从初始化参数文件中获得控制文件的名字及位置,并打开控制文件,然后从控制文件中读取数据文件和联机日志文件的信息,最后打开数据库
查看是否归档:archive log list;
设置为归档模式:alter database archivelog; 设置非归档模式: alter database noarchivelog;其他文件中归档日志文件:使用数据文件备份,归档日志和重做日志可以完全恢复数据库
Oracle逻辑存储结构:
表空间:是数据库的逻辑划分,用来存储数据库对象的容器
包括系统表空间,临时表空间,还原表空间,用户表空间,索引表空间
段:存储特定数据库对象的区域,包括数据段,索引段,临时段,还原段(回滚段)
区:数据库为段分配的一组连续数据块
数据块:是数据块在磁盘上的最小单元,通过数据块来存储和读取数据数据段主要包括表,表分区,簇,大对象段等
Oracle内存结构:SGA(系统全局区):是数据库实例的一部分,会首先分配内存给系统全局区
PGA(程序全局区):不是实例的一部分,当服务器进程启动时才会分配PGA内存SGA特性:①SGA是由实例的数据和控制信息构成②SGA是共享的③一个SGA对应一个实例
PGA:存储了服务器进程或单独的后台进程的数据信息和控制信息,随着服务器进程的创建而被分配内存,随着进程的终止而释放内存
UGA:用户全局区,是用户会话的状态,这部分内存会话总可以访问,UGA存储在SGA中任何服务器都可以使用用户会话的数据和其他信息,而UGA总是在PGA中分配数据库高速缓冲区:存储了最近读取的数据块,还存储了脏数据(在缓冲区修改但还没有存储到数据文件的数据),oracle使用LRU算法管理数据库高速缓冲区
Oracle数据库打开时,5个后台进程是必须启动的:数据库写进程,重做日志进程,检查点进程,系统监控进程,进程监控进程
静态数据字典:由表和视图组成,视图分为三类
user_* 记录当前用户拥有的对象的信息
all_* 记录当前用户能访问的对象的信息
dba_* 记录数据库中所有对象的信息OEM管理员可以登录到OEM控制台,并执行管理任务,默认情况下,只有SYS,SYSTEM,SYSMAN三个数据库用户才能登录和使用OEM控制台
创建数据库通常有三种方式:
①在安装oracle软件时使用OUI自动创建数据库
②使用DBCA图形化界面创建数据库
③使用CREATE DATABASE命令及脚本创建数据库全局数据库名和SID有什么不同: 全局数据库名是唯一标识oracle数据库,命名格式为
长度不能超过8个字符,只能包含字母和数字
SID是标识oracle数据库软件的特定实例,sid和数据库名保持一致专用服务器模式下的oracle数据库要求每个用户进程拥有一个专用服务器进程,每个客户机拥有一个服务器进程,比较适合只有少数客户机发出持久的,长时间运行的请求链接数据库,通常在数据仓库环境中使用
共享专用服务器选的oracle数据库配置为允许多个用户进程共享非常少的服务器进程,因此可以支持的用户数得以增加,数个内存限时并大量用户需要连接数据库的情况,通常在联机事务处理和web等环境用启动数据库到nomount模式: sqlplus / as sysdba
startup nomount;查看nomount模式下后台进程:
select program,status from v$session where type=’BACKGROUD’Nomount模式下启动到mount: startup nomount;
alter database mount;Mount模式下启动到open模式: startup nomount;
alter database mount;
alter database open;关闭数据库三过程: CLOSE数据库→DISMOUNT数据库→SHUTDOWN数据库
关闭数据库四方式:
SHUTDOWN NORMAL 默认方式,所有数据库退出才关闭,安全但大量时用时较长
SHUTDOWN IMMEDIATE 中断当前事务,回滚事务,断开连接,写脏数据,安全且较快
SHUTDOWN TRANSACTIONAL当前连接继续,不允许新的连接,安全但较慢
SHUTDOWN ABORT 强制断开,不回滚也不执行检查点 很不安全PFILE:静态参数文件,只有重新启动实例加载参数文件后,修改才生效
SPFILE:动态参数文件,修改后马上生效创建PFILE时指定PFILE存储位置 Create pfile=’d:\test.ora’ from spfile;
使用PFILE启动数据库 sqlplus / as sysdba
startup pfile= d:\test.ora使用desc命令查看表结构 desc v$parameter
使用网络服务名连接数据库
配置信息为tnsnames.ora
测试网络服务名: 输入”tnsping 网络服务名”来验证
直接连到数据库: sqlplus 用户/密码@网络服务名
解除用户锁定及修改用户密码: alter user xx1 account unlock;
Alter user xx1 identified by xx2;需要频繁的使用某些sql,就可以编写脚本,通过@或者”start”命令运行脚本提高效率
数据定义语言: CREATE(建库) ,ALTER(改库), DROP(删库)
数据查询语言:SELECT(检索)
数据操纵语言:INSERT(插入) , UPDATE(更新) , DELETE(删除)
数据控制语言:COMMIT(提交) , ROLLBACK(回滚) , GRANT(授权)使用已有的表结构创建新表结构及数据: Create table newtable as select * from oldtable;
使用已有的表结构创建新表结构:Create table newtable as select * from oldtable where 1=2;把字符串转成大写 Select upper(‘abc’) from dual;
截取字符串 Select substr(‘abcdefghijk’,1,8) from dual;将日期输出想要的格式 Select to_char(sysdate,’YYYY-MM-DD’) from dual;
约束按完整性可以分为主键约束,外键约束,唯一约束,非空约束,条件约束
索引是oracle的一个对象,是建立在数据表基础上的,存储了数据表中特定列的排序数据,实现对表的快速访问.
创建一个初值1增量1最小1最大9999的序列:
CREATE SEQUENCE XX INCREMENT BY 1 START WITH 1 MAXVALUE 9999 MINVALUE 1;创建自动获取序列值的触发器 CREATE OR REPLACE TRIGGER XX
创建存储过程: creat or replace 过程名 as 声明部分 begin 执行部分