主讲韩顺平玩转oracle10g实战教程主讲:韩顺平email:hanshunping@tsinghua.org.cn主讲韩顺平玩转oracle10g实战教程oracle第1讲0.引言1.为什么要学习oracle2.oracle的安装,启动及卸载√3.介绍oracle及oracle公司的背景4.oracle开发工具介绍5.sql*plus的常用命令√6.oracle用户的管理√主讲韩顺平玩转oracle10g实战教程学习目标1.学会安装/启动/卸载oracle2.使用sql*plus工具3.掌握oracle用户管理4.学会在oracle中编写简单的select语句学习目标主讲韩顺平引言一个问题玩转oracle10g实战教程①淘宝网,天涯网,校友网..都有各自的功能,那么当我们关闭系统的时候,下次再访问这些网站时,为什么他们各自的信息还存在?②再比如c/s的软件,比如网游、qq、他们又是怎样保存数据的?a.游戏积分b.qq聊天记录..主讲韩顺平引言解决之道玩转oracle10g实战教程■解决之道-文件、数据库我们刚学习过文件,大家可能回答用文件就可以保存数据嘛!没有错,可以如果用文件保存数据存在几个缺点:(1)文件的安全性问题(2)文件不利于查询和对数据的管理(3)文件不利于存放海量数据(4)文件在程序中控制不方便主讲韩顺平引言解决之道玩转oracle10g实战教程■解决之道-文件、数据库为了解决上述问题,专家们设计出更加利于管理数据的东东-数据库(本质就是一个软件),它能更有效的管理数据。数据库是衡量一个程序员水平的重要指标。举一个生活化的案例说明如果说图书馆是保存书籍的,那么数据库就是保存数据的。概述:目前主流数据库包括●微软:sqlserver和access●瑞典MySQL:AB公司mysql●ibm公司:db2●美国Sybase公司:Sybase●ibm公司:informix●美国oracle公司:oracle简单对上面六种主流数据库做一个对比。[作图]主讲韩顺平玩转oracle10g实战教程为什么选择oracle–性能优越概述:从目前软件公司对数据库的需求看,oralce程序员的需求量是最大的,这里有一些数据大家可以看看。主讲韩顺平玩转oracle10g实战教程为什么选择oracle–需求量大概述:通过oracleocm认证参加工作的人,一般月薪或年薪是多少?我们看看别人怎么说?oracle的认证考试简单介绍。主讲韩顺平玩转oracle10g实战教程为什么选择oracle–待遇好主讲韩顺平玩转oracle10g实战教程oracle的安装系统要求■操作系统最好为windowsserver■内存最好在256M以上■硬盘空间需要2G以上oracle的具体安装、启动我这里给大家演示一下。主讲韩顺平玩转oracle10g实战教程数据库服务器、数据库和表的关系OracleDB实例DB实例数据库对象数据库对象数据库对象Client所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库服务器、数据库和表的关系如图所示:主讲韩顺平玩转oracle10g实战教程oracle的卸载1.停止所有与ORACLE相关的服务。2.使用OUI(OracleUniversalInstaller)卸载Oracle软件。“开始”-“程序”-“Oracle-OraDb110g_home1|Oracleinstallationproduct|Universalinstaller.3.删除注册表内容。运行regedit命令,删除下面内容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注册表键,删除此键。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除Services键下所有以oracle为首的键。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application,删除此键下所有以oracle为首的键。HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra为前缀的键。HKEY_CURRENT_USER|Software|Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|StartMenu|Programs,删除此键下所有以oracle为首的键。HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注册表键,删除了MicrosoftODBCFORORACLE注册表键以外的所有有Oracle字样的键值。HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除以Oracle或OraWeb为前缀的键。4.删除环境变量。删除环境变量CLASSPATH,PATH中含有Oracle字样的值。5.最后在文件系统内删除ORACLE相关的文件及目录:删除系统盘符:\ProgrmFiles\Oracle目录;删除ORACLE_BASE目录。我无法删除D:\oracle目录,重新启动机器之后才删除。神喻代神说话的人甲骨文暗示公司预作霸主的决心地位全球第一大数据库厂商全球第二大独立软件供应商主讲韩顺平玩转oracle10g实战教程oracle公司介绍–oracle的含义主讲韩顺平玩转oracle10g实战教程oracle公司介绍–公司发展与现状■1970年数据库起家■1980年ORACLE6版本■1990年ORACLE7版本,多元化产品,以数据库为优先发展方向■1995年ORACLE8版本■1999年ORACLE8i版本■2001年ORACLE9irelease1■2002年ORACLE9irelease2■2003年ORACLE10g版本■2007年ORACLE11g版本■2009年,甲骨文以每股9.5美元的价格收购Sun,交易总价值约为74亿美元。主讲韩顺平玩转oracle10g实战教程oracle10g比oracle9i增加了什么?简要说:10g支持网格(Grid),支持自动管理(AutomaticManagement)。详细说:①10g的g是“Grid”缩写,支持网格计算,即,多台结点服务器利用高速网络组成一个虚拟的高性能服务器,负载在整个网格中均衡(LoadBalance),按需增点,避免单点故障(SinglePointofFaliure)。②安装容易,安装工作量比9i减少了一半。③新增基于浏览器的企业管理器(EnterpriseManager)。oracle公司介绍–公司发展与现状主讲韩顺平玩转oracle10g实战教程oracle公司介绍–LarryEllisin■财富榜前30名之内■与盖茨可以相比■ORACLE的建立者和发展者■IT风云人物主讲韩顺平玩转oracle10g实战教程oracle公司介绍–产品线*数据库服务器:2007年最新版本11G*应用服务器:OracleApplicationServer*开发工具:OracleJDeveloper,OracleDesigner,OracleDeveloper,等等*应用软件(主要竞争对手:德国SAP公司。)*企业资源计划(ERP)软件。*客户关系管理(CRM)软件。*人力资源管理软件(HCM)。主讲韩顺平玩转oracle10g实战教程oracle管理工具的介绍(1)sql*plus是oracle自带的工具软件,主要用于执行sql语句,pl\sql块.如何使用:1)在开始-程序-oracleoradb_home10g-applicationdevelopment-sql*plus2)在运行栏中输入:sqlplusw即可主讲韩顺平玩转oracle10g实战教程oracle管理工具的介绍(2)概述:sqlplus是dos下操作oracle的工具,其功能和sql*plus相似.1)在运行栏中输入sqlplus2)找到该可执行文件sqlplus.exe,在oracle主目录\ora10g\bin\sqlplus.exe,鼠标双击即可主讲韩顺平玩转oracle10g实战教程oracle管理工具的介绍(3)概述:pl/sqldeveloper属于第三方软件,主要用于开发,测试,优化oraclepl/sql的存储过程比如:触发器,此软件oracle不带,需要单独安装。主讲韩顺平玩转oracle10g实战教程oracle管理工具的介绍(4)■Enterprisemanagerconsole(企业管理器)oracle10g是通过web管理的一般默认端口是5500,也有1158的。访问url(请一定保证oracle服务启动了):(也可能是5500)/emhttp://机器名:端口/em主讲韩顺平玩转oracle10g实战教程sql*plus常用命令■连接命令(1)conn[ect]用法:conn用户名/密码@网络服务名[assysdba/sysoper]当用特权用户身份连接时,必须带上assysdba或是assysoper(2)disc[onnect]说明:该命令用来断开与当前数据库的连接(3)passw[ord]说明:该命令用于修改用户的密码.如果要想修改其它用户的密码,需要用sys/system登陆.(4)showuser说明:显示当前用户名(5)exit说明:该命令会断开与数据库的连接,同时会退出sql*plus主讲韩顺平玩转oracle10g实战教程sql*plus常用命令■交互式命令(1)&说明:可以替代变量,而该变量在执行时,需要用户输入。sqlselect*fromempwherejob='&job'(2)edit说明:该命令可以编辑指定的sql脚本案例:sqleditd:\a.sql(3)spool说明:该命令可以将sql*plus屏幕上的内容输出到指定文件中去.案例:sqlspoold:\b.sql并输入sqlspooloff主讲韩顺平玩转oracle10g实战教程sql*plus常用命令■显示和设置环境变量概述:可以用来控制输出的各种格式。(1)linesize说明:设置显示行的宽度,默认是80个字符sqlshowlinesizesqlsetlinesize90(2)pagesize说明:设置每页显示的行数目,默认是14,用法和linesize一样。至于其它环境参数的使用也是大同小异主讲韩顺平玩转oracle10g实战教程oracle用户管理■创建用户(简单版)概述:在oracle中要创建一个新的用户使用createuser语句,一般是具有dba(数据库管理员)的权限才能使用。基本语法:createuser用户名identifiedby密码■给用户修改密码概述:如果给自己修改密码可以直接使用sqlpassword用户名如果给别人修改密码则需要具有dba的权限,或是拥有alteruser的系统权限sqlalteruser用户名identifiedby新密码主讲韩顺平玩转oracle10g实战教程oracle用户管理■创建用户(细节)例子:sqlcreateusershunpingidentifiedbym123defaulttablespaceuserstemporarytablespacetempquota3monusers;identifiedby表明该用户shunping将用数据库方式验证defaulttablespaceusers//用户的表空间在users上temporarytablespacetemp//用户shunping的临时表健在temp空间quota3monusers//表明用户shunping建立的数据对象(表,索引,视图