`
lms168
  • 浏览: 60311 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

oracle数据库管理-数据字典

阅读更多

     数据字典是oracle数据库中最重要的组成部分,他提供了数据的一些系统信息

     动态性能视图记载了例程启动后的相关信息

 

     数据字典

     数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户

     用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的

 

 

     这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表数据字典视图是基于数据字典基表所建立的视图普通用户可以通过查询数据字典视图取得系统信息,数据字典视图主要包括user_xxx,all_xxx,dba_xxx三种类型

      user_tables

      用于显示当前用户所拥有的所有表,它只返回所对应方案的所有表

       比如;select table_name from user_tables;

       all_tables

      用于显示当前用户可以访问的所有表,他不仅会返回当前当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表

      比如:select table_name from all_tables;

      dba_tables

      他会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须是dba角色或是有select any tables系统权限,例如:当用system用户查询数据字典视图dab_tables时,会返回system,sys,scott,.....方案所对应的数据库表

 

       用户名,权限,角色

       在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色的信息存放到数据字典中

       通过查询dba_users可以显示所有数据库用户的详细信息

       通过查询数据字典视图dba_sys_privs可以显示用户所具有的系统权限

       通过查询数据字典视图dba_tab_privs可以显示用户具有的对象权限

       通过查询数据字典dba_col_privs可以显示用户具有的列权限

       通过查询数据库字典视图dba_role_privs可以显示用户所具有的角色

 

 

        角色由很多权限组成,当把一个角色分配给某个用户后,该用户就拥有了很多的权限 ,权限分为对象权限和系统权限

 

         查询oracle中所有的角色一般是dba

         select * from dba_roles;

         查询oracle中所有的系统权限,一般是dba

         select * from system_privilege_map order by name;

         查询oracle中所有的对象权限,一般是dba

         select distinct privilege from dba_tab_privs;

         查询数据库的表空间

         select tablespace_name from dba_tablespaces;

 

1.如何查询一个角色包含的权限

     a.一个角色包好的系统权限

     select * from dba_sys_privs where grantee='CONNECT';

      或是

      select * from role_sys_privs where role='CONNECT';

     b.一个角色包含的对象权限

     select * from dba_tab_privs where grantee='CONNECT';

 

2.oracle究竟有多少中角色

     select * from dba_roles;

 

3.如何查看某个用户具有什么角色

select * from dba_role_privs where grantee='SCOTT';

 

显示当前用户可以访问的所有数据字典视图

select * from dict comments like '%grant%';

显示当前数据库的全称

select * from global_name;

 

 

----------------------------管理表空间和数据文件------------------------------

介绍,数据库则是存放

表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中的,表空间由一个或是多个数据文件组成。

 

oracle中逻辑结构包括表空间,段,区和块

数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由oracle块构成的这样的一种结构,可以提高数据库的效率。   

表空间用于从逻辑上组织数据库的数据,数据库逻辑上是由一个或多个表表空间组成的,通过表空间可以 达到以下作用;

(1)控制数据库占用的磁盘空间

(2)dba可以将不同数据类型部署到不同的位置,这样有利于提高i/0性能,同时利于备份和恢复等管理操作

 

建立表空间

建立表空间是使用create tablespace命令完成的,需要注意的是,一般情况下,建立表空间是特权用户或是dba来执行的,如果其它用户想要建立表空间,则用户必须具有create tablespace的系统权限

建立数据表空间

在建立数据库后,为便于管理表,最好建立自己的表空间,create tablespace data01 datafile 'd:\test\data01.dbf' size 20m uniform size 128k

说明:执行完上述命令后,会建立名称为data01 的表空间,并为该表空间建立名称为data01.dbf的数据库文件,区的大小为128k

使用表空间

create table mypart(deptno number(4),dname varchar2(14) ,loc varchar2(13))tablespace data01;

 

 

 改变表空间的状态

当建立表空间时,表空间处于联机(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句,但是在进行系统维护或是数据维护时,可能需要改变表空间的状态,一般情况下,有特权用户或是dba来操作

(1)使表空间脱机

alter tablespace 表空间名 offline;

(2)使表空间联机

alter tablespace 表空间 online;

(3)只读表空间

当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert操作,那么可以将表空间修改为只读,alter tablespace 表空间名 read only;

<4使表空间可读写

alter tablespace 表空间名 read write;

    <1知道表空间名,显示表空间包括的所有表

      select * from all_tables where tablespace_name='表空间名'

      <2知道表名,查看表属于那个表空间

      select tablespace_name,table_name from user_tables where tale_name='emp';

通过<2可以知道scott.emp是在system这个表空间上,现在我们可以将system改为只读的但是不会成功,因为system是系统表空间,如果是普通表空间,那么我们就可以将其设为只读的

 

 

删除表空间

一般情况下,由特权用户或是dba来操作,如果其它用户操作,那么要求用户具有drop tablespace系统权限

drop tablespace ‘表空间’ including contents and datafiles

说明;including contents表示删除表空间时,删除该表空间的所有数据库对象,而datafiles表示将数据库文件也删除

 

扩展表空间

表空间是由数据文件组成的,表空间的大小实际上就是数据文件相加后的大小,那么我么可以想象,假定表employee存放到data01表空间上,初始大小是2m,当数据满2m空间后,如果在向employee表插入数据,这样就会显示表空间不足的错误,此时需要扩展表空间,扩展表空间的方式有三种

(1)增加数据文件

alter tablespace sp01 add  datafile 'd:\test\sp01.dbf' size 20m

(2)增加数据文件的大小

alter  tablespace 表空间名  'd:\test\sp01.dbf'  resize 20m

(3)设置文件自动增长

alter tablespace 表空间名 'd:\test\sp01.dbf' autoextend on next 10m maxsize 500m;

 

移动数据库文件

有时,如果你的数据文件所在的磁盘损坏时,该数据文件将不能再使用,为了能够重新使用,需要将这些文件的副本移到其它的磁盘,然后恢复,例如移动数据库文件sp001.dbf为例来说明

<1确定数据文件所在的表空间

select tablespace_name from dba_data_files where file_name='d:\sp001.dbf';

<2使表空间脱机

确保数据文件的一致性,将表空间转变为offline的状态

alte tablespace sp01 offline

<3使用命令移动数据文件到指定的目标位置

host move d:\sp01.dbf c:\sp01.dbf

<4执行alter tablespace命令

在物理上移动了数据后,还必须执行alter tablespace命令对数据库文件进行逻辑修改

alter tablespace sp01 rename datafile 'd:\sp001.dbf' to 'c;\sp01.dbf';

<5使的表空间联机

在移动了数据文件后,为了使用户可以访问该表空间,必须将其转变为online状态

alter tablespace sp01 online

 

分享到:
评论

相关推荐

    Oracle数据库基础教程-参考答案

    数据库管理系统的主要功能包括:数据定义、数据操纵、数据库运行与控制、数据库建立与维护、数据字典定义以及数据通信等。数据库管理系统的内部分多个层次,由应用层、语言定义及其翻译处理层、数据存取层、数据存储...

    oracle 数据库常用数据字典梳理.docx

    oracle数据库常用数据字典梳理,包括数据表、索引、数据文件、表空间等等... ....呕心整理,实践证明非常实用,请多给分,谢谢!

    Oracle9i 数据库管理基础

    课程目标I-2 Oracle9i 企业版I-3 数据库管理员的任务I-4 1 Oracle 体系结构组件 ...数据字典高速缓存1-17 数据库缓冲区高速缓存1-18 重做日志缓冲区1-21 大型共享池1-22 Java 池1-24 程序全局区1-25

    Oracle数据库数据字典

    Oracle数据库数据字典Oracle数据库数据字典

    Oracle EBS中文数据字典.pdf

    Oracle EBS中文数据字典.pdf

    从oracle生成表的数据字典方法

    从oracle数据库中的中comment生成excel格式的数据字典

    oracle 导出数据字典的小工具

    oracle 导出数据字典的小工具 能导成word形式的带表格的数据字典,非常好用从网上转载的

    讲解Oracle数据库中的数据字典及相关SQL查询用法

    Oracle数据字典概述    数据库是数据的集合,数据库维护和管理这用户的数据,那么这些用户数据表都存在哪里,用户的信息是怎样的,存储这些用户的数据的路径在哪里...Oracle的数据字典是Oracle数据库安装之后,自动创

    Oracle数据库管理员技术指南

    1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 ...

    Oracle 数据库管理脚本命名规范

    数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完成的。当采用Oracle统一安装器(Oracle Universal Installer)创建数据库时,Oracle服务器有关的字典视图和脚本最后会被自动安装。但...

    Oracle数据库辅助数据字典的实现.pdf

    Oracle数据库辅助数据字典的实现.pdf

    oracle实用教程-韩顺平

    11.数据字典和动态性能视图 12.数据库管理 -- 管理表空间和数据文件 13.约束 14.Oracle 索引、权限 15.角色 16.PL/SQL 块的结构和实例 17.pl/sql 分类 -- 过程,函数,包,触发器 18.定义并使用变量,复合类型 19...

    Oracle数据库学习指南

    13. Oracle常用数据字典 14. ORACLE回滚段管理(上) 15. ORACLE回滚段管理(下) 16. Oracle基于Client-Server的性能调整 17. Oracle数据库的安全策略 18. ORACLE数据库简介 19. Oracle数据库密码文件的使用...

    实验2 Oracle数据库体系结构.doc

    实验2 Oracle数据库体系结构.doc

    Oracle数据字典

    数据字典是oracle数据库用来存贮数据库结构信息的地方。 数据字典是用来描述数据库数据的组织方式的,由表和视图组成。 数据字典由脚本$oracle_home/rdbms/admin/catalog.sql创建。

    SQL Server-My SQL-Oracle数据字典生成工具chm.zip

    数据字典生成工具,用于生成 数据库表 及字段说明,主要特征如下: 1、支持的数据库类型:SQL Server 2005+,My SQL,Oracle; 2、支持的文档类型:HTML,CHM,WORD; 3、基于Open XML ,不用安装 MS Office,WPS 也可以生产...

    Oracle数据库管理员经常使用的表和视图

    Oracle数据库管理员经常使用的表和视图

    炼数成金 课程+教材 Oracle数据库职业直通车-Oracle入门学习教学视频 谭怀远老师.txt

    第1课 轻松带你走进Oracle数据库的世界 第2课 从最简单的SQL语句开始 第3课 Oracle数据库的安装和...第10课 数据字典 第11课 数据库的备份和恢复 第12课 DBA日常工作内容和职责 第13课 Oracle的内存结构与后台进程

    Oracle数据库管理

    Oracle数据库管理(数据字典).pptOracle数据库管理(数据字典).ppt

Global site tag (gtag.js) - Google Analytics