oracle基础教程(第一天)

一、做项目该用什么数据库要考虑哪些方面?
1.项目的规模
2.负载量多大,用户多大
3.成本
4.安全性

小型数据库(access、foxbase)
1.负载量小,用户量在1000人以内,比如留言板,小型信息系统
2.成本在千元左右
3.对安全性要求不高

中型数据库(mysql、sql server、informix)
1.负载,日访问量在5000~15000
2.成本,万元以内  比如电子商务网站

大型数据库(sybase、oracle、db2)
1.负载可以处理海量数据
2.成本上万元,较为昂贵
3.安全性高,通过最高级别安全认证


二、安装oracle

1.oracle安装会自动生成sys用户和system用户
(1)sys用户是超级用户,拥有最高的权限,具有sysdba角色,有create database的权限,该用户默认的密码是change_on_install
(2)system用户是管理操作员,权限也很大。具有sysoper角色,没有create database的权限,默认的密码是manager
(3)一般讲,数据库维护使用system用户登录就可以了


三、sql*plus常用命令
1.conn[ect]
    用法:conn 用户名/密码@网络服务名 [as sysdba/sysoper]
    当特权用户身份连接时,必须带上as sysdba或是as sysoper
     SQL>conn system/manager
2.disc[onnect]
    说明:该命令用于断开与当前数据库的连接
3.passw[ord]
    说明:该命令用于修改用户的密码。如果要想修改其他用户的密码,需要用sys/system登录。
4.show user
    说明:显示当前用户名
5.exit   
    说明:该命令会断开与数据库的连接,同事会退出
6.文件操作命令
(1)start和@
    说明:运行sql脚本
    案例: SQL>@ d:\aa.sql   或者     SQL>start d:\aa.sql
(2)edit
    说明:该命令可以编辑指定的sql脚本
    案例: SQL>edit d:\aa.sql
(3)spool
    说明:该命令可以将sql*plus屏幕上的内容输出到指定的文件中去
    案例: SQL>spool d:\bb.sql  并输入   SQL>spool off
7.显示和设置环境变量
概述:可以用来控制输出的各种格式,set show 如果希望永久的保存相关的设置,可以去修改glogin.sql脚本
(1)linesize
    说明:设置显示行的宽度,默认是80个字符
     SQL>show linesize
     SQL>set linesize 120
(2)pagesize
    说明:设置每页显示的行数目,默认是14,用法和linesize一样
至于其他环境参数的使用也是大同小异


四、oracle用户的管理
1.创建用户
概述:在oracle中药创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
SQL>create user xiaoming identified by m123;
2.给用户修改密码
概述:如果给自己修改密码可以直接使用
SQL>password 用户名
概述:如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限
SQL>alter user 用户名 identified by 新密码
3.删除用户
概述:一般以dba的身份去删除某个用户,如果用其它用户去删除用户则需要具有drop user的权限。
比如drop user 用户名 【cascade】
在删除用户时注意,如果要删除的用户,已经创建了表,那久就需要再删除时带一个参数 cascade。
4.给一个普通用户赋权限
权限分为系统权限和对象权限
系统权限是指用户对数据库的相关权限。例如建库,建表,建索引,建存储过程,登录数据库,修改密码等。 grant connect to xiaoming;
connect就是一种预定义角色,给xiaoming这个用户赋予connect角色所具有的权限。这里使用到的是系统权限。
对象权限是指用户对其他用户的数据对象访问(操作)的权限。其中,数据对象指用户创建的表,视图,存储过程,触发器等。
角色分两种,一种为预定义角色,一种为自定义角色    
希望xiaoming用户去查询scott用户中的emp表:需要用到对象权限的使用。
SQL>grant select on emp to xiaoming      sys和system和scott具有这种赋权的权限。
希望xiaoming用户可以去修改、删除、查询、添加scott中的emp表
SQL>grant all on emp to xiaoming
scott希望收回xiaoming对emp表的查询权限
SQL>revoke select on emp from xiaoming
对权限的维护
希望xiaoming用户可以去查询scott的emp表,还希望xiaoming可以把这个权限继续给别人
--如果是对象权限,就加入with grant option
SQL>grant select on emp to xiaoming with grant option
--如果是系统权限  system给xiaoming赋权时做如下执行,则xiaoming可以赋予其他人connect的权限
SQL>grant connect to xiaoming with admin option
--如果scottxiaoming对emp表的查询权限回收,那么xiaohong会怎么样?
事实证明,xiaoming赋予xiaohong的权限也被回收了。
5.使用profile管理用户口令
概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。
(1)帐户锁定
概述:指定该帐户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)一般用dba的身份去执行该命令
例如:指定xiaoming这个用户最多只能尝试3次登陆,锁定时间为2天
创建 profile 文件
SQL> create profile lock_account  limit failed_login_attempts 3  password_lock_time 2;
SQL> alter user xiaoming  profile lock_account;
(2)给帐户(用户)解锁
SQL> alter user xiaoming  account unlock;
(3)终止口令
为了让用户定期修改密码,可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作。
SQL> create profile myprofile  limit password_life_time 10  password_grace_time 2;
SQL>alter user xiaoming profile myprofile;
(4)口令历史
概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的心细存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码,
例子:
    1)建立profile
     SQL> create profile password_history  limit password_life_time 10  password_grace_time 2  password_reuse_time 10;
    password_reuse_time  //指定口令可重用时间即10天后就可以重用。
    2)分配给某个用户
(5)删除profile
概述:当不需要某个profile文件时,可以删除该文件。
SQL> drop profile password_history [cascade]

你可能感兴趣的:(oracle基础教程(第一天))