chap2
oracle工作原理。
1)、在数据库服务器上启动oracle实例;
2)、应用程序在客户端的用户进程中运行,启用oracle网络服务驱动器与服务器建立连接;
3)、服务器运行oracle网络服务驱动器,建立专用的服务器进程执行用户进程;
4)、客户端提交事务;
5)、服务器进程获取sql语句并检查共享池中是否有相似的sql语句,如果有,服务器进程再检查用户的访问权限;否则分配新的sql共享区分析并执行sql语句;
6)、服务器从实际的数据文件或sga中取得所需数据;
7)、服务器进程在sga中更新数据,进程dbwn在特定条件下将更新过的数据块写回磁盘,进程lgwr在重做日志文件中记录事务;
8)、如果事务成功,服务器进程发送消息到应用程序中。
oracle实例是内存结构和后台进程的集合。
oracle实例的后台进程包括smon、pmon、dbwr、lgwr、arc、ckpt等。
dbca:database configuration assistant
自动内存管理,即amm
sga── system global area,系统全局区。
pga(process global area): 程序全局区。
pmon(process moniter)进程监控进程。
smon(system moniter):系统监控进程。
dbwb(database writer):数据读写进程。
lgwr(log writer):日志读写进程。
reco(recovery):恢复进程。
ckpt(checkpoint):检查点进程。
主要物理文件可分为三类:
i、数据文件:数据文件用于存储数据库数据,如表、索引数据等。
ii、控制文件:控制文件是记录数据库物理结构的二进制文件。
iii、**日志文件:记录对数据库的所有修改信息,用于故障恢复。
pmon 进程监控进程,监控用户进程是否正常。
smon 系统监控进程,实时监控整个oracle状况。
lgwr 日志写入进程:负责将日志缓冲区中的日志数据写入日志文件。
dbwr 数据写入进程:管理数据缓冲区,将最近使用过的块保留在内存中。
chap3 sqlplus
1. 执行一个sql脚本文件:1)start file_name 2)@ file_name
2. 将显示的内容输出到指定文件: spool file_name
3. 在linux shell中运行sql*plus的时候,并不提供浏览历史命令行的功能,为了在linux中达到同样的目的,你可以安装rlwrap
4. oracle的sql*plus是与oracle进行交互的客户端工具。
5. dml、ddl
6. 以操作系统权限认证的oracle sys管理员登陆。
oracle@graduate ~]sqlplus “/as sysdba”
7. 不显露密码的登陆方式
8. [oracle@graduate ~]sqlplus
9. enter user-name:sys
10. enter password:password as sysdba
11. 非管理员用户登陆
12. [oracle@graduate ~]sqlplus scott/tiger
13. sqlplus/nolog
-运行sqlplus命令,进入sqlplus环境,nolog参数表示不登录;
nolog是不登陆到数据库服务器的意思;如果没有/nolog参数,sqlplus会提示你输入用户名和密码
chap4 sql语言概述。
1. sql>select round(123.56,-2) from dual;
输出结果是( )
2. sql>select 7*9 from dual;
输出结果是( )
3. 连接运算符用于把列和其他列连接起来,也可以与字符串连接起来。连接符表示为(两条竖线||)
4. 连接运算符用于把列和其他列连接起来,也可以与字符串连接起来。在连接字符是可以对欲连接的字符使用单引号。
5. sql语句的书写规范:
a)不区分大小写 b)关键字不能跨行书写 c)关键字不能缩写,如sel(ect)
d)一个sql语句可以有多行。
6. 实现把字符串的首字母大写的功能的函数是()。initcap
a)upper b)lower c)initcap d)concat
7. select job,**g(sal) “**erage salary”,sum(sal) “总工资”
from emp group by job order by “总工资”;
以上sql语句能实现的功能是计算不同岗位的平均工资和总工资,并根据“总工资”排序。
chap5 创建oracle数据库。
1. 创建oracle数据库的前提条件。
1)获得sysdba权限 2)内存大小满足oracle实例sga的要求 3)根据业务需求对磁盘空间做出评估。
2. oracle数据库的创建方法:1)使用dbca 2)使用create database指令 3)在安装数据库软件时创建数据库。
# 数据库名,一般与oracle_sid相同。
4. 用手动方式创建数据库是深刻理解和熟悉掌握数据库的有效手段。请对create table的用法进行注释。
create database
#用户sys、system的密码设置。如不设置,则默认为“change_on_install”
user sys identified by
用户system的密码设置。 如不设置,则默认为“manager”
user system identified by
maxlogfiles 5 # 最大日志组数。
maxlogmembers 5 --# 日志组中最多成员数。
maxloghistory 1 --#(rac环境下有效,暂不深入)
# 最大数据文件数。
maxdatafiles 100 --与“db_files”之间的关系?)
/ 9i后,由db_files参数来控制“最大数据文件数”。这个参数名存实亡。
logfile group 1 ('u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/')size 20m,group 2 ('u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/')size 20m,group 3 ('u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/',u01/app/oracle/oradata/orcl/')size 20m
character set we8iso8859p1 --# 数据库字符集。
national character set utf8 --# 国家字符集。
extent management local> # 指定system表空间中,扩展段的管理方式[ local | dictionary ]
5. 所谓概要文件,就是一份描述如何使用系统的资源(主要是cpu资源)的配置文件。将概要文件赋予某个数据库用户,在用户连接并访问数据库服务器时,系统就按照概要文件给他分配资源。
chap6 管理和维护表。
1. 创建表时的命名规则。
1)表名和字段名的命名规则:必须以字母开头,可以含符号a-z,a-z,0-9,_,#
2)大小写不区分。
3)不用sql里的保留字, 一定要用时可用双引号把字符串括起来.
4)用和实体或属性相关的英文符号长度有一定的限制。
2. 创建表时的注意事项:
1)建表时可以用中文的字段名, 但最好还是用英文的字段名。
2)创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面。
3)建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引。
4)一个表的最多字段个数也是有限制的,254个。
3. 约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是sys_cn(n是数字)
4. 当一个block经历delete操作使已使用空间降到pctused值后,此块重新被加入freelist,后续的insert将会用到这个block。
5. 对用户来说,表中被标记为unused状态的列像被删除了一样,无法查询该列,但实际上该列仍然存在,并占用存储空间。
6. 辨析。
1) truncate和 delete只删除数据不删除表的结构(定义)
2) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index).
3) delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发。
4) truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚。 操作不触发trigger.
5) 速度,一般来说: drop>; truncate >;delete
6) 安全性:小心使用drop 和truncate,尤其没有备份的时候。否则哭都来不及。
7) 使用上,想删除部分数据行用delete,注意带上where子句。 回滚段要足够大。
7. 分区表的意义当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
oracle复习
oracle数据库的主要特点。支持多用户 大事务量的事务处理。数据安全性和完整性控制。支持分布式数据处理。可移植性。oracle服务器提供开放 全面和综合的信息管理,它由oracle数据库和oracle实例组成。管理数据库的后台进程和内存结构的集合称为 oracle 实例 oracle 数据库是一个...
Oracle复习
一 创建用户。在yggl数据库中创建一个用户manager,授予dba角色和sysdba系统权限,它可以替代system系统用户。connect system 123456 as sysdab create user manager profile default identified by man...
Oracle复习
oracle数据库管理与编程知识点。1.关系数据库基本理论 oracle应用结构。2.oracle体系结构 实例内存管理 sga pga 逻辑存储结构 表空间 段 区 块 物理存储结构 数据文件 控制文件 其他文件 3.sql plus工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...