Oracle数据库学习笔记Word文档格式.docx
《Oracle数据库学习笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle数据库学习笔记Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
✓支持多种系统平台(HPUX、SUNOS、OSF/1、VMS、WINDOWS、WINDOWS/NT、OS/2)。
✓.数据安全保护措施:
没有读锁,采取快照SNAP方式完全消除了分布读写冲突。
自动检测死锁和冲突并解决。
✓数据安全级别为C2级(最高级)。
✓数据库内模支持多字节码制,支持多种语言文字编码。
✓具有面向制造系统的管理信息系统和财务系统应用系统。
✓在中国的销售份额占50%以上。
2.一个完整的数据库系统包括哪几个方面?
包括以下三个方面:
数据库管理系统(DBMS)、数据库、数据库服务器
(databasemanagementsystem)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms。
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。
用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。
它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。
它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。
3.oracle数据库进程分为哪几种,分别是什么?
它们中都包括哪些进程?
oracle数据库进程分为用户进程和服务器进程。
用户进程是在客户机内存上运行的程序,比如“企业管理器”和“SQLPlus”。
用户进程向服务器进程提出操作请求。
服务器进程包括:
系统监控进程SMON(数据库系统启动时执行恢复性工作,对有故障数据库进行恢复)。
进程监控进程PMON(用于恢复失败的用户进程)
数据库写入进程DBWR(将修改后的数据块内容写回数据库)
日志写入进程LGWR(将内存中的日志内容写入日志文件)
归档进程ARCH(当数据库服务器以归档方式运行时调用该进程完成日志归档)
检查点进程CKPT(标识检查点,用于减少数据库恢复所需要的时间)
恢复进程RECO(用于分布式数据库中的失败处理)
锁进程LCKn(在并行服务器模式下确保数据的一致性)
快照进程SNPn(进行快照刷新)
调度进程Dnnn(负责把用户进程路由到可用的服务器进程进行处理)
4.通过本机访问他人的数据库,如何配置?
有两种方式:
第一种,通过企业管理器。
右键“数据库”节点“将数据库添加到树”选择“手动添加数据库”输入需要访问数据库服务器的IP地址、端口号和SID(即数据库服务器的数据库名称),网络服务名可以任意取。
“确定”。
第二种:
通过数据库服务器暴露监听端口,然后客户端配置命名方法配置和本地Net服务名配置。
开始程序OracleconfigurationandMigrationToolsNetConfigurationAssistant然后分别配置数据库服务器的监听程序配置,客户端的命名方法配置和本地Net服务名配置。
(详细配置请参考Oracle9i基础的第二章)
5.oracle的默认表空间有哪些,它们的作用分别是?
默认的大小?
oracle的默认表空间有以下几种:
CWMLITE(用于联机分析处理OLAP,20MB)
DRSYS(用于存放与工作区间设置有关的信息,20MB)
EXAMPLE(实例表空间,存放实例信息,150MB左右)
INDEX(索引表空间,存放数据库索引信息,25MB)
ODM(数据挖掘用户,20MB)
XDB(XML数据库,39MB左右)
SYSTEM(系统表空间,存放表空间名称,所包含数据文件等管理信息,400MB)
TEMP(临时表空间,存储临时表,40MB)
TOOLS(工具表空间,存放数据库工具软件所需要的数据库对象,10MB)
UNDOTBS1(回滚表空间,存放数据库恢复信息,200MB)
USERS(用户表空间,存放用户私有信息,25MB)
新建一个表空间它的默认大小是5M。
6.oracle下有几种文件,每种文件的作用分别是什么,它们的存放路径?
oracle下有三种文件,分别是:
数据文件,用于存放所有的数据,以DBF为扩展名。
日志文件,记录了对数据库进行的所有操作,以LOG为扩展名。
控制文件,记录了数据库所有文件的控制信息,以CTL为扩展名。
存放路径:
[数据库安装路径]\oradata文件夹下。
7.oracle下有几种日志文件,它们的作用分别是?
Oracle数据库有两种日志工作模式,它们分别是非归档(联机)日志,归档日志
数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。
一般数据库至少要有2个联机重做日志组。
当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
基本情况和上面是一致的,唯一不同在于,当发生日志切换的时候,被切换的日志会进行归档。
比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。
这个目录叫做归档目录,拷贝的文件叫归档重做日志。
他们的区别在于一个归档,一个不归档。
数据库使用归档方式运行时才可以进行灾难性恢复。
8.如何在unix下安装oracle?
参照老师给的《Oracle9i在linux下的安装.docx》
9.sql语句分为几大类?
DML(datamanipulationlanguage):
它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
DDL(datadefinitionlanguage):
DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
DCL(DataControlLanguage)是数据库控制功能。
是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。
在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL。
10.管理用户sys、system和sysman的区别?
sysman
一般是OMS时的管理员用户,如果不使用OMS的话,可以不用
11.Oracle数据库服务器启动和关闭的方式都有哪些,分别有什么特点?
12.Oracle数据库服务都有哪些?
13.哪个初始化参数可是使oracle数据库的默认连接数更改为200?
Oracle9i中默认的连接数为150,要修改这个配置文件,需要修改SPFILEORCL.ORA文件中的processes的值。
14.什么是事务,事务的特征是?
事务是当前主流数据库系统普遍采用的并发控制机制。
事务是oracle9i中进行数据库操作的基本单位,在pl/sql程序中有三个事务处理命令
Commit命令rollback命令savepoint命令
为了保证数据完整性,数据库系统要求事务具有以下四个特征:
原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability),简称为ACID特征。
15.什么是锁,锁机制有哪几种,分别说明?
数据库是一个多用户使用的共享资源。
当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。
若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。
当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。
加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
锁的机制分为两种:
乐观锁和悲观锁
悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定状态。
悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。
相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。
16.Oracle中的锁有几类?
分别是什么?
根据保护的对象不同,Oracle数据库锁可以分为以下几大类:
DML锁(datalocks,数据锁),用于保护数据的完整性;
DDL锁(dictionarylocks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;
内部锁和闩(internallocksandlatches),保护数据库的内部结构。
DML锁的目的在于保证并发情况下的数据完整性。
在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。
17.Oracle数据方案对象有哪几种?
作用分别是?
18.表按功能可以分为哪几类?
系统表:
用于存储和管理数据库字典表,用户数据和数据库本身的数据。
用户表:
用于存放用户的数据信息。
默认简历的数据表就是用户表。
19.Oracle的数据类型有哪些?
数据类型含义
char定长的字符型数据,最大长度可达2KB
nchar存储Unicode字符集的定长字符型数据,最大长度为2KB
Varchar2可变长的字符型数据,最大长度可达4000个字符
Nvarchar2存储Unicode字符集的变长字符型数据,最大长度为4KB
number存储整型或浮点型数据
Date存储日期数据
Long存储最大长度为2GB的变长字符数据
Raw存储非结构化数据的变长字符数据,最长为2KB
LongRaw存储非结构化数据的变长字符数据,最长为2GB
Rowid存储表中列的物理地址的二进制数据,占用固定的10个字节
Blob二进制大对象,最大长度为4GB
Clob字符大对象,最大长度为4GB
Nclob存储多达4GB的Unicode字符数据
Bfile把非结构化的二进制数据存储在数据库以外的操作系统文件中
Urowid存储表示任何类型列地址的二进制数据
float存储浮点数
20.Oracle中有几种约束条件?
分别描述。
NOTNULL(非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值.
CHECK(检查)--检查在约束中指定的条件是否得到了满足.
UNIQUE(唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的.
PRIMARYKEY(主键)--用来唯一的标识出表的每一行,并且防止出现NULL值,一个表只能有一个主键约束.
POREIGNKEY(外部键)--通过使用公共列在表之间建立一种父子(parent-child)关系,在表上定义的外部键可以指向主键或者其他表的唯一键.
21.Oracle的安全机制有哪两类?
系统安全机制:
是指在整个的数据库系统级控制数据库的存取和使用的机制;
数据安全机制:
是指在对象级控制数据库的存取和使用的机制。
22.Oracle预定义的角色有哪些?
1.CONNECT
2.RESOURCE
3.DBA
4.EXP_FULL_DATABASE
5.IMP_FULL_DATABASE
6.DELETE_CATALOG_ROLE
7.EXECUTE_CATALOG_ROLE
8.SELECT_CATALOG_ROLE
说明:
1-3是为了同ORACLE老版本中的概念相兼容而提供的,不能只依赖于这些ROLE
4-5是为了使用Import和Export实用程序的方便而提供的
6-8是为了数据字典视图和包的卸载而提供的
CONNECT角色:
--是授予最终用户的典型权利,最基本的
ALTERSESSION
--修改会话
CREATECLUSTER
--建立聚簇
CREATEDATABASELINK
--建立数据库链接
CREATESEQUENCE
--建立序列
CREATESESSION
--建立会话
CREATESYNONYM
--建立同义词
CREATEVIEW
--建立视图
RESOURCE角色:
--是授予开发人员的
CREATEPROCEDURE
--建立过程
CREATETABLE
--建表
CREATETRIGGER
--建立触发器
CREATETYPE
--建立类型
DBA角色:
拥有系统所有系统级权限
IMP_FULL_DATABASE角色、EXP_FULL_DATABASE角色:
BACKUPANYTABLE
--备份任何表
EXECUTEANYPROCEDURE
--执行任何操作
SELECTANYTABLE
--查询任何表
DELETE_CATALOG_ROLE角色:
这个角色是Oracle8新增加的,如果授予用户这个角色,用户就可以从表sys.aud$中删除记录,
sys.aud$表中记录着审计后的记录,使用这个角色可以简化审计踪迹管理。
SELECT_CATALOG_ROLE角色、EXECUTE_CATALOG_ROLE角色:
SELECT_CATALOG_ROLE角色具有从数据字典查询的权利,
EXECUTE_CATALOG_ROLE角色具有从数据字典中执行部分过程和函数的权利。
23.Oracle中用户和角色之间的关系?
Oracle使用角色的方法来限定各种用户的权力,在系统中可以有许多用户,各种用户有各种不同的角色,拥有不同的权力。
实践表明与其很明确的赋一组权限给一个角色,不如赋给一个角色,然后把这个角色赋给一组用户。
这样就可以实现动态的权限管理,当这组用户的权限必须改变时,只需改变角色的权限就可以了。
24.Oracle数据库常见的故障有?
25.Oracle数据库备份和恢复的内容为?
1.初始化参数文件
2.控制文件
3.数据文件
4.联机重做日志文件
5.归档日志文件
26.Oracle如何进行备份和恢复,自动和定时的备份/恢复应该怎么做?
(1)表方式(T方式),将指定表的数据导出。
(2)用户方式(U方式),将指定用户的所有对象及数据导出。
(3)全库方式(Full方式),将数据库中的所有对象导出。
自动和定时可以在任务计划里设置
27.Truncate与delete的区别?
(重点:
性能上的区别)
1、TRUNCATE在各种表上无论是大的还是小的都非常快。
如果有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
2、TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
3、TRUNCATE将重新设置高水平线和所有的索引。
在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比DELETE操作后的表要快得多。
4、TRUNCATE不能触发任何DELETE触发器。
5、不能授予任何人清空他人的表的权限。
6、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
7、不能清空父表。
TRUNCATETABLE(schema)table_nameDROP(REUSE)STORAGE在默认是DROPSTORAGE当使用DROPSTORAGE时将缩短表和表索引,将表收缩到最小范围,并重新设置NEXT参数。
REUSESTORAGE不会缩短表或者调整NEXT参数在特殊情况下使用REUSEST
DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATETABLE则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。
并且在删除的过程中不会激活与表有关的删除触发器。
执行速度快。
28.数据库设计的目标是什么?
(1)实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。
减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。
利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:
①安全性控制:
以防止数据丢失、错误更新和越权使用;
②完整性控制:
保证数据的正确性、有效性和相容性;
③并发控制:
使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;
④故障的发现和恢复:
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
29.数据库设计的步骤?
(1)需求分析
(2)概念设计
(3)逻辑设计
(4)物理设计
(5)验证设计
(1)需求分析;
调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。
(2)概念设计;
对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。
这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。
所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。
以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。
第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。
(3)逻辑设计;
主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。
与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。
这一步设计的结果就是所谓“逻辑数据库”。
(4)物理设计;
根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。
这一步设计的结果就是所谓“物理数据库”。
(5)验证设计;
在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。
一般,一个大型数据库的设计过程往往需要经过多次循环反复。
当设计的某步发现问题时,可能就需要返回到前面去进行修改。
因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方便性。
30.简述数据库设计的三大范式,并举例说明。
第一范式(1NF):
在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。
第二范式(2NF):
要求实体的属性完全依赖于主关键字。
所谓“完全依赖”是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。
简而言之,第二范式就是非主属性非部分依赖于主关键字。
第三范式(3NF):
要求一个数据库表中不包