Oracle包含文件
Oracle 服务器由两大部分组成, Oracle 数据库 和 Oracle 实例。
1、数据文件 -Data File
用于保存数据库中的全部数据。如表、数据和索引,一般以*.dbf命名。
2、日志文件 -Redo Log File
用于记录数据库所做任何变更,以便于在数据库发生错误时,恢复数据,通常以log*.dbf/.log命名
3、控制文件 -Control File
每一个Oracle数据库,都有相应的控制文件,它们是较小的二进制文件。用于记录数据库的物理结构。如数据库名,数据库的数据文件、日志文件位置等信息。通常以ctrl.ctl命名。
4、配置文件
配置文件记录了Oracle数据库的一些重要参数,如数据块大小,内存结构的配置等等。通常以init*.ora格式命名。
这些文件我们不可以直接操作,只可以通过Oracle实例去操作这些文件 。
登录认证方式
1,操作系统认证 (用户属于dba,即可通过)
2 ,密码验证
对普通用户默认密码验证;对特权用户(sys)默认操作系统认证,不通过时,再到密码验证。
创建profile文件
profile是口令限制,资源限制的命令集合,当建立数据时,oracle会自动建立名称为default的profile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。
create profil 文件名limit failed_login_attempts 3 password_lock_time 2;
//创建profile文件:这个用户最多只能尝试3次登陆,锁定时间为2天,
alter user 用户profile文件名;
//将文件指定给用户
解锁 :alter user 用户account unlock;
删除:profile :drop profile 文件名
create profile myprofile limit password_life_time 10 password_grace_time 2;
//要求该用户每隔10天要修改自家的登陆密码,宽限期为2天
create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10 password_reuse_time
//指定口令可重用时间即10天后就需要修改
常用系统权限
创建用户
CREATE USER user_name IDENTIFIED BY password
[DEFAULT TABLESPACE default_tablespace]
[TEMPORARY TABLESPACE temporary_tablespace];
user_name:创建的用户名
password:用户密码
default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间
temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间
创建后的用户需要授权后才能登录,授权语法
grant 权限 to 用户 [with admin option 可以转授]
revoke 权限 from 用户 --回收权限
创建Oracle表空间
创建表空间,必须以dba身份登录
create tablespace my_mobile
datafile 'd:/mytablespace/my_mobile.dbf'
size 100m
autoextend on next 32m maxsize unlimited
logging
extent management local
segment space management auto;
权限分类:一、系统权限
create session 连接数据 create table 建表
create view 建视图 create public synonym 键同义词
create cluster 建簇 create trigger 建触发器
create procedure 建过程、函数、包
grant 权限/角色 to 用户 [with admin option 可以转授]
revoke 权限 from 用户
权限分类:一、对象权限
alter 修改 delete 删除 select 查询 insert 添加
update 修改 index 索引 references 引用 execute 执行
grant 对象权限 on 数据库对象 to 用户名 [with grant option]
角色
预定义角色:connect 、 resource 、 dba
1、connect connect角色具有一般应用开发人员需要的大部分权限,当建立了一个
用户后,多数情况下,只要给用户授予connect和resource角色就够了,那么connect角色具有的系统权限 alter session create cluster create database link
create sesssion create table create view create sequence
2、resource resource角色具有应用开发人员所需要的其它权限,比如建立存储过程、触发器等。这里需要注意的是resource角色隐含了 unlimited tablespace系统权限。resource角色包含以下系统权限:create cluster、create indextype、
create table、create sequence、create type
create procedure 、create trigger
3、dba dba角色具有所有的系统权限,及with admin option选项,默认的dba用户为sys和system他们可以将任何系统权限授予其它用户.但是要注意的是dba角色不具备sysdba和sysoper的特权(启动和关闭数据库)
自定义角色
1建立角色:create role 角色名 not identified/identified by 口令
2给角色授权:
grant 对象权限 on 数据库对象 to 角色名 [with admin option]
3分配角色给用户
删除角色:drop role 角色名
建表
建表语法
create table 表名(列名 数据类型,...)
修改表结构
--添加一列
alter table表名 add (列名 数据类型);
--修改字段的长度类型
alter table表名 modify(列名 数据类型);
--修改表的名字
rename 原名 to 新名;
--删除表
drop table 表名;
--删除列
alter table表名 drop column列名;
--给表加备注
comment on table 表名 is ' ';
--给列加备注
comment on column表名.列名 is ' ';
--复制stu表结构
create table stu1 as select * from stu where 1=2;
数据类型
1、文本类型
char() :定长,最大2000字符
vchar() :变长 最大4000字符
nchar() :Unicode数据类型,定长,最大2000字符
nvarchar2() :Unicode数据类型,变长,最大4000字符
clob() :字符型大对象,最大8tb
blob() :二进制数据,可存放图片,音频
2、数值类型
number(p,s) :p为整数位,s为小数位
3、时间日期
date()
事务
什么是事务:事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。
事务的几个主要操作:
设置保存点 savepoint 保存点名
取消部分事务 rollback to 保存点名
取消全部事务 rollback
提交事务 commit
事务的隔离级别:脏读,幻读,不可重复读。
隔离级别: 脏读 不可重复读 幻读
读未提交、 √ √ √
读已提交、 × √ √
可重复读、 × × √
可串行化、 × × ×