oracle 学习1

来源:互联网 发布:mac 系统架构图 编辑:程序博客网 时间:2024/06/03 19:18
========================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
0 0
原创粉丝点击