oracle学习笔记(1)

 

解决账户锁定问题:

以sys as sysdba登录,执行alter user username account unlock;(username为锁定的账户名)。然后以scott,tiger登录,

弹出密码修改框,修改密码。然后再重新登录即可。

 

oracle常用命令(在command window下操作)

conn: conn 用户名/密码@网络服务名 [as sysdba/sysoper]

查询当前用户:show user;

passw:修改密码

exit:断开连接并断开

spool命令。

Desc 表名:查看表结构。

 

 

创建新用户(必须以dba身份登录才可以):create user 用户名 identified by 密码  (密码必须以字母开头)  新创建的用户没有

任何权限,连数据库都不能登录,需要为其赋予权限。

修改密码:passw 用户名;

删除用户:drop user 【cascade】(该用户创建的表也相应删除)

赋予权限:grant 权限/角色 to 用户名    例:grant connect to newUser;把连接数据库的权限交给新用户。

Grant select/insert/delete/update/all on emp to newUser;   执行该操作的用户有sys,system和emp表所属的用户。All表示把上面的前四种权限都赋予新用户。新用户查询emp表必须如下执行:select * from scott.emp;  必须带有scott,否则系统以为是查询newUser的emp表。

收回权限:revoke select on emp from newUser;   谁授权谁收回,如果是scott授权,即使是sys也无权收回,只能由scott收回。

对象权限:

Grant select on emp to newUser with grant option;如果带有with grant option则表示scott允许newUser用户把查询表权限继续授权给别人。

例:grant select on scott.emp to newUser2;

系统权限:

with admin option;

 

问题:如果scott把newUser的权限收回了,那么newUser2是否还拥有这种权限? 

答案:没有

 

比较重要的角色:connect,dba,resource

把resource赋予新用户后,用户才可以在表空间建表。

 

多理解一下权限(系统权限和对象权限)和角色(自定义角色和预定义角色)。一个角色身上可以有多种权限,oracle里有140多种权限

 

当电脑上装有一个本地数据库和一个连接远程数据库的客户端时,每次登录时要对应相应的oracle主目录,否则连接时出现如下错误:监听程序无法解析指定的连接字符串。更改主目录的方法为:tools->preferences->oracle->connection  在oracle Home选项上选择相应的主目录。

posted @ 2013-03-09 17:53  小指  阅读(693)  评论(0编辑  收藏  举报