zoukankan      html  css  js  c++  java
  • Oracle基本介绍及用户的管理2

    一、为什么要学习Oracle

    目前主流数据库包括:
    微软 SQL Server和access
    瑞典mySql mysql(免费)
    IBM db2
    美国Sybase公司 sybase
    IBM informix
    Oracle oracle
    小型 access, foxbase
    中型 mysql, SQL Server, informix
    大型 sybase, oracle, db2

    该用什么数据库,考虑:
    项目的规模 1)负载量多大,用户量有多大 2)成本 3)安全性

    小型数据库:负载量小,100人内,如留言板,信息系统。成本在1000元以内,对安全性要求不高。
    中型数据库:负载,日访问量5000-15000,成本在10000元以内,安全性有一定的要求。 如商务网站。
    大型数据库:负载可以处理海量数据库。安全性高。
    sybase < oracle < db2

    用工需求量大。招聘网上查一下。
    薪水高 OCP认证

    Oracle认证: DBA认证、Java开发认证、Oracle网络开发认证

    DBA认证 OCA认证(初级认证) OCP认证(专家级认证 考4门课) OCM认证(大师级认证,亚洲地区 韩国、香港考,报名费2000刀)
    Oracle Certified Associate Oracle Certified Professional Oracle Certified Master

    二、介绍Oracle及Oracle公司的背景

    Larry Ellisin
    Oracle 神谕 代神说话的人 甲骨文
    暗示 公司欲作霸主的决心
    地位 全球第一大数据库厂商
    全球第二大独立软件供应商
    适合于大中型企业的数据库管理系统,主要用户涉及面非常广,包括:银行、电信、移动通信、航空、保险、金融、电子商务、跨国公司等。
    版本演变历史:
    1970年,数据库
    1977年,创办公司
    1979年,Oracle2(实际上是第1个版本)
    1983年,Oracle3 可移植性
    1984年,Oracle4 读一致性
    1985年,Oracle5 分布式查询 稳定版本
    1988年,Oracle6 行级锁,联机热备份
    1992年,Oracle7,分布式事务处理,引入基于开锁的优化器。真正出色的产品
    1997年,Oracle8, 支持面向对象的开发
    1998年,Oracle8i 添加了大量支持Internet的特性
    2001年,Oracle9i RAC
    2003年,Oracle10g 加入了网格计算
    2007年,Oracle11g 大幅提高系统的安全性能
    2014年,Oracle12c

    三、Oracle的安装、启动及卸载

    系统要求:内存256M以上 硬盘2G以上

    自动生成三个用户:
    sys (超级用户,sysdba,具有最高权限,有create database的权限 默认密码:change_on_install)
    system (操作管理员,sysoper,权限也很大,没有create database的权限。默认密码:manager)
    scott (普通用户,normal, 做测试与演示)
    一般讲,对数据库维护,使用system用户登录就可以了。

    至少有两个服务要启动:
    OracleService实例名 数据库实例对应的服务
    OracleTNSListener 监听服务

    卸载:删除注册表键值,重启计算机,删除主目录。

    四、Oracle开发工具介绍

    1)开始-程序-oracle-application developerment-sql*plus
    2)运行栏中输入sqlplus
    3)开始-程序-oracle-oraclehome1-enterprise manager console
    4)pl/sql developer

    五、sql*plus的常用命令

    连接命令:
    1)conn[ect] 用户名/密码@网络服务名 [as sysdba|sysoper];
    2)disc[onnect] 断开与当前数据库的连接
    3)passw[ord] 用户名 修改密码,如果想修改其他用户的密码,需要用sys/system登录。
    4)show user; 显示当前用户名。
    5)exit; 断开与数据库的连接,同时会退出sql*plus。

    文件操作命令
    1)start和@ 运行SQL脚本 如 @d:a.sql;或start d:a.sql;
    2)edit 可以编辑指定的sql脚本 如:edit d:a.sql;
    3)spool 可以将sql*plus屏幕上的内容输出到指定文件中去 如:spool d:.txt .... spool off

    交互式命令
    & 替代变量 可以替代变量,而该变量在执行时,需要用户输入。

    显示和设置环境变量
    linesize 设置显示行的宽度,默认是80个字符。
    pagesize 设置每页显示的行数,默认是14行。

    六、Oracle用户的管理

    创建用户
    create user 用户名 identified by 密码;(密码必须在字母开头)
    修改密码
    passw[ord] 用户名; (给自己修改密码可直接使用,给别人修改密码需要具有DBA的权限,或拥有alter user的系统权限)
    alter user 用户名 identified by 新密码;

    删除用户
    drop user 用户名 [cascade]; 在删除用户时,如果该用户拥有数据对象,就需要带cascade,实现级联删除。

    授权

    权限分为系统权限和对象权限
    系统权限:用户对数据库的相关权限。
    对象权限:用户对数据对象操作的权限。 数据对象包括:表、视图、过程、包、函数、序列、同义词、触发器等。权限包括select,insert,update,delete,all等。

    授予系统权限
    grant 权限 to 用户名;
    一般包括create|alter|drop等

    grant create user to xiao;
    grant create session to xiao;
    

    授予对象权限
    grant 权限 on 数据对象名 to 用户名;
    一般包括insert|update|delete|select等

    grant select on scott.emp to xiao;
    

    回收权限
    revoke 权限 from 用户名;

    revoke select on scott.emp from xiao;
    

    角色:是若干权限的集合。用户拥有了某个角色,即拥有了该角色中所包含的所有权限。
    角色分为预定义角色和自定义角色。
    create session:登录数据库的系统权限。
    dba:数据库管理员。
    resource:在任何表空间建表。

    grant resource to xiao;
    revoke resource from xiao;
    

    权限的传递

    grant select on scott.emp to xiao with grant option;  (对象权限)
    grant conntect to xiao with admin option;             (系统权限)
    

    如果scott把对emp表的select权限从xiao身上收回,xiao授出给da的对应权限也将被收回。

    七、使用profile管理用户密码

    profile是口令限制、资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default分配给用户。
    1)账户锁定
    指定该账户登录时最多可以输入密码的次数,也可以指定用户锁定的时间天数,一般用dba的身份去执行该伪政府。
    如:指定tea这个用户最多只能尝试3次登录,锁定时间为2天:

    create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
    alter user tea profile lock_account;
    

    2)给账户解锁

    alter user tea account unlock;
    

    3)终止口令
    要求该用户每隔10天要修改自己的登录密码,宽限期为2天:

    create profile myprofile limit password_life_time 10 password_grace_time 2;
    alter user tea profile myprofile;
    

    4)口令历史
    如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样Oracle就会将口令修改的信息存放到数据字典中,当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。

    create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10;
    

    //password_reuse_time指定口令可重用时间,即10天以后就可以重用。

    删除profile

    drop profile password_history [cascade];
    
  • 相关阅读:
    windows 10 上源码编译opengv | compile opengv on windows 10 from source
    ubuntu 16.04上源码编译libjpeg-turbo和使用教程 | compile and use libjpeg-turbo on ubuntu 16.04
    c 时间 学习
    cap文件的格式说明
    C#调用C++
    c/c++基础 const
    tomcat 简单安装配置说明
    言论
    近期任务
    解决mysql从windows迁移到centos出现乱码问题
  • 原文地址:https://www.cnblogs.com/nqdxt/p/14552621.html
Copyright © 2011-2022 走看看