oracle数据库逐步学习总结【基础一】

原创作品,转载请在文章开头显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10059955.html

一、oracle的基本命令

1、连接命令

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

2、disc[onnection] 断开与当前数据库的连接

3、passw[ord]:修改用户密码,修改其他用户密码,需要sys/system用户

4、show user:显示当前登录用户

5、exit/quit:退出sqlplus,同时断开连接

二、文件操作命令

1、start和@ :运行sql脚本

oracle数据库逐步学习总结【基础一】

2、spool : 将屏幕上的内容输出到制定的文件中去,注意,该命令只有spool off了才可以在文件中看到内容

oracle数据库逐步学习总结【基础一】

oracle数据库逐步学习总结【基础一】

查看内容

oracle数据库逐步学习总结【基础一】

oracle数据库逐步学习总结【基础一】

三、交互式命令

1、&  :可以替代变量,该变量在执行时候需要用户输入参数

oracle数据库逐步学习总结【基础一】

2、edit :用于编辑指定的sql脚本

四、用户管理

1、创建用户:需要sys或者system用户,create user xiaoming identified by 123; 创建的新用户没有任何权限,需要赋予权限

2、修改密码:password

3、赋予权限:grant connect to xiaoming  //赋予小明连接登录数据库的权限(此处connect其实是一种角色)

       grant resource to xiaoming  //赋予小明创建数据表的权限

oracle数据库逐步学习总结【基础一】

      grant select on scott.emp to xiaoming //赋予小明查询emp表的权限,此时,小明可以通过select * from scott.emp 访问emp表,但是不能直接访问,即select * from emp,因为emp是scott用户的,小明只有访问权限,而不是小明自己的表,只有自己的表才可以直接访问

      grant update on scott.emp to xiaoming //赋予修改表的权限

      grant all on scott.emp to xiaoming //将该表的所有访问与修改等的权限赋予小明

注意:赋予一张表的权限给其他用户只有该数据表的创建者才可以,其他用户都是不可以的。

4、权限主要有:select、insert、delect、update、all、create index

5、如果希望小明可以去查询scott.emp,也希望小明可以将该查询权限授予其他用户,那么就使用到了对象权限,即在授权的后面加上 with grant option,也就是:

sql> grant select on scott.emp to xiaoming with grant option;

oracle数据库逐步学习总结【基础一】

注意:以上的scott.emp 可以直接写出emp,因为授权者是scott,而该表也是scott自己的表,但是如果授权者不是scott,则必须写出scott.emp,比如此时小明也有将emp表的查询权限授予其他用户的权利,但是小明要给其他用户授权,就必须携程scott.emp,不能携程emp,否则会报错:表或者视图不存在!

如果是系统权限,则:system给小明权限时候:grant connect to xiaoming with admin option, 此时小明就可以给其他用户授予连接数据库的权限

6、收回权限:revoke select on scott.emp from xiaoming;

注意:收回其他用户访问数据表的权限只有该数据表的创建者才可以,其他用户都是不可以的。如果将小明的权限收回,那么小明给其他用户授予的权限也一并没有了!

7、删除用户:drop user 用户名,  注意,在删除用户时候,如果该用户已经创建了表,那么删除用户的时候需要加上cascade,即:drop user 用户名 cascade,用于删除用户以及该用户创建的表(级联删除)

8、使用profile管理用户口令(一般使用dba权限执行)

sql> create profile lock_account limit  filed_login_attempts 3 password_lock_time 2  // 创建口令限制文件,意思是如果密码输入错误三次,那么锁死,锁定时间为2天,然后再次登录,如果在两天之内,就算输入正确的密码,也是无法登录,因为在两天之内该账号是锁定状态。

sql> alter user xiaoming  profile lock_account;   //给小明用户限定

用户解锁:

sql> alter user xiaoming account unlock; //给小明用户解锁,不至于小明账号被锁死之后两天内真的不能登录,但是该命令同样需要system为小明解锁,如果不解锁,就只能等两天了!

终止口令:为了让用户在规定时间内修改密码,同样也需要dba身份

sql> create profile myprofile limit password_life_time 10 password_grace_time 2;//创建口令文件myprofile,限定用户每隔10天修改登录密码,宽限期为2天,如果时间到了没有修改,那么断开该用户的连接,同时要求修改密码!

sql> alter user xiaoming profile myprofile;//将小明用户应用限制文件

口令历史: 如果在用户修改密码时候,不能使用以前用过的密码,那么可以使用口令历史,oracle会将口令修改的信息放到数据字典,进行密码判断

sql> create profile password_history_limit password_life_time 10 password_grace_time 2 password_reuse_time 10 //简历口令文件

其中:password_reuse_time 10:  指定口令可重用时间,即10天后就可以重用

然后分配给某个用户

口令文件的删除:当某个口令文件不想使用了,可以将其删除!

sql> drop profile password_history_limit cascade

其中cascade表示该口令文件如果已经分配给了用户,那么就的加上cascade

五、oracle表管理 (下一篇继续.....)

上一篇:R基础学习(三)-- 简单练习(shiny+mysql+barplot)


下一篇:linux添加swap分区【转】