Oracle 基础指南
.文件系统和作用
执行文件:Oracle系统的核心,数据文件只能被Oracle处理程序所识别,离开了可执行文件系统就无意义.存放可执行文件的空间一定要安全可靠
.
参数文件:启动实例时候配置Oracle数据库的一些基本信息,确定运行环境.参数文件应数据库不同而不同,命名方式为
init<sid>.ora.
控制文件:Oracle服务器启动期间来标识物理文件和数据库结构的二进制文件.控制文件提供了建立新实例时候所需要的文件目录,可以在Oracle操作其间更新控制文件,可以建立多个控制文件副本,以便进行数据库恢复
.
数据文件:数据文件用来存放用户的数据,它的稳定性和完整性都十分重要.每个数据库都至少一个相关数据文件
.
联机重做日志文件:是数据库的事物日志,它用于恢复数据库
.
输出文件:它影响数据库的可恢复性,它由Oracle自带的输出程序生成,它在指定时间点上对数据库的数据和结构进行备份.它是数据库逻辑副本,而不是物理副本
.
临时文件:用以在内存不足以保存中间结果集的时候保存结果集.它不生成重做,即不生成联机重做文件
.

:后台进程和作用

后台进程的主要作用是为了提高数据库的性能和可靠性,没个进程都有自己的职责
.
pmon:   
监控服务器进程,确保能够销毁发生损坏或出现故障的进程,并释放资源
.
smon:    
负责重新启动系统,清楚临时段,执行盘区结合任务.确保系统达到一致性
.
dbwr:     
负责将缓存中的数据块写入到磁盘中
.
lgwr:      
日志写入器,负责向联机重做日志文件中写入已提交的事物处理
.
ckpt:      
检查点进程,负责使用最新的检查点信息更新所有控制文件和数据文件的标题.数据库写入器会周期性的将其缓寸写入到磁盘中,存储检查点
.
cjq0:      
负责管理和协调作业
.
arc0:     
归档器:主要负责备份联机重做日志中的事物,以防止他们被覆盖
.

.系统表,视图和作用

查看有关用户的信息
:        dba_users
查看有关角色的信息
:          dba_roles,dba_role_privs,role_sys_privs
查看有关系统权限的信息
:   dba_sys_privs
查看当前数据库表空间状况
       :dba_tablespaces
查看用户的系统权限
    :user_sys_privs
查看某个用户对另外一个用户授予的权限
       :user_tab_privs_made
查看某个用户对另外一个用户授予的列级权限
:      user_col_privs_made
查看某个用户接受的权限
:          user_tab_privs_recd
查看某个用户接受的列级权限
:   user_col_privs_recd
查看有关用户的角色信息
:   user_role_privs
查看有关授予某个角色的系统权限信息
:   role_sys_privs
查看有关授予某个角色的对象权限信息
    :role_tab_privs
查看当前用户所拥有的表信息
:   user_tables
查看当前用户有权限访问的表信息
:   all_tables
查看当前用户所拥有的所有表的列信息
    :user_tab_columns
查看当前用户可以访问的表中的列信息
:   all_tab_columns
查看当前用户所拥有的所有约束信息
:      user_constraint
查看当前用户所拥有的所有约束和列的关系
:   user_cons_constraint
查看表中注释内容
:      user_tab_comments
查看表中列注释内容:
       user_col_comments
提供练习的表
:dual
查看相关时区的名称和简称
:      v$timezone_names

.表空间和作用

system
表空间:     记录运行信息
.
sysaux
表空间:     存储支持Oracle系统活动的许多工具和选项
.
temp
表空间:        存储中间结果
.
undo
表空间:        存储事物提交或撤消的改变数据
.

.默认用户角色

DBA:            
执行数据库中所有的操作

connect:       
可以执行数据库连接等操作

resource:     
可以执行使用数据库资源等操作

select_catalog_role:  
可以执行select操作

OLAP_DBA:               
可以执行与表,视图有关的操作

scheduler_admin:             
可以执行作业管理等操作

exp_full_database:    
可以执行引出数据库等操作

imp_full_database:    
可以执行引入数据库等操作


.权限

系统权限:      可以执行数据库中某些操作的权限称为系统权限.
:create table
create user
系统权限:               拥有此权限才可以创建用户

create session
系统权限:          拥有此权限的用户可以连接数据库

create any table
系统权限:        在任意模式中创建表

create synonym
系统权限:        可以创建同意词

execute any procedure
系统权限:    执行任何过程

create role
系统权限:                       可以创建角色

drop any table
系统权限:                  可以删除任何表

创建用户:
create user 用户名
identified by 口令
[default tablespance 默认表空间]
[temporary tablespace 临时表空间]
修改用户口令:
alter user 用户名
identified by 新密码
锁定用户和解锁用户:
alter user 用户名 account [lock|unlick]
修改用户默认表空间:
alter user 用户名
default tablespace 新表空间名
[temporary tablespace 新临时表空间名]
删除用户:
drop user 用户名 [cascade]
如果当前用户拥有对象则必须加上 cascade
为用户授以系统权限:
grant 系统权限1[,系统权限2,系统权限3.....] to 用户名 [with admin option]
如果允许用户把权限转受于其它用户则要加上with admin option
收回授予的系统权限:
revoke 系统权限1[,系统权限2,系统权限3.....] from 用户名
在收回权限时,被当前用户所转授的权限不会被收回
对象权限:
针对数据库中的表,视图等对象的权限为对象权限
.:select insert update delete execute
为用户授予对象权限:
grant 对象权限[(列名称)] on 对象名 to 用户名 [with grant option]
如果允许用户把权限转受于其它用户则要加上with grant option
收回授予的对象权限:
revoke 对象权限 on 对象名 from 用户名
收回权限只能从表上收回,不能从列上收回,在权限被收回时,被该用户转授的权限也会被收回
创建同义词:
create [public] synonym 同义词名 for 对象名
public代表所有用户都可以使用公共同义词
角色:角色是一组可以授予用户和其它角色的权限,一个用户可以拥有多种角色

创建角色:
create role 角色名 [identified by 角色口令]
授予角色权限:
类似授予用户权限
收回角色:
drop role 角色名