开始之前,先了解一下一些单词,对今后看bug或者写代码有帮助。
privilege权限;grant赋予xx权限;view视图;sequence序列;snapshots快照...(暂时想到这些,慢慢更新相关单词)
Oracle安装之后,其内部会自动创建两个用户给我们:sys和system
sys是具有最高权限的用户,类似于sql的sa,啥都寡。
system没有sys权限大,但是它有创建用户的权限,也可以赋予其他用户权限。
开始前,先说一下思路:①咱们要先有用户,②用户要执行某操作就要给用户创建表空间,让它有“活动”的空间,③创建好表空间之后我们要将表空间和用户“绑”在一起;用户需要登录,④就要被赋予登录权限,有了登录权限之后,⑤要以该用户的身份建表、增、删、查、改等数据库操作,就要赋予该用户一定的权限。
下面以上说的按着思路来:
1.在命令窗口(cmd)连接数据库
sqlplus / as sysdba; <!-- 先用本地最高管理员权限连接数据库 -->
2.新建用户:
create user szymou identified by 123;
3.创建用户表空间
create tablespace szymou_space datafile'g:\oracle\szymou_space.dbf' size 50M;
4.用户指向表空间
有了用户,有了表空间,那就把它们“绑”起来(用户指向表空间)
不如我们先来看一下没有将新建的用户(Szymou)绑定新建的表空间(szymou_space)之前,该用户是指向哪个表空间的:
select username,default_tablespace from dba_users where username like 'SZYMOU';
现在来“绑定”咱们新建的用户和表空间:
alter user szymou default tablespace szymou_space;
5.现在试试连接:
conn szymou/123;
那我们就赋予它session权限;再次连接即可。
grant create session to szymou;
6.使用客户端连接、建表
建表:
重新连接系统管理员用户:sqlplus / as sysdba
赋create table 权限:
grant create table to szymou;
7.插入数据
接下来我们给新建的表插入数据。同理,需要给用户赋予“插入”的权限
grant insert any table to szymou;
可是又有提示 对表空间 'SZYMOU_SPACE' 无权限:所以我们还要赋予用户操作 表空间 的权限:
基本操作就以上几点,,其余的删查改等操作自由学习。
从上面的5、6、7步骤赋予权限的过程,我们也应该体会到Oracle数据库是多么地注意安全性。
为了避免多次出现提示缺少权限的问题,我们在新建用户的使用的时候,应该先设计好用户的定位,再着手创建。
下面附上覃老师今天整理的赋予权限的代码:
grant dba to admin2; --赋予管理员的权限
grant create session to admin3;--赋予登陆的权限
grant create any table to admin3; --给admin3创建表的权限
grant create table to qinfudian; --授予创建表的权限
grant drop any table to qinfudian; --授予删除表的权限
grant insert any table to qinfudian; --插入表的权限
grant update any table to qinfudian; --修改表的权限
grant select any table to qinfudian; --查询表的权限
revoke create table from admin3; --去除建表的权限
grant unlimited tablespace to admin3; --赋予表空间权限
不要复制代码呀!放手自己敲...
今天还有一点内容慢慢更新,等下审核就下班了。。