Oracle
数据库的管理
1. Oracle 9i
中两个最重要的用户 sys
和 system
下面分析二者的区别
(1)
存储的数据的重要性不同
sys
存放所有oracle
用户的数据字典的基表和动态视图,这些基表和视图对于oracle
的运行是至关重要的,由oracle
自己维护,任何用户都不能手动更新。sys
用户具有dba
、sysdba
、sysoper
的角色,是oracle
权限最高的用户
system
存放次一级的数据,如oracle
的一些特性或工具的管理 信息,具有dba
、sysdba
角色
(2)
权限不同
sys
必须以as sysdba
或者
as sysoper
登陆,不能以normal
登陆
system
如果不加as sysdba
登陆,就是一个普通的dba
用户,否则其实是以sys
用户登陆的
(3)
sysdba
和sysoper
角色具有的权限
sysdba
|
sysoper
|
启动数据库
|
启动数据库
|
关闭数据库
|
关闭数据库
|
Alter database open/mount/backup
|
Alter database open/mount/backup
|
改变字符集
|
No
|
Create database
|
No
|
Drop database
|
No
|
Create spfile
|
Create spfile
|
Alter database archivelog
(归档日志)
|
Alter database archivelog
(归档日志)
|
Alter database recorver
(恢复数据库)
|
只能完全恢复,不能执行不完全恢复
|
拥有 restricted session
(会话限制)的权限
|
拥有 restricted session
(会话限制)的权限
|
可以让用户作为sys
用户连接数据库
|
可以进行一些基本操作,但不能查看用户数据
|
登陆之后是sys
|
登陆之后是PUBLIC
|
(4
)DBA
权限的用户只有在数据库启动之后才能进行各种管理操作
2.
显示初始化参数
Show parameter
如果想修改这些参数(数据库调优的时候),需要到 \oracle\admin\’
你的数据库实例名称’\pfiel\init.ora
中去修改
3.
数据库的备份
物理备份:直接复制,数据库关闭的情况下仍然可以
逻辑备份:使用命令,将数据导出,只能在数据库open
的情况下
导出分3
种:导出表、导出方案、导出数据库
导出表
exp userid=scott/scott@ORCL
tables=(tb1,tb2) file=D:\ddd.dmp
(导出别的方案的表时,需要加 限定 scott.emp
,
需要DBA
权限或者exp_full_database
的权限
)
只是导出表结构
:exp userid=scott/scott@ORCL
tables=(tb1,tb2) file=D:\ddd.dmp
rows=n
使用直接导出方式:exp
userid=scott/scott@ORCL tables=(tb1,tb2) file=D:\ddd.dmp
direct=y
,
速度比较快,但是要求数据库字符集与客户端字符集一致
导出方案
exp userid=scott/scott@ORCL
owner=(scott)
file=D:\ss.dmp
导出其他方案
exp userid=system/manager@ORCL
owner=(system,scott)
file=D:\ss.dmp
,
需要DBA
权限或者exp_full_database
的权限
导出整个数据库
exp userid=system/manager@ORCL
full=y
inctype=complete
file=D:\ff.dmp
需要DBA
权限或者exp_full_database
的权限 inctype=complete
表示增量备份,第一次备份不会有影响,下一次的时候会快
导入常用的指令
Fromuser
用于指定源用户
Touser
用于指定目标用户
Inctype
用于指定执行导入操作的增量类型
Ignore
如果表存在,则只导入数据
导入和导出相似
用那个用户导入,那么数据对象就存在于那个用户(方案)下
导入自身方案: imp scott/scott
file=D:\dddd.dmp
导入其他方案: imp system/manager
file=D:\dddd.dmp fromuser=system touser=scott
要求该用户具有DBA
权限
4
. 数据字典
(1)
是Oracle
数据库最重要的组成部分,提供数据库的系统信息,是静态的。是只读表和视图集合,数据字典的所有者为sys
用户,用户只能查询,维护和修改由系统自动完成
(2)
数据字典包括数据字典基表和数据字典视图。基表存储数据库的基本信息,普通用户不能直接访问;视图是基于基表的视图,普通用户可以通过视图获得系统信息。
(3
)数据字典视图主要包括 user_XXXX
、all_XXXX
、dba_XXXX
查询本用户的所有表 select table_name
from user_tables;
查询本用户能访问的所有表: select
table_name from all_tables;
查询数据库的所有表(DBA
权限或select any table
的权限):select table_name from
dba_tables;
(4
) 在建立用户时,oracle
会把用户信息存储在数据字典中;当给用户授权时,也会想相应信息存储在数据字典中
DBA_USERS
数据库用户视图
DBA_SYS_PRIVS
用户具有的系统权限视图
DBA_TAB_PRIVS
用户具有的对象权限视图
DBA_COL_PRIVS
用户具有的列权限视图
DBA_ROLE_PRIVS
用户具有的角色视图
DBA_ROLES Oracle
具有的角色
(5
) 如何查询角色包含的权限
其实是查询该角色的对象权限和系统权限,以DBA
角色为例
系统权限:select * from dba_sys_privs where grantee = ‘DBA’(
或者从role_sys_privs
视图中)
对象权限:select * from dba_tab_privs where grantee = ‘DBA’
(6
) 显示当前用户可以访问的数据字典视图(只有这一条语句,上面的全部解决)
Select
* from DICT where comments like ‘%grant%’
5.
动态性能视图,记载了例程启动后的相关信息
启动oracle
时,系统建立动态性能视图,关闭是删除
动态性能视图的所有者为sys
1.
表空间
(1
) 表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在文件中,从逻辑上讲,数据库存在表空间中。表空间由一个或者多个数据文件组成。
Oracle
的逻辑结构由表空间、段、区、块构成。表空间个数不受限制。数据库逻辑上是由多个表空间构成的、段构成表空间、区构成段、块构成区
(2
)
表空间的作用
a)
控制数据库占用的磁盘空间
b)
DBA
可以将不同的数据类型放在不同的表空间中,提高I/O
性能,有利于备份 和恢复数据
(3
) 创建表空间
由特权用户或者DBA
用户,或者具有CREATE TABLESPACE
系统权限 的用户
CREATE TABLESPACE
tp01
DATAFILE
‘D:\dd.dbf’
size
=20M
uniform
=128K
上述命令创建名为tp01
的表空间,并为该表空间简历名为dd.dbf
的数据文件,大小 为20M
(指定的时候不能超过500M
,如果不够可以扩展,但这里不能超过500M
),区的大小为128K
(4)
改变表空间状态
a)
脱机(不可访问) alter tablespace tsName offline;
b)
联机 alter tablespace tsName online;
c)
只读(只能是普通表空间,不能是系统表空间。表空间下数据对象变为只读) alter tablespace
tsName read only;
d)
读写 alter tablespacce tsName read write;
(5)
删除表空间
Drop tablespace tsName including contents and
datafiles
Including contents
表示删除表空间的时候同时删除数据对象,datafiles
表示连同数据文件一并删除
(6)
扩展表空间
表空间由数据文件构成,表空间的大小实际上是数据文件大小相加的后的大小。
a)
增加数据文件
Alter tablespace tsName add datafile =
‘D:\ddd.dbf
’ size 20M
(不能超过500M
)
b)
改变数据文件大小 Alter tablespace tsName
‘D:\dd.dbf
’ resize 200M
(不能超过500M
)
c)
设置文件自动增长
Alter tablespace tsName dataflie
‘D:\dd.dbf
’autoextend on next 10M
maxsize 500M
(7)
移动数据文件
a)
表空间脱机 alter tablespace tsName offline;
b)
移动数据文件到指定位置
sql>host move D:\ts00001.dbf E:\ts999.dbf
c)
修改表空间数据文件
Alter tablespace tsName rename datafile ‘D:\ts000001.dbf’
to ‘E:\ts999.dbf’
d)
表空间联机 alter tablespace tsName online
8.
索引
(1
)
user_constraints
显示当前用户约束信息
user_cons_columns
显示约束所对应的列
(2
)user_index
显示用户的索引
dba_index
显示所有索引
user_ind_columns
显示索引对应的列
(3
)oracle
会为 unique
字段自动加unique
索引
9.
权限
(1
) 系统权限:是指执行特定类型SQL
命令的权限。比如用户具有create table
系统权限的时候,可以在自己的方案中建表,具有create any table
系统权限,可以在任何方案中建表
a)
系统权限的查看
select * from
system_privilege_map
b)
一般由DBA
授予用户系统权限,或是具有grant any privilege
的系统权限的用户,可以带有 with admin
option
,代表权限可以继续下放
grant
priv_1 [,priv_2 ] to aUser [ with admin option ]
10.
角色:相关权限的命令集合
几个重要的系统预定义角色
(1)
connect
角色
该角色具有一般应用开发人员需要的大部分权限
alter session
修改会话
create cluster
create database link
create session
连接数据库
create table
create view
create squence
(2)
rescource
角色
该角色隐含了unlimited tablespace
的系统权限
Create cluster
Create indextpye
Create table
Create sequence
Create type
Create procedure
Create trigger
(3)
dba
角色
具有几乎所有系统权限,及 with admin option
选项,但是不具备sysdba
和 sysoper
权限(启动和关闭数据库)
自定义角色(一般由DBA
定义,或者具有create role
系统权限的用户)
(1)
建立角色(不需验证)
Create role
角色名 not identified
(2)
建立角色(需验证)
Create role
角色名identified by
密码
(3)
给角色授权
和给用户授权区别不大,但是系统权限 unlimited tablespace
和对象权限的 with grant option
不能授予角色
(4)
删除角色
DBA
或者 具有 drop any role
的系统权限
(5)
显示所有角色(包含预定义和自定义) Select * from dba_roles
角色具有点的系统权限 select * from role_sys_privs
where role=’
角色名’
角色具有的对象权限或者列权限 dba_tab_privs
某个用户具有的角色 dba_role_privs
where grantee=’
用户名’
分享到:
相关推荐
这个“Oracle 9I入门”教程旨在帮助初学者理解和掌握Oracle数据库的基础知识,包括安装、配置、基本操作以及SQL查询语言的使用。 首先,让我们从Oracle 9I的安装开始。安装过程包括服务器端的Oracle数据库软件安装...
《Oracle9i入门与提高(中文版)》是一本针对初学者和有一定基础的数据库管理员设计的教程,全面覆盖了Oracle9i的核心概念、安装配置、管理操作、SQL语言使用以及数据库开发等多个方面。这本书籍旨在帮助读者快速掌握...
Oracle9i入门手册是针对初学者的一份详细指南,它涵盖了Oracle数据库系统的基础知识和核心功能,特别是关于Oracle9i版本的内容。Oracle9i是Oracle公司推出的数据库管理系统的一个重要版本,它在性能、可伸缩性和安全...
以上内容构成了Oracle 9i入门的经典教程,涵盖了数据库管理员需要掌握的基本技能。通过深入学习和实践,初学者可以逐步熟悉Oracle 9i的各个功能,并具备解决常见问题的能力。在实际操作中,结合“Oracle 9i中文版...
在Oracle9i中,安装和配置是入门的第一步。教程可能会讲解如何在不同操作系统环境下安装数据库服务器和客户端工具,包括设置环境变量、创建监听器、配置网络服务名等。理解这些步骤对于后续的数据库管理和维护至关...
Oracle9i入门教程是为初学者设计的一份全面指南,旨在帮助用户理解并掌握Oracle数据库的基础操作和管理。 **一、Oracle数据库基础** Oracle9i的基础概念包括:数据库、表空间、数据块、段、表、索引、视图等。...
《ORACLE9i入门与实践》是一本专为初学者设计的Oracle数据库教程,它旨在帮助读者快速掌握Oracle 9i的基本操作和管理技巧。Oracle是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。Oracle 9i是...
6. **PL/SQL增强**:Oracle 9i在PL/SQL(Oracle的编程语言)中添加了新的特性,如游标FOR循环、异常处理增强和内置的XML支持,使开发更加方便。 7. **安全性**:Oracle 9i增强了安全性,提供了角色权限管理、审计...
总的来说,Oracle9i入门基础涵盖了数据库安装、管理、安全、编程和性能优化等多个方面。通过深入学习这些知识点,初学者可以逐步建立起对Oracle数据库系统全面的理解,并为将来进一步的数据库管理和开发工作打下坚实...
Oracle9i PL/SQL从入门到精通
Oracle 9i的安装和配置是入门的第一步。在教程中,你会学习如何在不同操作系统环境下安装数据库服务器,设置监听器,以及配置网络服务名。理解Oracle的实例和数据库的概念也很关键,实例是运行时内存结构,而数据库...
总结来说,"Oracle9I入门资料 初学者宝典"涵盖了Oracle数据库的基础知识,包括数据库创建与管理、SQL语言、安全性、性能优化、备份恢复和网络配置等内容。通过深入学习和实践这些知识,你将能够熟练地操作Oracle 9i...
《Oracle+9i基础教程(第2版)》是一本专为初学者设计的Oracle数据库入门教程,旨在帮助读者理解数据库的基本概念,并掌握Oracle 9i的使用。书中的内容涵盖了从数据库理论到实际操作的各个方面,对于学习Oracle数据库...
总之,《Oracle9i+PL_SQL从入门到精通》是一本全面覆盖Oracle9i数据库系统和PL/SQL编程的教程,无论你是初学者还是希望进一步提升技能的数据库管理员或开发者,都能从中获益。通过这本书的学习,你可以逐步掌握...
标题《Oracle编程入门经典覆盖至Oracle9i版本_***》和描述中提到的内容,我们可以提取以下知识点: 1. Oracle编程入门知识: - Oracle数据库简介:Oracle是全球最大的企业级数据库厂商,Oracle数据库以其稳定性、...
Oracle编程入门经典覆盖至Oracle9i版本【PDF版】
"构建环境--安装ORACLE9i02.pdf"进一步深入到数据库的安装和配置过程。这将涵盖网络配置、安全设置、初始化参数文件的编辑,以及启动和关闭数据库服务等实际操作。这些知识对于在实际环境中部署Oracle数据库至关重要...
Oracle 9i中文版基础培训教程 第1章 从零开始--Oracle 9i基础 第2章 构建环境--安装Oracle 9i 第3章 管理入门--数据库服务器的管理 第4章 数据库利器--SQL 第5章 只能管理--用好集成管理环境 第6章 运行维护--DBA的...
Oracle9i的开发学习资料,PDF中文版,非扫描版,13章全,附带8个章节使用的SQL语句和代码。 第一章 从零开始 Oracle9i基础 第二章 构建环境 安装Oracle9i 第三章 管理入门 数据库服务器的管理 第四章 数据利器 SQL ...
Oracle编程入门经典覆盖至Oracle9i版本 目录 这是目录部分,下面还有内文