Oracle数据管理系统培训Word文档下载推荐.docx
- 文档编号:21478879
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:15
- 大小:26.39KB
Oracle数据管理系统培训Word文档下载推荐.docx
《Oracle数据管理系统培训Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Oracle数据管理系统培训Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
17.EnterpriseManager企业管理器
18.EnterpriseBackupUtility企业备份工具
(二)使用服务器体系(OracleApplicationServer)
Oracle9i和10g的数据库服务器用于构建互联网使用,提供企业级的分布使用解决方案,有以下11个组件。
主要产品有:
1.Http/J2EE(Apache+)ApacheHTTP服务器
2.Portal接口
3.OEMOracle企业管理器
4.Web&
DBCacheWeb和数据库缓冲区
5.FormService表单服务
6.ReportService报表服务
7.DiscovererPlus数据挖掘
8.EmailEmail支持
9.InternetDirectory互联网目录
10.Workflow工作流
11.ApplicationInterConnetToolKit使用连接包
(三)开发工具套件(OracleDeveloper)
Oracle的开发工具套件提供了以下9个套件
1.Designer设计器
2.FormDeveloper表单开发工具
3.ReportDeveloper报表开发工具
4.JDeveloper开发工具
5.Portal接口
6.DiscovererAdministrationEdition企业版数据挖掘器管理
7.1LicenceDiscovererDisktopEdition1个用户的数据挖掘器
8.WarehouseBuilder数据仓库建立器
三、Oracle的安装
Oracle的安装一般有数据库服务器的安装、客户端的安装。
一般情况下,我们只需安装一台Oracle数据库服务器,用户端只需安装客户端连接服务器,然后就可以在统一的服务器上建立自己的表空间和用户。
关于Oracle的安装在这里不详细介绍了,我们在这里需要注意两上概念:
全局数据库名和数据库标识符(SID)的区别。
全局数据库名主要用于在分布式数据库系统中区分不同服务器上的数据库例程,比如在上海的例程可命名为Oracle.ShangHai,北京的为Oracle.BeiJing,这样即使数据库例程名相同,在分布式网络中也能区分。
数据库标识符(SID)主要用于区分同一台服务器上的不同数据库例程。
前者为外部区分,后者为内部区分。
在网络配置管理中,服务名一般是指全局数据库名,而网络服务名一般是指SID。
比如说我们公司的数据库服务器的全局数据库服务名为:
Oracle10、我们在本地针对船舶管理系统的SID为ShipMis。
五、Oracle数据库结构介绍
(一)逻辑结构
Oracle数据库按逻辑结构从大到小分有:
数据库、表空间、逻辑对象(包括表、索引、视图、过程等21个)、数据段、数据区间、数据块。
一个数据库服务器可有多个数据库;
一个数据库可有多个表空间;
一个表空间可以有多个表;
一个表可以有多个数据段;
一个数据段可以有多个数据区间;
一个数据区间可以有多个数据块。
(二)一些逻辑对象的介绍
1.过程:
也就是存储过程对象。
2.程序包:
程序包分别二个部分,一个是程序包,另一个是程序包体。
程序包相当于Java中的接口定义,它是对一组存储过程进行定义,但并不对其进行实现。
而程序包体则是对程序包中定义的过程进行具体实现。
程序包和程序包体一一对应。
程序包和过程的区别是:
过程只能是一个单独的存储过程,而程序包是一组存储过程的集合。
我们可以使用程序包对存储过程进行分门别类地管理。
比如我们如果要对船舶管理系统进行后端开发的话,我们可以把针对PMS的所有过程放在一个PKG_PMS包下统一管理,而把备件物料的所有过程放在一个PKG_SPARE包下进行统一的管理。
3.簇:
将一些互相关联的具有相同字段的数据表或索引集中存储的一种管理。
4.数据库链接:
在分布式环境中链接其它节点的数据库服务器。
5.序列:
它相当于在Oracle中建立的表的自增长字段,数据表可以利用它做为字段。
6.同义词:
在Oracle中访问数据表的形式是“用户名.表名”,同义词可以用一个别名来代替它。
比如说我们定义一个同义词a指向表:
T_Component_Type_Parm,那么select*fromT_Component_Type_Parm语句和select*froma的执行效果是一样的。
六、表空间的建立
为了提高数据库服务器管理和运行效率,Oracle使用表空间这个虚似概念来管理逻辑对象,用户可以将不同的逻辑对象存放在不同的表空间下,可以理解表空间就是Oracle数据库的文件夹,用户建立的各种数据库对象应该存放在相应的表空间下,Oracle9i和10g数据库服务器安装完毕后,将自动建立以下几个默认表空间。
分别是:
1.CWMLITEOLAP
2.DRSYS存放和工作空间设置相关信息
3.EXAMPLE实例表空间,存放实例信息
4.INDEX索引表空间,存放索引信息
5.OEM_REPOSITORY
6.SYSTEM系统表空间,存放管理信息
7.TEMP临时表空间,存放临时表
8.TOOLS工具表空间,存放工具软件所需要的数据库对象
9.UNDOTBS回滚表空间,存放数据库恢复信息
10.USERS用户表空间,存放用户私有信息
我们建立一个用户时如果不指定表空间,默认选择的表空间是USERS、临时表空间是TEMP。
但一般情况最后是建立自己的表空间,以便单独进行管理。
表空间的建立有如下两种方式:
(一)使用企业管理器建立表空间
(二)使用PLSQL命令来建立表空间
(1)建立
createtablespacetablespacetestdatafile
'
d:
\oracle\oradata\oracle10\tablespaces\test01.dbf'
size10M,
\oracle\oradata\oracle10\tablespaces\test02.dbf'
\oracle\oradata\oracle10\tablespaces\test03.dbf'
size10M;
(2)扩大现有表空间
alterdatabaseOracle10tablespacetest'
d:
\oracle\oradata\oracle10\tablespaces\test01.dbf'
resize20M;
(3)删除表空间
droptablespacetablespacetestincludingcontents
七、用户的建立
Oracle中的用户就相当我们的业务数据库。
我们建立数据库时需要指定用户名和口令。
(一)企业管理器建立用户
(二)使用PLSQL命令来建立用户
(1)建立用户
createuseruserTestidentifiedbyusertest
defaulttablespacetablespacetest
temporarytablespacetemp
quotaunlimitedontablespacetest;
(2)删除用户
dropuseruserTestcascade;
八、Oracle中Net命令服务的配置
我们在建立一个用户之后,可以针对此用户建立一个SID实例名,可使用Oracle的NetManager工具建立。
九、Oracle中的角色和权限
Oracle提供了两种类型的权限:
系统权限和对象权限。
(一)系统权限
系统权限提供了在Oracle数据库执行多种任务的能力,系统权限不能访问数据库内的表和视图。
通常系统权限可以用来许可或者限制DDL语句的执行,Oracle中定义了系统权限多达120多个,常用的系统权限有:
1.CREATESESSION允许用户在数据库上注册。
2.CONNECT允许注册和创建常用的数据库,CONNECT权限是一个预定义角色。
3.RESOURCE传送UNLIMITEDTABLESPACE,也就是这种权限自动授权给用户。
4.CREATETABLE允许用户创建表。
5.CREATEVIEW允许用户创建视图。
6.CREATESEQUENCE允许用户创建序列。
7.CREATEPROCEDURE允许用户创建过程,函数和包。
8.CREATETRIGGER允许用户在其所属的表创建触发器。
9.CREATESYNONYM允许用户创建专用的同义词。
授予系统特权的语法:
grantsystem_privilegetousername[withgrantoption]
去掉系统权限语句:
revokesystem_privilegefromusename
举例:
grantcreatetable,createview,createprocedure,createtrigger,createsequence,createsession,
selectanydictionary,unlimitedtablespacetouserTest;
(二)对象权限
对象权限用来指定访问用户所属的数据类型。
这个用户可以拥有多种对象如表,视图等。
对象权限可以用来许可或阻止DML语句的执行。
常见的有SELECT、INSERT、UPDATE、DELETE、EXECUTE(可以使用于PL/SQL过程、函数、程序包以及其他可执行元素如Java类)
授予对象权限的语法:
grantobject_privilegeonobject_nametousername[withadminoption]
取消对象权限的语句:
revokeobject_privilegeonobject_namefromusername
(三)角色管理
Oracle使用角色来限定各种用户的权力,在系统中可以有许多用户,各种用户有各种不同的角色,而角色拥有不同的权力。
有时和其赋一组权限给每一个用户,不如先赋一定的权限给一个角色,然后把这个角色赋给用户,这样就可以实现动态的权限管理,当一组用户的权限必须改变时,只需改变角色的权限即可,而不用每个用户都一一改变权限。
Oracle中的角色有预定义角色和用户自定义角色。
常见的预定义角色如:
1.CONNECT登录数据库
2.RESOURCE创建新对象(如表、视图等)
3.DBA执行数据库管理员的功能,如创建新用户
4.EXP_FULL_DATABASE输出完整的数据库
5.IMP_FULL_DATABASE输入完整的数据库
6.SELECT_CATALOG_ROLE查看数据字典视图
用户自定义的角色的创建必须具有管理权限。
定义:
CREATEROLErolename;
为角色授予权限语句:
GRANTCREATETABLETOrolename;
删除角色:
DROPROLErolename
十、Oracle数据库的备份
Oracle中的备份方式可分两大类,一种是逻辑备份,另一种是物理备份。
(一)逻辑备份
逻辑备份就是我们常用的导入(Import)和导出备份(Export),这种备份方式能够针对对象进行备份,能够跨平台实施备份操作并适移数据,使用这种备份时,数据库可以不关闭。
这种备份一般用于有规律的日常备份。
采用这种方式我们可以进行表方式和用户方式的备份。
Export备份方式:
1.C:
\>
expshipmis/shipmis@shipmis;
2.数组缓冲区大小4096:
>
按回车;
3.导出文件:
EXPDAT.DMP>
\shipmis.dmp;
4.U(用户),或(3)T(表):
(2)U>
5.导出权限(yes/no):
yes>
6.导出表数据(yes/no):
yes)
7.压缩区(yes/no):
Import恢复方式
Impshipmis/shipmis@shipmis
2.导入文件:
C:
\shipmis.dmp
3.输入插入缓冲区大小(最小为8192>
30720)>
4.只列出导入文件的内容(yes/no):
no>
回车(要导入内容必须选择no)
5.由于对象已存在,忽略创建错误(yes/no):
yes
6.导入权限(yes/no):
7.导入表数据(yes/no):
回车
8.导入整个导出文件(yes/no):
yes(最好选yes)
(二)物理备份—冷备份
冷备份实质上是在关闭数据库的一种文件式的考贝备份。
使数据库处于关闭状态时,把数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文件拷贝回原来的位置。
由于是在数据库不提供服务的关闭状态,所以称为冷备份。
冷备份具有快速,方便,以及高效等特点。
一次完整的冷备份步骤应该是:
1.关闭数据库(shutdownnormal或shutdownabort);
2.复制数据库相关文件
利用操作系统命令拷贝数据库的所有的数据文件、日志文件、控制文件、参数文件到一个安装区域。
3.重新启动数据库(startup)
恢复的时候,相对比较简单了,我们停掉数据库,将文件拷贝回相应位置,重启数据库就可以了。
(三)物理备份—热备份
热备份和冷备份的区域就是它是在归档模式下进行的,数据库仍处于打开和使用状态。
当我们需要做一个精度比较高的备份,而且我们的数据库不可能停掉时,这时我们就需要归档方式下的备份,就是热备份。
热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作。
热备份相对比较复杂,对于硬件以及操作人员的要求都比较高。
在这里不做详细介绍。
十一、表、视图、程序包、序列介绍
(一)表
createtabletb
(
equipidnumber,
equipnamenvarchar2(30)NOTNULL,
constraintEQUIP_PKprimarykey(equipid),--主键
constraintEQUIPNAME_UKunique(equipname)--唯一索引
)
建表时把表中不同范围的数据放在不同的表空间上以加快查询速度,这种情况一般在表数据量特别大(上亿条记录)时使用。
createtabletb
idnumberpartitionbyrange(id),(partitionp1valueslessthan(10)tablespacept1,
partitionp2valueslessthan(20)tablespacept2)
(二)视图
在Oracle中有四种类型的视图:
关系视图、内嵌视图、对象视图和物化视图。
我们最常用的视图就是关系视图。
建立关系视图的语法:
createorreplaceviewview_nameasquery
删除视图语法:
dropviewview_name
在查询中查询视图的语法:
SELECTtextFROMuser_viewsWHEREview_name='
VIEW_NAME'
;
VIEW_NAME必须大写。
(三)程序包
我们前边说过,程序包是过程的一种改进,它可以对存储过程进行分门别类地进行管理。
建立程序包的语法为:
1.程序包定义
createorreplacepackageemployee_pkg
as
procedureprint_ename(p_empnoinnumber);
--第一个存储过程接口
procedureprint_sal(p_empnoinnumber);
--第二个存储过程接口
endemployee_pkg;
2.程序包体的定义
createorreplacepackagebodyemployee_pkg
procedureprint_ename(p_empnonumber)--第一个过程的实现
is
begin
dbms_output.put_line(p_empno);
end;
procedureprint_sal(p_empnonumber)--第二个过程的实现
l_resnumber;
l_res:
=p_empno*p_empno;
dbms_output.put_line(l_res);
endemployee_pkg;
3.调用程序包:
begin
employee_pkg.print_ename(100);
employee_pkg.print_sal(100);
end;
在Oracle的SQLPLUS中还可以使用如下语法:
executeemployee_pkg.print_ename(100);
executeemployee_pkg.print_sal(100);
在使用系统中调用程序包:
(1)NET中的调用如下:
OleDbCommandCmd=NewOleDbCommand("
PKG.Procedure"
con);
Cmd.CommandType=CommandType.StoredProcedure;
Cmd.Parameters.Add("
varCaseName"
OleDbType.VarChar).Value=cboAccidentName.Text;
con.Open();
Cmd.ExecuteNonQuery();
con.Close();
(2)Java中的调用如下:
Connectioncon=DriverManager.getConnection();
Statementsmt=con.createStatement();
CallableStatementcst=con.prepareCall("
{callGetDataForYYT(?
?
)}"
);
cst.setString(1,txtFreightBill.getText());
//设置输入参数
cst.registerOutParameter(2,java.sql.Types.INTEGER);
//注册输出参数的JDBC类型
cst.registerOutParameter(3,java.sql.Types.DECIMAL,2);
cst.registerOutParameter(4,java.sql.Types.DECIMAL,2);
cst.execute();
txtSumPieces.setText(String.valueOf(cst.getInt
(2)));
//把返回的值赋给文本框
txtSumJWeight.setText(String.valueOf(cst.getFloat(3)));
txtLastResult.setText(String.valueOf(cst.getFloat(4)));
con.close();
(四)序列
我们在建立表时经常用自增长的方式为表指定主键,在SQLServer中可以直接在建立字段时指定自增长类型。
在Oracle中的实现方式略有不同,Oracle中要使用序列的方式来实现自增
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据管理 系统 培训