Oracle数据库学习资料.docx
- 文档编号:4114268
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:30
- 大小:429.68KB
Oracle数据库学习资料.docx
《Oracle数据库学习资料.docx》由会员分享,可在线阅读,更多相关《Oracle数据库学习资料.docx(30页珍藏版)》请在冰豆网上搜索。
Oracle数据库学习资料
数据库培训
第一章简介
一.1.目的
一.2.范围
一.3.定义、首字母缩写词和缩略语
一.4.参考资料
第二章Oracle数据库
二.1.关于Oracle
二.2.安装
二.2.1.系统资源要求
物理内存(32位系统SGA有1.7G的上限):
8i至少128MB
9i至少256MB
10g至少512MB
交换区(Swapspace):
内存的两倍或至少400MB
一些经验性的建议:
0.5GBRAM1GB-2GBSwapSpace
1GBRAM2GB-3GBSwapSpace
2GBRAM2GB-3GBSwapSpace
4GBRAM4GBSwapSpace
8GBRAM4GBSwapSpace
硬盘空间:
软件1.8GB
数据库1.4GB
临时空间:
至少400MB
二.2.2.安装准备
二.2.2.1.Installaloopback adapter
Whenyouinstallaloopback adapter,theloopbackadapterassignsalocalIPforyourcomputer.Afteryouinstallaloopbackadapteronyourcomputer,youhaveatleasttwonetworkadaptersonyourcomputer:
yourownnetworkadapterandtheloopbackadapter. OracleDatabase needstohaveWindowsusingtheloopbackadapterastheprimaryadapter.
Theprimaryadapterisdeterminedbytheorderinwhichyouinstalledtheadapters:
●OnWindowsNT,theprimaryadapteristhe first adapterinstalled.Thismeansthatyouhavetoinstalltheloopbackadapter,deinstallyournetworkadapter,andreinstallthenetworkadapter.
●OnWindows2000,WindowsServer2003,andWindowsXP,theprimaryadapteristhe last adapterinstalled.Ifyouinstalladditionalnetworkadaptersafteryouinstalltheloopbackadapter,youneedtodeinstalltheloopbackadapterandreinstallit.
Aloopbackadapterisrequiredif:
●YouareinstallingonaDHCPcomputer,or
●Youareinstallingonanon-networkedcomputerandplantoconnectthecomputertoanetworkafterinstallation.
控制面板-->添加硬件-->下一步-->是,我已经连接了此硬件-->添加新硬件-->安装我手动从列表选择的硬件-->网络适配器-->microsoft-->MicrosoftloopbackAdapter-->下一步-->安装完成。
设定IP:
二.2.3.安装过程
创建数据库时需要注意:
●数据库字符集
一般使用GBK
●全局数据库名
二.2.3.1.DB_NAME,SID,DB_DOMAIN,SERVICE_NAME等之间的区别
Db_name:
对一个数据库(Oracledatabase)的唯一标识。
这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。
为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。
这类似于互连网上的机器名的管理。
我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。
Db_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。
Db_domain:
定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。
当然为了管理方便,可以将其等于互联网的域。
Global_name:
对一个数据库(Oracledatabase)的唯一标识,oracle建议用此种方法命令数据库。
该值是在创建数据库是决定的,缺省值为Db_name.Db_domain。
在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用ALTERDATABASERENAMEGLOBAL_NAMETO
Service_name:
该参数是oracle8i新引进的。
在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。
为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。
该参数的缺省值为Db_name.Db_domain,即等于Global_name。
一个数据库可以对应多个Service_name,以便实现更灵活的配置。
该参数与SID没有直接关系,即不必Servicename必须与SID一样。
Instance_name:
数据库实例名。
用于和操作系统之间的联系,用于对外部连接时使用。
在操作系统中要取得与数据库之间的交互,必须使用数据库实例名。
例如,要和某一个数据库server连接,就必须知道其数据库实例名,只知道数据库名是没有用的,与数据库名不同,在数据安装或创建数据库之后,实例名可以被修改。
数据库名与实例名之间的关系一般是一一对应关系,有一个数据库名就有一个实例名,如果在一个服务器中创建两个数据库,则有两个数据库名,两个数据库实例名,用两个标识确定一个数据库,用户和实例相连接。
但在8i、9i的并行服务器结构中,数据库与实例之间不存在一一对应关系,而是一对多关系,(一个数据库对应多个实例,同一时间内用户只一个实例相联系,当某一实例出现故障,其它实例自动服务,以保证数据库安全运行。
)
Oracle_SID:
操作系统环境变量。
在实际中,对于数据库实例名的描述有时使用实例名(instance_name)参数,有时使用ORACLE_SID参数。
这两个都是数据库实例名,它们有什么区别呢?
(经常弄混)
(ORACLE_SID)
OS<---------------->;ORACLE数据库<--------(Instance_name(实例名))
上例表示实例名instance_name、ORACLE_SID与数据库及操作系统之间的关系,虽然这里列出的两个参数都是数据库实例名,但instance_name参数是ORACLE数据库的参数,此参数可以在参数文件中查询到,而ORACLE_SID参数则是操作系统环境变量。
操作系统环境变量ORACLE_SID用于和操作系统交互。
也就是说,在操作系统中要想得到实例名,就必须使用ORACLE_SID。
此参数与ORACLE_BASE、ORACLE_HOME等用法相同。
在数据库安装之后,ORACLE_SID被用于定义数据库参数文件的名称。
如:
$ORACLE_BASE/admin/DB_NAME/pfile/init$ORACLE_SID.ora。
二.3.Oracle结构组件
二.3.1.组件概述
Password
file
Instance
SGA
RedoLog
Buffer
SharedPool
DataDictionary
Cache
Library
Cache
DBWR
SMON
PMON
CKPT
LGWR
ARCn
User
process
Server
process
PGA
Controlfiles
Data
files
Database
Database
BufferCache
RedoLogfiles
JavaPool
LargePool
Parameter
file
Archived
Logfiles
Others
二.3.2.Oracle实例与数据库的关系
一个数据库服务器上可以装几个数据库它们都是用sid来标志,例如orcl1,orcl2,orcl3等等,一个数据库如orcl1中可以有多个实例吗?
Oracle数据库,实际上应该是说,我们使用的是Oracle服务server。
Oracle服务server包括有两个部分:
●一个部分是Oracle数据库database
●一个部分是数据库实例instance。
Oracle数据库database,包括有数据文件、控制文件、重做日志文件,都是一些物理上的文件。
数据库实例instance,包括有数据库后台进程(PMON、SMON、DBWR、LGWR、CKPT等)和内存区域SGA(包括sharedpool、dbbuffercache、redologbuffer等)。
实例是一系列复杂的内存结构和操作系统进程
严格的说:
一个Oracle服务,只包括一个Oracle实例和一个数据库(不考虑双机并行等这样的情况)。
但是一个实例只能对应一个数据库,一个数据库有可能对应多个实例。
除非使用并行Oracle服务器选项,否则每个O racle数据库都有一个实例与之相关,一个数据库被唯一的一个实例装载。
数据库与实例之间是1对1/n的关系,在非并行的数据库系统中每个Oracle数据库与一个实例相对应;在并行的数据库系统中,一个数据库会对应多个实例,同一时间用户只与一个实例相联系,当某一个实例出现故障时,其他实例自动服务,保证数据库正常运行。
在任何情况下,每个实例都只可以对应一个数据库。
二.3.3.Oracle实例
Instance
SGA
RedoLog
Buffer
SharedPool
DataDictionary
Cache
Library
Cache
DBWR
SMON
PMON
CKPT
LGWR
Others
Database
BufferCache
JavaPool
LargePool
StreamsPool
二.3.3.1.进程结构
PMON进程监控;
SMON系统监控;
DBWR数据库写入程序;
LGWR日志写入程序;
CKPT检查点;
ARCH归档;
RECO恢复;
LCKn封锁;
Dnnn调度进程;
Snnn服务器。
二.3.3.2.内存结构
SGA是可读写的,它包含以下数据结构:
●数据缓冲区(databasebuffercache)
●重做日志缓冲区(redologbuffer)
●共享池(sharedpool)
●Java池(Javapool)
●大型池(largepool)
●数据流池(streamspool)
●数据字典缓存区
●其他杂项信息
SGA中还包含了数据库及实例的状态信息,供后台进程使用。
这部分内容被称为固定SGA。
用户数据不会存储在这个区域内。
二.3.4.Oracle数据库
一个Oracle数据库:
可以看成是一个数据存储的单元
主要由三种类型文件组成(数据文件、日志文件、控制文件)
Password
file
Parameter
file
Archived
Logfiles
Controlfiles
Data
files
RedoLogfiles
OracleDatabase
二.4.连接Oracle
二.4.1.连接与会话
创建会话
Server
process
建立连接
Oracleserver
二.4.2.连接方式
●本地连接
用户登录到运行oracle例程的操作系统上,然后启动访问该系统中的数据库的应用程序或工具。
通信路径是使用主机操作系统上的进程间通信机制建立的。
●网络连接(通过Net)
用户在本地计算机上启动应用程序或工具,然后通过网络连接到运行oracle例程的计算机。
在这个称为客户机/服务器的配置中,用户和oracle服务器使用网络软件进行通信。
●三层连接(通过中间层服务器)
在三层连接中,用户计算机通过网络与应用程序服务器或网络服务器进行通信,这些服务器又通过网络与运行oracle例程的计算机连接。
例如,用于在网络中的一台计算机上运行浏览器来使用位于NT服务器上的应用程序,改NT服务器又从UNIX主机上运行的oracle数据库中检索数据。
二.4.3.配置连接
网络配置。
使用Netca创建连接字:
配置文件:
tnsnames.ora
检查能否连通:
tnsping
二.4.4.连接Oracle
oracle在登录时,有三种身份认证方式:
操作系统身份认证、密码文件认证、数据库认证。
而conn/assysdba是属于操作系统认证。
sqlplus/nolog
sqlplus/assysdba2
sqlplus
二.5.常用工具
二.5.1.SQL*Plus
登录:
Connectuser/password@tnsname
注销:
disconnect,exit
数据库用户
sys
system
查询当前数据库用户
例:
SELECTusernameFROMdba_users;
结束标志符“;”
例:
SELECT*FROMEMP;
分行
例:
SQL>SELECT*
SQL>FROMEMP;
继行
例:
SQL>SELECT*-
>FROMEMP;
重定向输出:
SPO[OL][file_name[.ext]|OFF|OUT]
SET和SHOW命令:
SETAUTO[COMMIT]{OFF|ON}
SETSERVEROUT[PUT]{OFF|ON}
SETLIN[ESIZE]{n|1}
SETPAGES[IZE]{24n}
SETPAGES{n}
SETLONG{80|n}
SETHEA[DING]{OFF|ON}
SETNULLtext
SETPAU[SE]{OFF|ON|text}
SETWRA[P]{OFF|ON}
SETTI[ME]{OFF|ON}
SETTIM[IMG]{OFF|ON}
SETFEEDBACK{ON|OFF}
二.5.2.企业管理器
二.5.3.WebDBConsole
基于WEB方式的管理工具
缺省的端口
%ORACLE_HOME%/install/portlist.ini
启动和关闭dbconsole
emctlstart|stopdbconsole
访问emdbconsole
http:
//hostname:
port/em
二.5.4.第三方工具
TOAD
PL/SQLDeveloper
SQLNavigator
二.6.日常维护
二.6.1.启动/关闭
OPEN
MOUNT
NOMOUNT
SHUTDOWN
打开控制文件中所包含的所有文件
打开控制文件
启动实例
启动
关闭
startup
startupnomount
startupmount
startupopen
shutdownimmediate
ALTERDATABASEMOUNT;
ALTERDATABASEOPENREADONLY;
关闭的模式:
A=ABORT
I=IMMEDIATE
T=TRANSACTIONAL
N=NORMAL
A
No
No
No
No
T
No
No
Yes
Yes
I
No
No
No
Yes
关闭的模式
允许新的连接
等待直到当前session结束
等待直到当前事务结束
强制检查点并关闭文件
N
No
Yes
Yes
Yes
关闭的过程:
数据缓冲区写数据到数据文件
未提交的改变被回滚
释放资源
SHUTDOWNNORMAL
or
SHUTDOWNTRANSACTIONAL
or
SHUTDOWNIMMEDIATE
SHUTDOWNABORT
or
InstanceFailure
or
STARTUPFORCE
二.7.数据字典
二.7.1.内置的数据库对象
在数据库中创建的其他对象:
数据字典
基表
视图
动态性能视图
PL/SQL包
数据库事件触发器
二.7.2.数据字典
每个Oracle数据库的中枢
描述数据库和它的对象
包含只读的表和视图
存储在SYSTEM表空间中
拥有者是SYS用户
由Oracle服务器自己维护
用SELECT访问
二.7.3.基础表与数据字典视图
数据字典包括两个部分:
●基础表
存储数据库的描述
CREATEDATABASE命令创建
●数据字典视图
用于简化基础表的信息
通过PUBLIC同义词访问
由脚本catalog.sql创建
二.7.4.数据字典内容
数据字典提供下列信息:
逻辑和物理的数据库结构
对象的定义和空间分配
一致性限制
用户
角色
权限
审计
二.7.5.数据字典的种类
三类静态视图
根据范围分类:
DBA:
包含所有的对象
ALL:
当前用户能够访问的对象
USER:
当前用户拥有的对象
USER_xxxObjectsownedbythecurrentuser
ALL_xxxObjectsaccessiblebythecurrentuser
DBA_xxxAlloftheobjectsinthedatabase
二.7.6.数据字典的例子
一般的概况:
DICTIONARYDICT_COLUMNS
对象:
DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS
空间分配:
DBA_SEGMENTS,DBA_EXTENTS
数据库结构:
DBA_TABLESPACES,DBA_DATA_FILES
二.7.7.关于版本
V$version
V$option
二.8.表空间与数据文件
二.8.1.数据存储
二.8.2.表空间类型
系统表空间:
数据库创建的时候创建,存在数据字典,存在系统回滚段
非系统表空间:
分隔不同的段,对用户对象限制使用空间
二.8.3.BigFile表空间与smallFile表空间
大文件表空间(bigfiletablespaces)
OracleDatabase允许你创建大文件表空间,大文件表空间由单个文件组成
最大可以包含4G(2^32)个blocks.
大文件表空间使得Oracle获得如下收益:
显著的增强了Oracle数据库的存储容量
检查点的性能提升
对于8k的blocks,最大数据文件可以达到32T;对于32K的blocks,最大数据文件可达128T
缩减了超大型数据库的数据文件的数量
简化了管理
缺省的Oracle采用小文件表空间
SELECTPROPERTY_VALUEFROMDATABASE_PROPERTIES
WHEREPROPERTY_NAME='DEFAULT_TBS_TYPE';
更改缺省表空间模式
ALTERDATABASESETDEFAULTBIGFILETABLESPACE;
创建bigfiletablespace
createbigfiletablespacebigtbs
datafile'/data1/oradata/systemfile/bigtbs.dbf'size50G;
缺省LOCAL和ASSM管理
对于bigfile普通表空间,只能为LMT+ASSM
对于UNDO,TEMP,SYSTEM可以是LMT+MANUAL
selectTABLESPACE_NAME,EXTENT_MANAGEMENT,
SEGMENT_SPACE_MANAGEMENT
fromdba_tablespaces
wheretablespace_name='BIGTBS';
二.8.4.表空间维护
创建表空间:
CREATETABLESPACE表空间名
DATAFILE文件标识符[,文件标识符]...
[DEFAULTSTORAGE(存储配置参数)]
[ONLINE\OFFLINE];
其中:
文件标识符=’文件名’[SIZE整数[K\M][REUSE]
createtemporarytablespacetest_temp
tempfile'E:
\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size32m
autoextendon
next32mmaxsize2048m
extentmanagementlocal;
修改表空间:
ALTERTABLESPCE表空间名
(ADDDATAFILE文件标识符[,文件标识符]...
\RENAMEDATAFILE’文件名’[,’文件名’]...
TO’文件名’[,’文件名’]...
\DEFAULTSTORAGE(存储配置参数)
\ONLINE\OFFLINE[NORMAL\IMMEDIATE]
\(BEGIN\END)BACKUP);
删除表空间:
DROPTABLESPACE表空间名[INCLUDINGCONTENTS];
1.使表空间脱机
ALTERTABLESPACEgameOFFLINE;
如果是意外删除了数据文件,则必须带有RECOVER选项
ALTERTABLESPACEgameOFFLINEFORRECOVER;
2.使表空间联机
ALTERTABLESPACEga
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 学习 资料