`
flashsnow
  • 浏览: 29856 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

oracle 9i 入门(初级教程)-----6

阅读更多

Oracle 数据库的管理

1. Oracle 9i 中两个最重要的用户 sys system

    下面分析二者的区别

(1)       存储的数据的重要性不同

sys 存放所有oracle 用户的数据字典的基表和动态视图,这些基表和视图对于oracle 的运行是至关重要的,由oracle 自己维护,任何用户都不能手动更新。sys 用户具有dbasysdbasysoper 的角色,是oracle 权限最高的用户

system 存放次一级的数据,如oracle 的一些特性或工具的管理 信息,具有dbasysdba 角色

(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

   

4DBA 权限的用户只有在数据库启动之后才能进行各种管理操作

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_XXXXall_XXXXdba_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.dbfautoextend 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 显示约束所对应的列

2user_index 显示用户的索引

     dba_index 显示所有索引

      user_ind_columns 显示索引对应的列

3oracle 会为 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 入门.rar 教程

    这个“Oracle 9I入门”教程旨在帮助初学者理解和掌握Oracle数据库的基础知识,包括安装、配置、基本操作以及SQL查询语言的使用。 首先,让我们从Oracle 9I的安装开始。安装过程包括服务器端的Oracle数据库软件安装...

    Oracle9i入门与提高(中文版)

    《Oracle9i入门与提高(中文版)》是一本针对初学者和有一定基础的数据库管理员设计的教程,全面覆盖了Oracle9i的核心概念、安装配置、管理操作、SQL语言使用以及数据库开发等多个方面。这本书籍旨在帮助读者快速掌握...

    oracle9i入门手册

    Oracle9i入门手册是针对初学者的一份详细指南,它涵盖了Oracle数据库系统的基础知识和核心功能,特别是关于Oracle9i版本的内容。Oracle9i是Oracle公司推出的数据库管理系统的一个重要版本,它在性能、可伸缩性和安全...

    Oracle 9i入门经典教程

    以上内容构成了Oracle 9i入门的经典教程,涵盖了数据库管理员需要掌握的基本技能。通过深入学习和实践,初学者可以逐步熟悉Oracle 9i的各个功能,并具备解决常见问题的能力。在实际操作中,结合“Oracle 9i中文版...

    Oracle9i中文基础教程

    在Oracle9i中,安装和配置是入门的第一步。教程可能会讲解如何在不同操作系统环境下安装数据库服务器和客户端工具,包括设置环境变量、创建监听器、配置网络服务名等。理解这些步骤对于后续的数据库管理和维护至关...

    Oracle9i入门教程(PDF版)

    Oracle9i入门教程是为初学者设计的一份全面指南,旨在帮助用户理解并掌握Oracle数据库的基础操作和管理。 **一、Oracle数据库基础** Oracle9i的基础概念包括:数据库、表空间、数据块、段、表、索引、视图等。...

    ORACLE9i入门与实践

    《ORACLE9i入门与实践》是一本专为初学者设计的Oracle数据库教程,它旨在帮助读者快速掌握Oracle 9i的基本操作和管理技巧。Oracle是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。Oracle 9i是...

    oracle9i初学者入门教程下载

    6. **PL/SQL增强**:Oracle 9i在PL/SQL(Oracle的编程语言)中添加了新的特性,如游标FOR循环、异常处理增强和内置的XML支持,使开发更加方便。 7. **安全性**:Oracle 9i增强了安全性,提供了角色权限管理、审计...

    Oracle9I入门基础

    总的来说,Oracle9i入门基础涵盖了数据库安装、管理、安全、编程和性能优化等多个方面。通过深入学习这些知识点,初学者可以逐步建立起对Oracle数据库系统全面的理解,并为将来进一步的数据库管理和开发工作打下坚实...

    Oracle9i PL/SQL从入门到精通

    Oracle9i PL/SQL从入门到精通

    oracle9i基础教程ppt .rar

    Oracle 9i的安装和配置是入门的第一步。在教程中,你会学习如何在不同操作系统环境下安装数据库服务器,设置监听器,以及配置网络服务名。理解Oracle的实例和数据库的概念也很关键,实例是运行时内存结构,而数据库...

    oracle9I入门资料 初学者宝典

    总结来说,"Oracle9I入门资料 初学者宝典"涵盖了Oracle数据库的基础知识,包括数据库创建与管理、SQL语言、安全性、性能优化、备份恢复和网络配置等内容。通过深入学习和实践这些知识,你将能够熟练地操作Oracle 9i...

    Oracle+9i基础教程(第2版)pdf

    《Oracle+9i基础教程(第2版)》是一本专为初学者设计的Oracle数据库入门教程,旨在帮助读者理解数据库的基本概念,并掌握Oracle 9i的使用。书中的内容涵盖了从数据库理论到实际操作的各个方面,对于学习Oracle数据库...

    Oracle9i+PL_SQL从入门到精通

    总之,《Oracle9i+PL_SQL从入门到精通》是一本全面覆盖Oracle9i数据库系统和PL/SQL编程的教程,无论你是初学者还是希望进一步提升技能的数据库管理员或开发者,都能从中获益。通过这本书的学习,你可以逐步掌握...

    Oracle编程入门经典覆盖至Oracle9i版本_11120819

    标题《Oracle编程入门经典覆盖至Oracle9i版本_***》和描述中提到的内容,我们可以提取以下知识点: 1. Oracle编程入门知识: - Oracle数据库简介:Oracle是全球最大的企业级数据库厂商,Oracle数据库以其稳定性、...

    Oracle编程入门经典覆盖至Oracle9i版本【PDF版】

    Oracle编程入门经典覆盖至Oracle9i版本【PDF版】

    oracle9i中文版基础培训教程-1

    "构建环境--安装ORACLE9i02.pdf"进一步深入到数据库的安装和配置过程。这将涵盖网络配置、安全设置、初始化参数文件的编辑,以及启动和关闭数据库服务等实际操作。这些知识对于在实际环境中部署Oracle数据库至关重要...

    Oracle.9i中文版基础教程

    Oracle 9i中文版基础培训教程 第1章 从零开始--Oracle 9i基础 第2章 构建环境--安装Oracle 9i 第3章 管理入门--数据库服务器的管理 第4章 数据库利器--SQL 第5章 只能管理--用好集成管理环境 第6章 运行维护--DBA的...

    Oracle9i开发文档

    Oracle9i的开发学习资料,PDF中文版,非扫描版,13章全,附带8个章节使用的SQL语句和代码。 第一章 从零开始 Oracle9i基础 第二章 构建环境 安装Oracle9i 第三章 管理入门 数据库服务器的管理 第四章 数据利器 SQL ...

    Oracle编程入门经典覆盖至Oracle9i版本目录

    Oracle编程入门经典覆盖至Oracle9i版本 目录 这是目录部分,下面还有内文

Global site tag (gtag.js) - Google Analytics