Oracle数据库管理脚本介绍

原创 2007年10月09日 09:44:00
Oracle中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终用户、应用的设计开发者到数据库管理员)的非常重要的信息来源。数据字典的创建,是在Oracle数据库创建完毕后,运行一些相关的数据库管理脚本来完成的。当采用Oracle统一安装器(Oracle Universal Installer)创建数据库时,Oracle服务器有关的字典视图和脚本最后会被自动安装。但当需要升级目前的Oracle数据库服务器时,数据库管理员必须要手工重新运行创建这些视图或脚本的SQL。安装完数据库后,Oracle数据库管理脚本就存放在操作系统中。对于UNIX和NT操作系统,分别位于不同的物理目录下,见表1所示:

操作系统 脚本目录位置 
UNIX $ORACLE_HOME/rdbms/admin 
NT %ORACLE_HOME%/rdbms/admin 

  Oracle中几乎所有的系统管理脚本都保存在该文件目录下,该目录下含有上百个不同文件。这些不同的文件都有什么作用呢?本文将详细讨论组成Oracle数据库管理脚本的命名规范。这样用户看到某个文件大概就可以知道该文件主要用途是什么。该目录下的文件按照功能不同可分为4大类,Oracle为了容易区分这几类不同的文件,对于文件的命名遵从一定的规则。见表2所示。

命名规则 功能描述 
cat*.sql 关于目录和数据字典信息 
dbms*.sql 数据库中关于包的说明 
prvt*.plb 加密过的包代码 
utl*.sql 数据库其他功能的表和视图 
(表2 数据库管理脚本命名规范)

下面来详细介绍这四种不同类型的脚本功能:

  1、cat*.sql 脚本

  该类脚本主要用于创建数据字典视图。其中,脚本catalog.sql 和 catproc.sql 是创建数据库后必须要运行的两个脚本。这两个脚本的功能说明见表3所示。

脚本 脚本说明 
catalog.sql 创建系统常用的数据字典视图和同义词 
catproc.sql 运行服务器端所需要的PL/SQL脚本 
(表3 创建数据字典视图脚本说明)

  (1) catalog.sql 

  该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:

  基本PL/SQL环境,包括PL/SQL的声明:

   - 数据类型

   - 预定义例外

   - 内建的过程和函数

   - SQL操作等

  审计

  导入/导出

  SQL*Loader

  安装选项

  (2)catproc.sql

  该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:

  警告(Alerts)

  管道(Pipes)

  日志分析(LogMiner)

  大对象(Large objects)

  对象(Objects)

  高级队列(Advanced queuing)

  复制选项( Replication option)

  其他的一些内建包和选项(Other built-ins and options)

  (3)其他脚本

  在该目录下还有其他一些脚本用来扩展Oracle数据库服务器功能。如,catadt.sql 脚本用来创建RDBMS中用来显示兆数据信息的数据字典视图。catnoadt.sql 脚本用来删除这些表和视图。

  2、dbms*.sql 和 prvt*.plb 脚本

  这两类脚本用来创建扩展Oracle服务器功能的系统预定义的一些Oracle包的对象。这些程序均用来完成数据库管理任务。大多数的SQL脚本在运行catproc.sql脚本时被执行。一些额外的脚本必须由数据库管理员另外单独执行。例如,dbmspool.sql 脚本,用来显示在共享池中对象的大小并且为了减少共享池碎块可以将其在SGA中标记为保持或可删除。

  3、utl*.sql 脚本

  该类脚本只有在数据库需要另外的视图和表时才需要运行。例如,脚本utlxplan.sql,用来创建一个表,该表用于观察SQL语句的运行计划(Execution Plan)。 

  需要注意的是,绝大多数数据库管理脚本都必须在用户SYS下运行。数据库管理员如果打算运行这些脚本,最好首先阅读脚本内容中的相关信息,了解应该以什么用户来运行这些脚本。
 

使用升级脚本进行数据库版本管理及发布

本文转载于:http://jishu.zol.com.cn/14058.html 1、简介   数据库升级经常被拖到发布任务的“收官阶段”,它经常被留在整个项目的最后,或者是发布前的最后一个spr...
  • gsying1474
  • gsying1474
  • 2015年06月01日 11:58
  • 2303

Nginx运维管理脚本

#!/bin/sh # 编译安装管理Nginx App=nginx AppName=Nginx AppBase=/App AppDir=$AppBase/$App AppProg=$AppDir/sb...
  • dongsong1117
  • dongsong1117
  • 2015年04月30日 10:27
  • 745

Oracle 数据库 管理脚本介绍

Oracle 数据库 管理脚本介绍 Oracle 中的数据字典是数据库中的非常重要的一部分,提供了相关数据库的信息,它是所有Oracle用户(从应用的最终用户、应用的设计开发者到数据...
  • haiross
  • haiross
  • 2014年08月14日 13:17
  • 515

Linux——Shell管理脚本(基础详解--精)

一:Shell的作用及常见种类: Shell是一个特殊的应用程序,他介于操作系统内核与用户之间,负责接受用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行。因此,Shell程序在系...
  • chengfangang
  • chengfangang
  • 2013年03月01日 12:17
  • 588

shell脚本实现学生管理系统

刚刚接触shell脚本,为巩固一下知识,随手写了一个学生管理系统 简单功能实现,欢迎交流...
  • mark_qzh
  • mark_qzh
  • 2017年04月27日 07:07
  • 485

jvm是如何管理内存的

1、JVM是如何管理内存的 Java中,内存管理是JVM自动进行的,无需人为干涉。 了解java内存模型看这里:java内存模型是什么样的 了解jvm实例结构看这里:jvm实例的结构是什么样...
  • u014421556
  • u014421556
  • 2016年06月23日 15:38
  • 1936

unity3d 脚本的一些简单介绍

想用Unity3d开发游戏,游戏脚本至关重要,游戏对象中任何逻辑关系的判断都是需要通过脚本来完成的。 一般常用的是Javascript(简单,容易入门), C#(常用,能衍扩展), Boo(不了解)。...
  • wfenglinxu
  • wfenglinxu
  • 2015年08月24日 11:42
  • 875

系统权限管理的简介及基于shiro实现权限管理

系统权限管理的简介及基于shiro实现权限管理。每天多做点,成长一大步 ----乐思奇(樊浩强)...
  • sxlesq
  • sxlesq
  • 2016年07月15日 11:49
  • 1155

嵌入式链接脚本(Link Script)介绍

1. 概论每一个链接过程都由链接脚本(linkerscript, 一般以lds作为文件的后缀名)控制. 链接脚本主要用于规定如何把输入文件内的section放入输出文件内, 并控制输出文件内各部分在程...
  • XiaoXiaoPengBo
  • XiaoXiaoPengBo
  • 2017年12月07日 16:58
  • 170

一些經典的ORACLE性能管理腳本(一)

Oracle维护常用SQL语句   ************************************************ 如何查看各个表空间占用磁盘情况?   col tablespac...
  • beaning_zhang
  • beaning_zhang
  • 2015年07月15日 09:57
  • 423
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle数据库管理脚本介绍
举报原因:
原因补充:

(最多只允许输入30个字)