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
角色名