您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > oracle数据库知识
oracle数据库培训内容*基本概念*Oracle的体系结构SQL*Plus的使用及常用命令*SQL*NET的配置和使用数据库的备份(exp/imp)其它常见问题一、基本概念什么是数据库:是存储在一起的相关数据的集合。这些数据无有害或不必要的冗余,为多种应用服务。数据的存储独立于使用它的应用程序。对数据库插入新数据、修改和检索原有数据均能用一种公用的和可控的方法进行。数据库能做什么:数据库的基本功能就是存储数据,而且能够为用户提供便捷、快速的查找、修改、添加和删除数据等功能。什么是SQL语言:是运用于数据库的语言。它除了具有数据库查询、插入、删除、修改等功能外,可以独立使用,也可以嵌入其它主语言中使用。它的语法类似于英语。什么是oracle:oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。二、Oracle的体系结构(1)物理结构ORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着数据的添加和应用程序的增大而变化。datafilesredologfilescontrolfilesparameterfile数据文件日志文件控制文件参数文件datafilesredologfilescontrolfileparameterfiles*.dbf*.logInitoraid.ora*.ctl(2)session(连接)Oracle是多用户、多任务、可分布式管理的数据库,同时可有许多个用户对数据库操作。oracleuseruserusersession……ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义物理文件的存放路径和所占硬盘的大小。Oracle数据存储单位a、block数据块:2k最小的I-O单位,伴随database产生而产生,不可变b、extent一组连续的数据块:是用户所能分配存储的最小单位c、segment段:有共同结构的一个或几个区域(extent)d、tablespace表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)e、file文件:属于某个表空间的物理文件f、database数据库:一组表空间所构成的逻辑的可共享的数据。(3)存储结构表空间tablespacesystemRBSnosystem把system表空间单独放在一个硬盘上做成一组镜像toolsuserstempapplicationdataapplicationindex分开存放减少争用segment段的分类data数据段存储对象object(table,view,index,sequence...)index索引段temporary临时段用做(join,groupby,orderbysorting操作)rollback回滚段用于记录修改前后信息bootstrap启动段存储数据字典系统信息不能读写,放在系统表空间内,约占40几个blockdatasegment中可能有十种不同类型的存储对象(1)table(2)view实为一个select语句(3)index(一个表不多于3个)(4)cluster(簇)(5)sequence序列(6)synonyms用于定义某个远程数据库同义词,实现分式数据库管理透明(7)snapsot快照(8)storedprocedure(function)(9)package程序包(10)dbtrigger数据触发器,处理updata,delete,insert中可能出现的问题常用的ORACLE的数据库字段类型字段类型中文说明限制条件其它说明CHAR固定长度字符串最大长度2000bytesVARCHAR2可变长度的字符串最大长度4000bytes可做索引的最大长度749DATE日期(日-月-年)LONG超长字符串最大长度2G(231-1)足够存储大部头著作RAW固定长度的二进制数据最大长度2000bytes可存放多媒体图象声音等LONGRAW可变长度的二进制数据最大长度2G同上NUMBER(P,S)数字类型P为整数位,S为小数位INTEGER整数类型小的整数FLOAT浮点数类型NUMBER(38),双精度REAL实数类型NUMBER(63),精度更高……三、SQL*Plus的使用及常用命令进入sql*plus;数据查询操作(select);改变数据操作(insert、update、delete);其它常用sql和sql*plus命令(spool、create、drop、desc、connect、grant……)。数据查询操作简单查询select列名1,列名2,列名3……from表名where条件orderby列名1,列名2……;逻辑运算符==或!=其它(not)inis(not)betweenandandor单值函数nvl----空值替换函数abs---绝对值函数mod---求模函数power---求幂函数sqrt-----平方根函数exp,ln,log----对数函数sin,cos等----三角函数唯一性查询关键字:distinctselectdistinct列名from表名where条件;模糊查询select列名1,列名2,列名3……from表名where列名1like‘_%mm’orderby列名1,列名2……;关键字:(not)like通配符:%_联接查询select表名1.列名1,表名2.列名2,列名3……from表名1,表名2……where条件orderby表名1.列名1,表名2.列名2……;子查询单值子查询多值子查询select列名1,列名2,列名3……from表名1where列名1=(select列名1from表名2where条件)orderby列名1,列名2……;select列名1,列名2,列名3……from表名1where列名1in(select列名1from表名2where条件)orderby列名1,列名2……;组值函数avg---平均值函数count---非空值数目max---最大值函数min---最小值函数sum---求和函数distinct---唯一性函数分组查询select列名1,列名2,sum(列名3)……from表名where条件groupby列名1,列名2……;关键字:groupby改变数据操作Insert插入操作insertinto表名1(列名1,列名2……)values(值1,值2……);注意:⑴值表中的数据用逗号间隔;⑵字符型和日期型要用单引号括起来;⑶缺省的日期格式为dd-man-yy。insertinto表名1usingselect列名1,列名2……from表名2where条件;Update修改操作可修改单个字段、修改多行、修改单个列。update表名set列名=值或表达式where条件;Delete删除deletefrom表名where条件;注意⑴不能只删除行的一部分⑵where子句决定哪一行将被删除。如里省略了where子句,则所有的行都将被删除。其它常用sql命令Createtable---创建表;例子Droptable---删除表,sql同时自动删除该表上的索引、特权,但并不删除相关的视图或同义词;Grant---授权Connect-----连上Oracle,做最基本操作resource----具有程序开发最基本的权限dba----------数据库管理员所有权限@-------运行指定的命令文件,作用等价于start命令;/---------运行sql缓冲区的命令,与run命令等价;Connect---退出当前账号,向指定的用户帐号登录;Desc-----显示指定表的结构;Exit-----中止sql*plus,返回操作系统;Spool---将屏幕显示内容输出到一个文件上;Spooloff--输出文件结束;其它常用sql*plus命令四、SQL*NET的配置和使用1配置网络协议TCP/IP2测试网络是否连通3在Windows95上选择“开始”按钮,选定“程序”中的“OracleforWindows95”下的“SQL*NetEasyConfiguration”,在“SQL*NetEasyConfiguration”窗口中选择“AddDatabaseAlias”,在“ChooseDatabaseAlias”对话框中“DatabaseAlias”项中键入数据库别名,按“OK”按钮确认。在“ChooseTCP/IPHostNameandDatabase”对话框中的TCP/IPHostname项中键入SERVER的IP地址,在“DatabaseInstance”项中键入Oracle的实例名。在“ConfirmAddingDatabaseAlias”对话框中可以看到你新增加的数据库别名。按“YES”按钮,按“OK”,退出“SQL*NetEasyConfiguration”。五、数据库备份(exp/imp)EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORTDUMPFILE),并将重新生成数据库写入文件中。它有三种模式:a.用户模式:导出用户所有对象以及对象中的数据;b.表模式:导出用户所有表或者指定的表;c.整个数据库:导出数据库中所有对象。IMPORT导入:导入的过程是导出的逆过程,这个命令先读取导出来的导出转储二进制文件,并运行文件,恢复对象用户和数据。数据库导出过程exp80用户名/密码Enterarrayfetchbuffersize:4096exportfile:expdat.dmp(1)Entiredatabase(2)Users(3)Table:(2)UsersExportgrants:yesExporttabledata:yesConpressextents:yesUsertobeexport……Exportingtable、synonyms、view、grant等……Exportterminatedsuccessfullywithoutwarning.导出选项关键字内容USERID运行导出命令的帐号的用户名/口令。BUFFEER用来取数据行的缓冲区的大小。FILE导出转储文件的名字COMPRESS导出是否应该压缩有碎片的段成一个范围GRANTS导出时否要导出数据库对象上的授权INDEXES是否要导出表上的索引ROWS是否应导出行。如它为‘N’,那么在导出文件中仅生成数据库对象的DDLCONSSTRAINTS是否导出表旧的约定条件FULL如设为‘Y’,那么将执行一个整个数据库导出操作OWNER要导出的一系列数据库帐号,然后执行这些帐号的USER导出操作TABLES要导出的一系列表;执行这些表的TABLE导出操作导出选项关键字内容RECORDLENGTH转储导出文件日志的长度(以字节为单位),通常都使用缺省,除非要在两个不同操作系统中传递导出文件INCTYPE正在执行的导出操作的类型(有效值有”COMPLETE“(缺省值),CUMULATIVE”和“IVCREMENTAL”)RECORD在增量导出类型中的一个标记,标明是否将日志存储到数据字典中日志导出的表中PARFILE要传递给导出的参数文件的名字。这个文件将包含所有参数的入口项ANALYZE标明是否将移对象的统计信息写入导出转储文件中CONSISTENT标明是否保留所有导出对象的读取一致复制。LOG导出日志将要写入的文件的名字MLS标明是否要导出MLS标号MLS_LABEL_规定了MLS标号的格式数据库恢复Imp80用户名/密码Importfile:expdat.dmp导入选择项关键字内容U
本文标题:oracle数据库知识
链接地址:https://www.777doc.com/doc-12526 .html