zoukankan      html  css  js  c++  java
  • 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脚本

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

    查看内容

    三、交互式命令

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

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

    四、用户管理

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

    2、修改密码:password

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

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

     

          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;

    注意:以上的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表管理 (下一篇继续.....)

  • 相关阅读:
    1323. Maximum 69 Number
    1217. Play with Chips
    1296. Divide Array in Sets of K Consecutive Numbers
    1288. Remove Covered Intervals
    1290. Convert Binary Number in a Linked List to Integer
    1295. Find Numbers with Even Number of Digits
    1306. Jump Game III
    1305. All Elements in Two Binary Search Trees
    1304. Find N Unique Integers Sum up to Zero
    浅谈 JSON.stringify 方法【转】
  • 原文地址:https://www.cnblogs.com/sunshine5683/p/10059955.html
Copyright © 2011-2022 走看看