第四讲:sqlplus的常用管理命令,oracle的常用命令,表空间。
为什么刚刚创建的用户无法正常登陆。
这是因为oracle刚创建的用户是没有任何权限的,要求管路员给用户分配相应的权限才能登陆。比如我们给 shunping create session
如何给用户分配权限:grant create session to xioaming;
oracle 对数据库的权限分配分得很小。
oracle管理用户的原理:管理员有权分配权限、**权限与分配角色、**角色。
系统权限是和数据库管理相关的权限:如:create session , create table, create index, create view, create sequence, create trriger(触发器)
对象权限是和用户操作数据对象相关的权限,如对数据库的增删改查的操作(update,insert,delete,select)。
预定义角色:把常用的权限集中起来,形成角色。
用户创建的基本语法:create 权限/角色 to 用户名;
create user to xiaohong;
赋予权限:grant connect to xiaohong;
grant resource to xiaohong;
**权限:revoke connect from xiaohong;
revoke resource from xiaohong;
删除用户:drop user 用户名 [cascade];
当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除该用户的时候需要加入[cascade]这个选项,表示把这个用户删除的同时,把该用户创建的数据对象一并删除。
方案(schema)的概念:
所以不同用户可以创建相同名字的表,因为分在不同的方案里。
小技巧:如果希望看到某个用户的方案究竟有什么数据对象,我们可以用pl\sql 登录;
方案这个概念的实际应用:
要求:请完成一个功能,让小红这个用户可以查询scott 的emp 表。
步骤:1、先用scott 登录:conn scott/tiger;
2、赋予权限:grant select[update |delete |insert| all ] on emp to xiaohong;
xiaohong 查询 scott 的 emp表时,需要。
select * from
如创建两个用户,tea,stu 现在要把scott的权限赋予tea,之后tea将自己的权限赋给stu
实现:conn scott/tiger;
grant all on to tea with grant option;
//其中with grant option 表示得到权限的用户,可以把权限继续分配。
/with admin option 表示将系统权限继续分配下去。
grant select on to stu;
/with grant option 表示得到权限的用户可以把权限继续分配下去。
/with admin option 系统权限可以继续分配下去。
使用profile文件对口令进行管理。
1)账户锁定:限制用户密码的输入洗漱。
需求:允许某个用户最多尝试登陆3次,如果3次没有成功,则所定两天,两天后才能重新登陆。
基本语法:sql>create profile 文件名 limit failed_login_attempts 3 password_lock_time 2;
sql> alter user 用户名 profile 文件名;
2)给账户解锁。
sql>alter user 用户名 account unlock;(正规的解锁方法)
3)终止口令。
为了让用户定时更改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份来操作,还有oracle可以限制用户的新密码跟旧密码不同。
如:sql>create profile 文件名limit password_life_time 10 password_grace_time 2;
sql>alter user 用户名 profile 文件名;
口令历史:概述:如果希望用户在修改密码的时候,不能再用以前使用过的密码,可以使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码是,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
例子:1)建立profile
sql>create profile password_history limit password_life_time 10 password_grace_time 2 passeord_reuse_time 1;
passeord_reuse_time //指定楼龄可以重用时间即10天后就需要修改。
2)分配给某个用户密码。
sql>alter user tea profile myprofile;
删除用户。概述:当不需要某个profile文件时候,可以删除该文件(这时用户就不受约束了)
sql>drop profile 文件名;
数据库的启动流程。
window 操作系统可以在控制台(dos控制台下运行)
1) lsnrctl start (启动监听)
2) oradim—startup-sid 数据库实例名。
unix操作系统/linux系统。
1) lsnstl start (启动监听)
2) sqlplus sys/change_on _install as sysdba (以sysdba身份登录,在oracle10g之后可以这样写)
sqlplus /nolog
conn sys/change_on_install as sysdba
3) startup
在cmd 窗口下输入systeminfo 可以打印出window操作系统的一些基本信息。
oracle数据类型讲解。
1)char(size) 存放字符串 ,最大2000个字符,是定长。
举例说明:name char(32) 最多只能放置32个字符,不够补空格,如果超过则报错。
数据类型有定长与变长之分。
select name,dump(name) from emp; 这个语句可以查询相应行的存放数据的情况。可以查看数定长的数据类型的存储情况。
如果知道数据的长度,应当使用char,因为这样存储速度会快很多。
如果数据的长度是不定的应该使用varchar
clob 字符型大对象,变长,最大8tb
bolb 二进制数据/或者存放**声音,变长,最大8tb,说明,我们子啊实际开发中很少把文件存放在数据库中,实际上我们一般讲记录文件通过io/网络来操作。
如果我们的要求对文件安全性比较高,可以将文件存放在数据库中。
number数据类型:
1、可以存放整数,也可以存放小数。
number是一个变长的数据类型。
如果有明确的要求保留到第几位则明确指定,如果没有则直接使用number
date时间类型,用于表示年/月/时。时/分/秒。
添加的时候要使用默认的格式日/月/年(美国人格式),如果我们希望使用自己喜欢的格式添加但是需要借助oracle的函数。
date与timestamp 的区别,timestamp当你在更新数据的时候,时间会自动更新。
查看表结构的语句:desc students;
其中删除一列不带括号,删除多列要带括号。
oracle的增删改查。
字符和日期型数据应该包含在单引号中。
oracle中‘’=null 两种空的处理是一样的或者对应列值直接不写也是默认为null值。
如果给表的每一列都加值得话可以不带列名。
insert into 表明 values (列值···
表的更新。更新一列的所有值,按一定的规律更新。
update students set fellowship=fellowship*1.1;
在使用更新,修改语句的时候千万要注意对应的列值是否操作正确,,否则可能整个数据表都会出现错误,导致严重的后果。
表的复杂查询 max,min,**g,sum,count后面可以带表达式。
max 与 min
sql> select max(sal) from emp;
max(sal)
sql> select min(sal) from emp;
min(sal)
sql> select max(sal*13+nvl(comm,0)*13) 年工资 from emp;年工资。
sql> select max(sal),min(sal) from emp;
max(sal) min(sal)
sql> select **g(sal),sum(sal) from emp;
**g(sal) sum(sal)
**g(sal)不会把null的进行统计,因此我们要注意如果我们希望为空的值也要考虑,则我们可以用第二条语句。
sql> select **g(comm) from emp;
oracle笔记
1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...
Oracle笔记
第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...
oracle笔记
clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...