国庆七天假,决定静下心来入门Oracle数据库。
环境:Ocacle 11g
软件安装包和安装图解,大家可以在我的百度网盘上下载:链接:http://pan.baidu.com/s/1ntjDEnZ 密码:kq8g
安装提示:要将下载的两个压缩包解压到同一个文件夹内,否则在安装期间会找不到一些依赖文件而安装失败
一.创建用户(必须具有dba权限的用户才能执行该功能)并使用该用户登陆
Oracle数据库管理软件在安装的时候,会默认创建sys,system等四个账号,先用system登陆
打开SQL Plus,输入system账号和密码(输入不进行回显,就像linux中输入口令一样)
创建用户名为usertest的用户,并设定密码usertest1234
新创建的用户权限为0,所以我们需要为usertest用户赋权后,才能使用该用户登陆
二.修改用户密码
使用如下语句进行密码(密码不回显)的修改:
password user_name;
三.删除用户(必须具有dba权限的用户才能执行该功能)
drop user user_name;
如果要被删除的用户下面存在对象(创建过表),则要带上cascade参数进行删除,否则会报错,删除失败
drop user user_name cascade;
四.用户权限
Oracle中的权限分为系统权限和对象权限两种,
系统权限:用户对数据库进行访问的权限;
对象权限:用户之间进行数据对象操作的权限;
系统权限只能由DBA用户(系统最高权限拥有者,最开始只有sys,system)授出,授出命令:
SQL>grant connect ,resource,dba to user1,[user2...]
普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收(revoke)
实质:Oracle数据库中的权限有140多种,上述授权命令中的connect ,resource ,dba其实是一种“角色”,可以看成为多个权限的集合,把这种角色理解为一种封装,简化了授权的操作。例如:connect ,resource(只有被授予了resource角色的用户,才能创建表,而创建表必须先登陆)角色都被授予了create session的权限(登陆权限)
五.SQL Plus的一些简单而使用的命令
<1>.编辑和执行sql脚本;
edit shell_file_path;
start shell_file_path;
1.先为usertest用户创建一张test表:
2.现在我们通过SQL脚本来执行select * from test;这条语句:
新建一个SQL脚本mysql.sql
<2>.有时我们需要将执行的SQL脚本的结果重定向到指定的文件中,可以使用spool命令;
eg:
查看mysqlOut.txt文件:
<3>退出SQL Plus终端,使用exit命令;
<4>在SQL Plus终端中,使用help command或command ?来查找相应命令的帮助信息;
<5>使用revoke命令回收特定用户的权限(必须具有dba权限的用户才能执行该功能);
<6>Oracle数据库中传递的权限链是级联的,一处崩溃,后面的都将收到影响。
eg:如果system用户给了A用户修改数据表的权限,A用户又将该权限给了B用户,那么一旦system用户回收了对A用户修改数据表的权限,那么B用户也不在拥有该权限;
五.总结
第一天的学习,成功的安装了Oracle数据库管理软件,掌握了创建用户,修改密码,删除用户和权限的相关知识。