Oracle XE自带数据库创建的过程

Oracle XE自带数据库是如何创建的呢?这是很多人都提到过的问题,下面就为您详细介绍Oracle XE自带数据库创建的过程,供您参考。

简单的说了一下Oracle 10g XE的字符集问题, 我们接下来看看Oracle XE自带数据库如何创建的.

老实说,最开始在Windows上安装XE的时候,步骤非常简单,还以为Oracle已经掩盖了全部细节呢,安装之后浏览一下相关目录就清晰多了.我把XE 安装到 D: 盘,在 D:\oraclexe\app\oracle\product\10.2.0\server\config\scripts 目录下有如下文件:

  1. 2010-01-24  20:47             1,783 cloneDBCreation.sql  
  2. 2010-01-24  20:47               321 CloneRmanRestore.sql  
  3. 2010-01-24  20:48             2,410 init.ora  
  4. 2010-01-24  20:48             2,177 initXETemp.ora  
  5. 2010-01-24  20:47               929 postDBCreation.sql  
  6. 2010-01-24  20:47               780 postScripts.sql  
  7. 2010-01-24  20:47             1,334 rmanRestoreDatafiles.sql  
  8. 2010-01-24  20:47             1,424 XE.bat  
  9. 2010-01-24  20:47               716 XE.sql 

XE.bat 批处理文件完成如下事情:添加需要的操作系统用户; 创建相关目录存放 Oracle 数据文件;设定 Oracle 环境变量主要是 SID 名字;调用 Oradim 命令创建XE 的实例; 然后调用 XE.sql 脚本.

XE.sql 脚本首先定义XE 实例的用户需要用到的密码,然后用 orapwd.exe 创建密码文件, 这些步骤都和普通的 Oracle 创建实例的脚本非常相似.接下里就有意思了:XE.sql 调用 CloneRmanRestore.sql , CloneRmanRestore.sql 调用rmanRestoreDatafiles.sql.

  1. variable devicename varchar2(255);  
  2. declare  
  3. omfname varchar2(512) :NULL;  
  4.   done boolean;  
  5.   begin  
  6.     dbms_output.put_line(' ');  
  7.     dbms_output.put_line(' Allocating device.... ');  
  8.     dbms_output.put_line(' Specifying datafiles... ');  
  9.        :devicename :dbms_backup_restore.deviceAllocate;  
  10.     dbms_output.put_line(' Specifing datafiles... ');  
  11.     dbms_backup_restore.restoreSetDataFile;  
  12.       dbms_backup_restore.restoreDataFileTo(1, 'D:\oraclexe\oradata\XE\system.dbf', 0, 'SYSTEM');  
  13.       dbms_backup_restore.restoreDataFileTo(2, 'D:\oraclexe\oradata\XE\undo.dbf', 0, 'UNDOTBS1');  
  14.       dbms_backup_restore.restoreDataFileTo(3, 'D:\oraclexe\\oradata\XE\sysaux.dbf', 0, 'SYSAUX');  
  15.       dbms_backup_restore.restoreDataFileTo(4, 'D:\oraclexe\oradata\XE\users.dbf', 0, 'USERS');  
  16.     dbms_output.put_line(' Restoring ... ');  
  17.     dbms_backup_restore.restoreBackupPiece  
  18. ('D:\oraclexe\app\oracle\product\10.2.0\server\config\seeddb\EXPRESS.dfb', done);  
  19.     if done then  
  20.         dbms_output.put_line(' Restore done.');  
  21.     else  
  22.         dbms_output.put_line(' ORA-XXXX: Restore failed ');  
  23.     end if;  
  24.     dbms_backup_restore.deviceDeallocate;  
  25.   end;  
  26. /  
  27.  

非常有意思.XE 用的是非常规手段: dbms_backup_restore 过程.以前我曾经在 RMAN 备份,未使用catalog,控制文件丢失的解决办法 中作过介绍:

在 Oracle 816 以后的版本中,Oracle 提供了一个包:DBMS_BACKUP_RESTORE.DBMS_BACKUP_RESTORE 包是由 dbmsbkrs.sql 和 prvtbkrs.plb 这两个脚本创建的.catproc.sql 脚本运行后会调用这两个包.所以是每个数据库都有的这个包. 是 Oracle服务器和操作系统之间 IO 操作的接口.由恢复管理器直接调用。
OracleXE 直接用这个包从一个种子备份 ’D:\oraclexe\app\oracle\product\10.2.0\server\config\seeddb\EXPRESS.dfb’ 恢复需要的文件.注意到上面只有四个必要的表空间,Oracle 在发行说明中所说的空间限制就是从这个地方而来.至于能否超过 4g 的限制,我后面再分析.

接下来 XE.sql 调用 cloneDBCreation.sql,这个脚本的主要目的是为了创建一个可用的控制文件.
并利用dbms_backup_restore 的 zerodbid(0) 函数创建了一个新的 DBID .

然后

alter database “XE” open resetlogs;alter database rename global_name to “XE”;并添加了一个临时表空间 Temp.

这个脚本执行之后,XE.sql 调用 postDBCreation.sql, 通过如下过程定义端口:

  1. begin  
  2.    dbms_xdb.sethttpport('8080');  
  3.    dbms_xdb.setftpport('0');  
  4. end; 

/*** XE.sql 调用 postScripts.sql ,主要是一些后续的操作,Patch 脚本什么的.

到此,数据库创建已经完成.也就是图形化安装的时候 1~5 的几个步骤省略的过程.其实没那么复杂.

如果是 Linux 版本,则这一堆脚本在 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts 这个目录下.除了调用 oradim.exe 命令之外,其他差异不大.
 

 

 

【编辑推荐】

Oracle物化视图创建全过程

ORACLE创建实例的过程

oracle时间加减的语句写法

Oracle死锁的处理

教您如何实现Oracle模糊查询

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/245538.html<

(0)
运维的头像运维
上一篇2025-04-26 05:52
下一篇 2025-04-26 05:53

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注