复习oracle

发布 2021-04-27 21:33:28 阅读 9991

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工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...