成本低
安全性要求不高
成本在万元内
比如商务网站
大型数据库的安全性能高,价格也很昂贵!
万元以上
二、oracle安装,启动及卸载
1.系统要求:
操作系统最好为windows2000
内存最好在256M以上
硬盘空间需要2G以上
2.oracle安装会自动的生成sys和system两个用户
说明:
Sys用户是超级用户,具有最高权限,具有sysdba角色,createdatabase的权限,默认密码是manager
System用户是管理操作员,权限也很大,具有sysoper角色,没有createdatabase权限,默认密码是change_on_install
一般讲,对数据库维护,使用system用户登录就可以了
3.启动oracle
右键单击我的电脑->服务和应用程序:
服务->启动OracleServiceMYORA1(MYORA1是安装oracle时起的名字各有不同)和OracleOracleHome90TNSLlistener
4.卸载oracle
1、先关掉oralce,netstopOracleServiceORCL(ORCL是我的实例名字,换成你的),或者去我的电脑服务中关闭
2、开始->程序->Oracle-oracle的版本号,我的是10ghome->OracleInstallationProducts->UniversalInstaller卸载oracle
3、进注册表,regedit,删除选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下所有的key。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application这个里面所有有oracle这个字眼的,删除
4、删除c盘\ProgramFiles\Oracle目录的东西以及oracle安装目录下所有的文件以及文件夹
5、环境变量中删除有关oracle的classpath和path
三、oracle开发工具
Sqlplus是Oracle自带的工具软件,主要用于执行sql语句,pl/sql块。
如何使用:
1)在开始à程序àoracleorachome90à
applicationdevelopmentàsql*plus(这个是在dos下操作)
2)在运行栏中输入:
sqlplusw或者sqlplus即可
3)在开始à程序àoracleorahome90à
Applicationdevelopmentàsql*plusworksheet
4)pl/sqldeveloper属于第三方软件,主要用于开发,测试,优化oraclepl/sql的存储过程.如:
触发器,此软件oracle不带,需要单独安装。
5)oracle的企业管理器(oemoracleenterprisemanager)
位置在开始à程序àoracleàoracleoraclehome90àenterprisemanagerconsole
即可启动oracle的企业管理器,是一个图形界面环境
四、Sql*plus的常用命令
1.连接命令
(1)conn[ect]
用法:
conn用户名/密码@网络服务名[assysdba/sysoper](角色登陆)当用特权用户身份连接时,必须带上assysdba或是assysoper
例:
connscott/tiger;
showuser;显示当前用户
2.断开连接命令
(2)disc[onnect]
说明:
该命令用来断开与当前数据库的连接
(3)passw[ord]说明:
该命令用于修改用户名的密码。
如果要想修改其他用户的密码,需要用sys/system登陆。
(4)showuser
说明:
显示当前用户名
(5)exit
说明:
该命令会断开与数据库的连接,同时会退出sql*plus
3.文件操作命令
(1)start和@
说明:
运行sql脚本
案例:
sql>@d:
\a.sql或者sql>startd:
a.sql
(2)edit
说明:
该命令可以编辑指定的sql脚本。
案例:
sql>editd:
\a.sql
(3)spool
说明:
该命令可以将sql*plus屏幕上的内容输出到指定文件中去。
案例:
sql>spoold:
\b.sql并输入sql>spooloff
4.交互式命令
(1)&
说明:
可以替代变量,而该变量在执行时,需要用户输入。
如:
sql>select*fromempwherejob=‘&job’输入job是注意大小写
(2)edit
说明:
该命令可以编辑指定的sql脚本
案例:
sql>editd:
\a.sql
5.显示和设置环境变量
概述:
可以用来控制输出的各种格式,setshow如果希望永久的保存相关的设置,可以去修改glogin.sql脚本
(1)linesize
说明:
设置显示行的宽度,默认是80个字符
sql>showlinesize
sql>setlinesize90
(2)pagesize
说明:
设置每页显示的行数目,默认是14,用法和linesize一样,至于其他环境参数的使用也是大同小异
sql>setpagesize8实际得到的不是14/8=2页而是:
14/(8-3)=5页
五Oracle用户的管理
1.创建用户
概述:
在oracle中要创建一个新的用户使用createuser语句,一般是具有dba(数据库管理员)的权限才能使用。
createuser用户名identifiedby密码;
2.给用户修改密码
概述:
如果给自己修改密码可以直接使用sql>password用户名
如果给别人修改密码则需要具有dba的权限,或是拥有alteruser的系统权限
sql>alteruser用户名identifiedby新密码
3.删除用户
概述:
一般以dba的身份去删除某个用户,如果用其他用户去删除用户则需要具有dropuser的权限。
比如dropuser用户名【cascade】
注意:
在删除用户时,如果要删除的用户已经创建了表,就需要在删除的时候带一个参数cascade
4.用户管理的综合案例
概述:
创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。
给一个用户赋权限(connect登陆,dba管理员,resource建表)使用命令grant,回收权限使用命令revoke.
为了给讲清楚用户管理,给大家举一个案例。
案例:
新建一个用户lady并给该用户赋可登陆可创建表
Sql>createuserladyidentifiedbylady123(密码)
受登陆权限:
àgrantconnecttolady
受可创建表:
grantresourcetolady
可以多个同时授权:
grantconnect,resourcetolady;
注意授权用户级别应该为(dba以上sys/system)
还可以使用PL/SQL工具创建:
文件->新建->用户
现在我要把scott用户里面的emp表的权限赋给lady用户但lady只能有对emp查询权限:
grantselectonemptolady;(授权用户级别应该:
授权本身,或者sys/system)
lady查询emp的方式:
select*fromscott.emp;
案例:
同上我想把update的权限也赋给lengàgrantupdateonemptoleng;
2)我想把emp所有的(增,删,改,查/insert,delete,update,select这四个一起可以用all代替)
操作权限赋给leng
grantallonemptoleng;(此时登陆用户为scott)
案例2:
这时我想把权限收回来怎么办呢?
这时用关键字revoke(撤回)à
revokeselectonempfromlady;收回lady的查权限
案例:
现在scott希望吧查询emp表权限通过lady用户继续给别的用户?
Scott>grantselectonemptoladywithgrantoption;
Leng>grantselectonscott.empto新建用户
案例:
scott想把emp表的权限从leng用户赋权给新用户yoyo;
Scott>grantselectonemptolengwithgrantoption;
Leng>grantselectonscott.emptoyoyo;
Yoyo>select*fro