Oracle XE自帶資料庫建立的過程

2021-09-08 10:12:25 字數 2862 閱讀 6680

oracle xe自帶資料庫如何建立的?xe.sql指令碼定義例項究竟是怎樣的?閱讀下文,您可以找到這些問題的答案。

oracle xe自帶資料庫是如何建立的呢?這是很多人都提到過的問題,下面就為您詳細介紹oracle xe自帶資料庫建立的過程,供您參考。

簡單的說了一下oracle 10g xe的字符集問題, 我們接下來看看oracle xe自帶資料庫如何建立的.

2010-01-24  20:47             1,783 clonedbcreation.sql  

2010-01-24  20:47               321 clonermanrestore.sql  

2010-01-24  20:48             2,410 init.ora  

2010-01-24  20:48             2,177 initxetemp.ora  

2010-01-24  20:47               929 postdbcreation.sql  

2010-01-24  20:47               780 postscripts.sql  

2010-01-24  20:47             1,334 rmanrestoredatafiles.sql  

2010-01-24  20:47             1,424 xe.bat  

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.

variable devicename varchar2(255);  

declare  

omfname varchar2(512) := null;  

done boolean;  

begin  

dbms_output.put_line(' ');  

dbms_output.put_line(' allocating device.... ');  

dbms_output.put_line(' specifying datafiles... ');  

:devicename := dbms_backup_restore.deviceallocate;  

dbms_output.put_line(' specifing datafiles... ');  

dbms_backup_restore.restoresetdatafile;  

dbms_backup_restore.restoredatafileto(1, 'd:\oraclexe\oradata\xe\system.dbf', 0, 'system');  

dbms_backup_restore.restoredatafileto(2, 'd:\oraclexe\oradata\xe\undo.dbf', 0, 'undotbs1');  

dbms_backup_restore.restoredatafileto(3, 'd:\oraclexe\\oradata\xe\sysaux.dbf', 0, 'sysaux');  

dbms_backup_restore.restoredatafileto(4, 'd:\oraclexe\oradata\xe\users.dbf', 0, 'users');  

dbms_output.put_line(' restoring ... ');  

dbms_backup_restore.restorebackuppiece  

if done then  

dbms_output.put_line(' restore done.');  

else  

dbms_output.put_line(' ora-***x: restore failed ');  

end if;  

dbms_backup_restore.devicedeallocate;  

end;  

26./  

非常有意思.xe 用的是非常規手段: dbms_backup_restore 過程.以前我曾經在 rman 備份,未使用catalog,控制檔案丟失的解決辦法中作過介紹:

接下來 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, 通過如下過程定義埠:

/最後 xe.sql 呼叫 postscripts.sql ,主要是一些後續的操作,patch 指令碼什麼的.

到此,資料庫建立已經完成.也就是圖形化安裝的時候 1~5 的幾個步驟省略的過程.其實沒那麼複雜.

出處:

資料庫自帶角色

blkadmin 執行bulk insert 語句 dcreator 建修改刪除和還原資料庫 diskadmin 盤檔案 processadmin 管理在 sql中執行的程序 securityadmin 理伺服器登入賬戶 serveradmin 置伺服器 範圍設定 setupadmin sysadm...

SQL server自帶的資料庫

select name from sysdatabases 在master資料庫下查詢 前六個是系統自帶的資料庫 master 記錄了系統級別的資訊,包含所有的登陸資訊,系統設定資訊,初始化資訊等 不可以刪除 tempdb 臨時資料庫,儲存臨時表和臨時儲存過程以及儲存空間的要求 model 為使用者...

VS自帶資料庫SqlExpress

為了完成我們的畢業大大大大大設計 以visualstudio 2010為例,自帶的是sql server 2008 express版本,不是完整版,但已經足夠用了。而且visual studio自帶的sql server管理器也很好用,不用去安裝專門的管理器。下面我將使用方法介紹一下,很簡單。1.在...