成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle XE自帶數據庫創建的過程

數據庫 Oracle
Oracle XE自帶數據庫如何創建的?XE.sql腳本定義實例究竟是怎樣的?閱讀下文,您可以找到這些問題的答案。

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模糊查詢

 

責任編輯:段燃 來源: 互聯網
相關推薦

2011-07-19 17:06:33

Oracle數據庫自動增長列

2010-05-06 09:30:16

Oracle創建數據庫

2011-08-16 18:55:10

Oracle數據庫構造過程

2015-07-23 17:02:55

oracle創建數據庫

2011-04-11 13:19:41

Oracle數據庫

2010-04-28 16:37:31

Oracle數據字典

2011-08-16 19:11:15

Oracle數據庫創建Schema

2011-03-22 10:36:39

Oracle數據庫自動增長列

2012-06-25 10:40:24

Oracleawr

2011-08-09 14:54:01

OracleDATABASE LI

2011-08-02 17:06:29

Oracle遠程數據庫創建DB Link

2011-07-20 16:28:54

Oracle數據庫shared pool

2010-10-26 14:40:31

oracle存儲過程

2010-01-14 17:23:29

CentOS Orac

2010-05-04 14:20:47

Oracle創建數據庫

2010-04-16 13:34:00

Oracle Java

2010-04-16 10:11:20

Oracle存儲過程

2010-11-19 09:48:48

ORACLE創建實例

2010-04-16 14:10:56

Oracle數據庫

2011-09-02 14:09:47

OracleDML命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人永久免费 | 欧美综合视频在线 | 日韩理论电影在线观看 | 日韩一区二区三区在线视频 | 久久久久久免费观看 | 欧美在线色视频 | 午夜一级做a爰片久久毛片 精品综合 | 视频在线亚洲 | 久久久精品影院 | 亚洲网站在线 | 午夜精品一区二区三区在线视频 | 久久久久久免费毛片精品 | 精品国产乱码久久久久久蜜退臀 | 日本精品在线播放 | 亚洲最大成人综合 | 国产成人精品区一区二区不卡 | 国产成人免费视频 | 最近日韩中文字幕 | 激情视频中文字幕 | 欧美一区二区三区在线观看 | 久久精品—区二区三区 | www.久| 亚洲精品久久久一区二区三区 | 成人免费视频一区 | 精品视频一区二区在线观看 | 国产高清精品一区二区三区 | 欧美一级在线 | 日韩在线看片 | 日本久久福利 | 亚洲一区二区三区高清 | 日韩看片 | 免费国产一区 | 欧美爱爱视频网站 | 视频二区国产 | 久久高清 | 中文字幕亚洲欧美 | 久久久高清 | 高清黄色| 九九九久久国产免费 | 欧美一区二区三区久久精品 | 国产黑丝av |