日期:2014-05-16  浏览次数:20472 次

oracle 逻辑结构

???????????????????????????????

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 o