天天看点

oracle 学习1

========================03oracle的基本使用========================================42分钟

启动oracle数据库,就是启动一个oracle实例。就是一个数据库。数据对象。

权限的机制,不同用户,看到不同的数据对象,拥有不同的权限。

Listener监听必须启动。

oracle卸载有些麻烦。

scott admin

show user;//查看当前用户

exit;//退出

第一种:sql plus直接打开。

sqlplusw 命令,效果和直接打开一样。

第二种:sqlplus 命令,打开黑窗口。

第三种:oracle的企业管理器。oem oracle enterprise manager

第四种:pl/sql developer 第三方软件。比较好。

常用命令。sql*plus的常用命令

1连接命令

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

例如:conn system/admin 可以用来切换用户。

2 断开连接

disc

3 修改密码

passw

4 显示当前用户名

show user

5 退出命令

exit

文件操作命令

1 运行sql脚本

start 和 @

例如:

sql>@ f:\xx.sql

sql>start f:\xx.sql

2 编辑sql文件

edit f:\xx.sql

3 将sql*plus 屏幕上的内容输出到指定文件中去

sql> spool f:\yy.sql;

spool off

交互式命令

1 可以替代变量  &地址符

select * from emp where ename='&name';

显示和设置环境变量

1 设置显示行的宽度,默认是80个字符。

linesize

show linesize;

set linesize 90;

2 设置每页显示的数目

show pagesize;

set pagesize 3;

===================04 用户管理01 ===================================================49分钟

1 在oracle创建一个新的用户,用dba用户。

create user hzl identified by h123;——密码不能是数字开头,也就说不能用全数字。

2 给自己修改密码

password [用户名]

给其用户修改密码

password 用户名

例如:password  hzl;

3 删除用户

自己删除自己不行,

drop user  用户名 [cascade];

drop user hzl;

在删除用户时,注意

如果要删除的用户,已经创建了表,那么就需要在删除的时候,带一个参数 cascade(级联删除)

4 用户的管理

新建的用户是没有权限的。

赋予权限 sytem/sys

grant

权限分两种

一:系统权限——描述用户对数据库的相关权限,如登录,建表。。。大概有140多种权限。

二:对象权限——用户对其他用户的数据对象访问或操作的权限。大概有25个对象权限。

数据对象——就是指用户创建的表,视图,触发器,存储过程,索引,序列,函数,过程,包,类型,触发器,工作,库,角色,同义词,表空间。。。。。。

oracle的精华——用户的管理,权限的控制。

角色分两种:

一:自定义角色

二:预定义角色

挨个的赋权限,太慢,定义好角色。角色有多种权限。

connect角色 ——不是权限。包括一些,基本的权限。7种权限。

dba角色——拥有全部权限。

resource角色——可以让用户在所有的表空间建表。

grant connect to hzl;

create session ;系统权限。有了它,才能登陆数据库。

——希望hzl这个用户,可以查询emp表。

——希望hzl这个用户,可以查询scott的emp表。

需要对象权限。

对象权限分:

一:select

二:insert

三:update

四:delete

五:all

六:create index

。。。。。

grant select on emp to hzl;——system/sys/scott;

hzl 查询时:select * from scott.emp;——方案,scott而非用户,是个方案,在此时。

数据对象的组织方式,以用户为单位。

新用户,空表,也没有见表的权限。

grant resource to hzl;

desc test;——查看表结构

——希望hzl这个用户,可以修改scott的emp表。

grant update on emp to hzl;——system/sys/scott;

——希望hzl这个用户,可以查询/修改,删除,添加scott的emp表。

grant all on emp to hzl;——system/sys/scott;

scott 希望收回 hzl 对emp的查询权限

移除权限

revoke

revoke select on emp from hzl;

====================================05 oracle 用户管理2 ====================================46分钟。

对象权的维护

——希望hzl这个用户,可以查询scott的emp表。同时,可以把此权限赋给其他用户。

对象权限——with grant option

系统权限——with admin option

如:建个hzl2.  把hzl1的系统权限connect  以及 select 对象权限给hzl2

step1 conn system/admin

step2 create user hzl1 identified by hzl;

create user hzl2 identified by hzl;

step3 grant connect to hzl1 with admin option;

grant select on scott.emp to hzl1 with grant option;

step4 conn hzl1/hzl;

select * from scott.emp;

step5 grant connect to hzl2;

grant select on scott.emp to hzl2;

step6 conn hzl2/hzl

select * from scott.emp;

回收权限。——有问题!!!!!!!!!

如:回收hzl1 的赋予功能,以及回收hzl2的 查看表功能。并通过hzl3 ,用户的创建验证。

step1 conn system/admin;

step2 revoke admin option from hzl1;

        create user hzl3 identified by hzl;

step3 conn hzl1/hzl;

step4 grant connect to hzl3;

conn hzl3/hzl;——验证hzl3 是否可以登陆,可以,说明,移除hzl1的赋予功能失败

step5 revoke select on scott.emp form hzl2;

step6 conn hzl2/zhl;

select * from scott.emp; ——如果有值,说明移除hzl2的查看对象权限失败。

oracle管理用户口令

profile 是口令限制,资源限制的命令集合。

1 账户锁定。

指定用户登录时最多可以输入多少次,错误密码,以及错误密码的次数到达之后,该用户被锁定,锁定时间天,一般用dba的身份去执行该命令。

例如:指定hzl3 这个用户,最多只能尝试3次,然后锁定2天。

创建名为hzl_lock 的profile文件。

create profile hzl_lock limit failed_login_attempts 3 password_lock_time 2;

alter user hzl3 profile hzl_lock;

2 给账户解锁

alter user hzl3 account unlock;

3 终止口令

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

例如:给hzl3 创建一个 名为hou123 的profile文件,要求该用户每隔十天要修改自家的登陆密码,宽限期为2天,怎么做?

step1 create profile hou123 limit password_life_time 10 password_grace_time 2;

step2 alter user hzl3 profile hou123;

觉得系统管理员有必要,作为普通用户没有必要。

4 口令历史

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

例:

给hzl3 创建一个 名为hou123 的profile文件,要求该用户每隔十天要修改自家的登陆密码,宽限期为2天,同时,密码要在10天后,才可以使用习惯的那个。

step1 create profile hou123 limit password_life_time 10 passwor_grace_time 2 password_reuse_time 10;

step2 alter user hzl3 profile hou123;

5 删除profile

不需要某个profile文件时,可以删除

drop profile hou123 [cascade]

总结:=====

1 为什么学oracle

2 介绍oracle以及公司背景

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

4 oracle开发工具介绍

5 sql*plus的常用命令

6 oracle用户的管理。

目前主流数据库

微软——sql server 和 access

瑞典Mysql——AB公司 mysql

ibm公司——db2

美国Sybase公司——Sybase

ibm公司——informix

美国oracle公司:oracle