欢迎来到天天文库
浏览记录
ID:37634431
大小:34.00 KB
页数:11页
时间:2019-05-26
《oracle学习资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、载道名师课堂网(www.zaidaow.com)前言:Oracle9i与10g的区别不大,可以说很小很小,如果真要说区别的话,那估计就是性能,功能的增加.差别不大,学习好了9i也就学习好了10g。权限管理:oracle9里面默认的三个用户名和密码:syschange_on_install//权限最高的管理员systemmanager//普通的管理员scotttiger//普通用户在oracle10中,仍然使用这三个用户作为默认用户。但sys和system用户的密码不再默认。在安装数据库的时 权限管理: oracle9里面默认的三个
2、用户名和密码: syschange_on_install//权限最高的管理员 systemmanager//普通的管理员 scotttiger//普通用户 在oracle10中,仍然使用这三个用户作为默认用户。但sys和system用户的密码不再默认。在安装数据库的时候,可以由用户指定。从安全角度考虑,scott用户默认被锁定,所以要使用该用户,需要先解除锁定。 注意:我们要使用oracle数据库,至少要启动两个服务,一个是监听服务,一个是数据库实例。 创建用户; 以系统管理员的身份登陆。 使用语句:createuserlis
3、iidentifiedbylisi;//创建了一个叫lisi的用户,密码也为lisi 虽然创建了用户,但该用户现在并无任何权限。就连登陆数据库的权限都没有。假如使用:sqlpluslisi/lisi登陆数据库,会报错,显示没有createsession的权限。 所以还是先使用系统管理员给lisi这个用户指定登陆的权限。 语句为:grantcreatesessiontolisi; 授权过后,lisi可以登陆数据库了。但是现在还没有创建数据库表的权限,仍需指定。 语句为:grantcreatetabletolisi; 使用lisi账号
4、,创建数据库表:createtablemytable(idint); 执行后却提示错误:对表空间‘USERS’无权限。每个数据库表都有自己的表空间,相当于文件必须位于某个文件夹下。 虽然lisi用户具有创建表的权限,但没有使用表空间的权限,最终还是创建不了表。这就好比你有我房间的钥匙,但是没有我家大门的钥匙,你最终还是进不了我的房间。 通过系统管理员授予lisi用户使用表空间的权限: grantunlimitedtablespacetolisi;这样用户lisi对表空间的使用就没有限制了。 在lisi账户下,创建表:createta
5、blemytable(idint); 插入一条记录:insertintomytablevalues(1); 插入成功。 也可以删除表:droptablemytable; 有人可能会产生疑问,既然数据库的权限管理这么严格,上面我们只是授予lisi用户创建表的权限。并没有授予其插入,删除等权限呀。这里我们可以这样理解:当前用户创建了一个表,那么该表就属于该用户,用户既然创建了表,自然就对该表拥有一切权限啦。 而且:数据库并没有droptable的权限。使用:grantdroptabletolisi;出现:权限缺失或无效的错误提示。 上
6、面是授予权限,那么如何撤销用户的某个权限呢? 使用如下语句可以撤销lisi的创建表的权限:revokecreatetablefromlisi; 再使用lisi账号创建表,就会出现错误提示:权限不足。 在大多情况下,如果我们对用户的权限经常修改,我们如何知道用户有哪些权限呢? 数据库默认维护了一个视图对外提供一些系统信息(叫数据字典),可以查看用户的具体权限。 使用如下语句查看当前用户的系统权限: select*fromuser_sys_privs; USRENAMEPRIVILEGEADM ------------------
7、------------------------------------------------------------------------- LISICREATESESSIONNO LISIUNLIMITEDTABLESPACENO oracle中的权限分为系统权限和对象权限。 系统权限就是我们上面所讲的一些权限。 对象权限是指:比如用户lisi创建了一个表,该表就可以作为一个对象看待。另外一个用户是否有访问该表的权限呢。这就是所谓的对象权限管理。 我们在创建一个用户wangwu。密码也为wangwu。在该用户下,创建一个表
8、mytab。如果lisi用户向访问表mytab,是否会成功呢? 在lisi的窗口下,输入:select*frommytab;报错:表或视图不存在。我们知道表属于表
此文档下载收益归作者所有