您的位置:首页 > 数据库 > Oracle

黑马程序员--Oracle学习_day01

2014-12-31 11:06 393 查看
 ----------  android培训 、java培训、期待与您交流! ----------

1,为什么要学习oracle

oracle性能优越,需求量大,薪水高。

 

·微软                  sql server和access

·瑞典Mysql             AB公司mysql

·IBM公司  DB2

·美国Sybase公司        Sybase

   ·IBM公司               informix

·美国oracle公司        Oracle

简单对以上六种主流数据库做一个对比。



2,介绍oracle及oracle公司的背景

 


3,oracle的安装,启动及卸载

    oracle安装会自动生成,sys 用户和system用户

a,sys是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是manager。

b,system是管理操作员用户,权限也很大,具有sysoper角色,没有create database
  权限,默认的密码是change_on_install。

c,一般讲,对数据库维护,使用system用户登录就可以了。

 

卸载删注册表:

运行regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动 这个列表,删除所有Oracle入口。 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application, 删除所有Oracle入口。

 

4,oracle开发工具介绍

oracle管理工具有4种:

     1、sql*plus

                     2、pl/sql Developer 

      3、oracle Enterprise Manager Console

                     4、sqlplus dos , 其功能跟sql*plus一样。

5,sql*plus的常用命令

   连接命令:

1,connect  连接  用法:connect 用户名/密码@网络服务名。多个数据库时需指定数
                据库名称。

2,disconnect  断开连接

3,password   修改密码

4,show  user  显示当前用户

5,exit   断开与数据库的连接,同时会退出sql*plus

 

  文件操作命令:

1,start和@      运行脚本, 案例:slq>@d:\a.sql  或者 sql>start d:\a.sql

2,
d9ef
edit         该命令可以编辑指定的sql脚本,打开指定文件。  案例:sql>edit d:\a.sql

3,spool          该命令可以将sql*plus屏幕上的内容输出到指定文件中去,案例:
  sql>spool d:\b.sql   结束输入sql>spool off

 

   交互式命令:

      1,&     可能替代变量,而该变量在执行时,需要用户输入。

          案例:sql>select  * from emp where job=’&job’

  显示和设置环境变量:

   1,linesize       设置显示行的宽度,默认是80个字符   案例:sql>show  linesize  

             sql>set linesize 90

       2,pagesize      设置每页显示的行数目,默认是14,用法跟linesize一样。

6,oracle用户的管理

创建用户:在oracle中要创建一个新的用户使用create  user语句,一般是具有dba(数
据库管理员)的权限才能使用。

  例如: sql>create user xiaoqiang identified  by  x1234;

删除用户:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有   drop  user的权限。

在删除用户时,注意:如果要删除的用户,已经创建了表,那么就需要在删除的时候带一个参数cascade。

例如:drop  user  [cascade];

 

指定用户权限:              

   权限包括:                                                          

                     系统权限 :用户对数据库的相关权限(  例如:登录,创建,删除,修改等)

                      对象权限:用户对其他用户的数据对象操作的权限(select, insert, update, delete, all,create index ,alter,references,execute.....  )    

 

        数据对象就是指这个用户创建的表、视图、存储过程、触发器等一系列数据库对象。

授予权限格式:grant  权限 on  数据对象 to  用户名;

     角色包括:

                             自定义角色

        预定义角色  connect、dba、resource

 

  收回权限:revoke  权限  on  数据对象  from  用户名;

 

 权限的维护:

·希望xiaoqiang用户可以去查询scott的emp表,,还希望xiaoqiang可以把这个权限继
续给别人。

===如果是对象权限,就加入 with grant option

例:grant  select  on  emp  to  xiaoqiang  with  grant  option;

 

===如果是系统权限,system以下面这种方式给xiaoqiang权限时,说明xiaoqiang
    可以把connect 权限继续给别人。

      例:grant  connect  to xiaoqiang  with  admin  option;

 

问题:如果scott把xiaoqiang 对emp 表的查询权限回收了,那么xiaohong 会怎样?

答案:xiaohong的查询权限也被回收了。

 

使用profile管理用户口令:

概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile.,当建立用户没有指定profile选项,那oracle就会将default分配给
用户。

1),账户锁定:指定账户(用户)登陆时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令。

例:指定xiaoqiang这个用户最多只能尝试3次登陆,锁定时候为2天,实现方法如下:

//创建profile文件,就相当于创建一个规则。

  sql>create  profile  lock-account  limit  failed_login_attempts  3     passwrod_lock_time  2;

         //把上面的规则指定给某个用户,那么这个用户就要遵循这种规则。

sql>alter  user  xiaoqiang  profile   lock_account;

 

2),给账户(用户)解锁

      sql>alter  user  xiaoqiang  account   unlock;

  3) ,终止口令

为了让用户定期修改密码,可以使用终止口令的指令来完成,同样这个命令也需要 dba身份来操作。

例:给前面创建的xiaoqiang创建一个profile文件,要求该用户每隔10天要修改自身的登录密码,宽限期为2天。 实现方法如下:

sql>create  profile  bbb1  limit  password_life_time  10  password_grace_time  2;

     4) ,口令历史

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

例:

sql>create  profile  password_history  limit   password_life_time  10  password_grace_time  2  password_reuse_time 10;   

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

 

       sql>alter  user  xiaoqiang  profile   password_history;

 

    删除profile 

             概述:当不需要某个profile文件时,可以删除该文件。

sql>drop  profile  password_history;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  黑马程序员