2012-03-02 87 views
93

我在我的電腦上安裝了Oracle Database 11g Expressed Edition(windows 7) ,我也安裝了Oracle SQL Developer。如何在初始化安裝Oracle數據庫11g Express Edition後創建新的數據庫?

我想創建一個簡單的數據庫,可能只有一個表或兩個表,然後使用Oracle SQL Developer插入數據並進行查詢。

當我打開Oracle SQL Developer時,它要求我創建一個新連接,因此它假定已經創建了一個數據庫。

所以我的問題是,我如何在Oracle 11g中創建一個初始數據庫?

回答

51

此鏈接:Creating the Sample Database in Oracle 11g Release 2是創建示例數據庫的一個很好的示例。

此鏈接:Newbie Guide to Oracle 11g Database Common Problems應該可以幫助您解決創建數據庫時遇到的一些常見問題。

祝你好運!

編輯:當您使用XE時,您應該已經創建了一個數據庫,使用SQL * Plus和SQL Developer等進行連接。信息如下:Connecting to Oracle Database Express Edition and Exploring It

提取物:

從SQL Developer的SQL開發人員連接到Oracle數據庫XE是,使用它可以訪問Oracle數據庫XE一個 客戶端程序。使用 Oracle數據庫XE 11g第2版(11.2),您必須使用SQL Developer 版本3.0。本節假定SQL Developer安裝在您的系統的 上,並演示如何啓動它並連接到Oracle Database XE。如果您的系統上未安裝SQL Developer,請參閱Oracle 數據庫SQL Developer用戶指南以獲取安裝說明。

注:

對於下面的過程:第一次在系統上啓動SQL Developer的 ,你必須提供完整的路徑與步驟,以JAVA.EXE 1

對於第4步,你需要用戶名和密碼。

對於第6步,您需要一個主機名和端口。

從SQL開發人員連接到Oracle數據庫XE:

啓動SQL開發人員。

有關說明,請參閱Oracle數據庫SQL Developer用戶指南。

如果這是你有你的 系統上啓動SQL Developer中的第一次,系統會提示您輸入完整的路徑JAVA.EXE(對於 例如,C:\ JDK1.5.0 \ BIN \ java.exe的) 。輸入 提示後鍵入完整路徑或瀏覽至該路徑,然後按Enter鍵。

打開Oracle SQL Developer窗口。

在窗口的導航框中,單擊連接。

連接窗格出現。

在連接窗格中,單擊圖標新建連接。

打開「新建/選擇數據庫連接」窗口。

在新建/選擇數據庫連接窗口中,在字段連接名稱,用戶名和密碼中鍵入相應的 值。

爲了安全起見,您鍵入的密碼字符顯示爲 星號。

靠近密碼字段是複選框保存密碼。默認情況下,它取消選擇 。 Oracle建議接受默認值。

在新建/選擇數據庫連接窗口中,單擊選項卡Oracle。

出現Oracle窗格。

在Oracle窗格中:

對於連接類型,接受默認值(基本)。

對於角色,接受默認值。

在字段「主機名」和「端口」中,接受默認值或鍵入 適當的值。

選擇選項SID。

在SID字段中,鍵入接受默認值(xe)。

在New/Select Database Connection窗口中,單擊Test按鈕。

連接經過測試。如果連接成功,狀態 指示器從空白變爲成功。插圖的

說明success.gif

如果測試成功,點擊按鈕連接。

新建/選擇數據庫連接窗口關閉。 「連接」窗格 顯示在步驟4中連接名稱 字段中輸入其名稱的連接。

您處於SQL Developer環境中。

要退出SQL Developer,請從文件菜單中選擇退出。

+1

你的意思是數據庫配置助手是否與數據庫一起部署?我找不到它 – Zo72 2012-03-02 14:07:06

+5

道歉,我只是注意到你正在使用XE。它只允許一個實例,是否在您安裝軟件時不提示您創建實例?你應該有一個已經創建了SID「XE」的數據庫。您還應該爲SYS和SYSTEM用戶設置密碼。 – Ollie 2012-03-02 14:11:27

+3

感謝您的幫助我會檢查一下,如果正確,我會標記您的權利 – Zo72 2012-03-02 14:28:36

5

「如何創建初始數據庫?」

您在安裝XE時創建了數據庫。在某個時候,安裝過程會提示您輸入SYSTEM帳戶的密碼。使用它在應用程序菜單上使用SQL命令行連接到XE數據庫。

XE文檔在線並且非常有幫助。Find it here

47

當您安裝XE ....它會自動創建一個名爲「XE」的數據庫。您可以使用您設置的登錄「系統」和密碼登錄。

關鍵信息

服務器:(您定義)
端口:1521
數據庫:XE
用戶名:系統
密碼:(您定義)

而且甲骨文正在困難和不告訴你輕鬆創建另一個數據庫。除了「XE」之外,您必須使用SQL或其他工具來創建更多數據庫。

+4

謝謝,很好的回答,這正是我需要的。這個答案應該被評爲最高。 – KevSheedy 2013-06-21 10:28:41

+1

這是一個比公認的更有用的答案。 – AfterWorkGuinness 2016-09-30 03:00:17

+0

這不回答這個問題 – 2018-03-10 00:11:52

2

將以下代碼保存在批處理文件(例如createOraDbWin.bat)中。更改參數值,如app_name,ora_dir等。使用管理權限運行該文件。該批處理文件創建一個基本的Oracle數據庫:

:可能要花費很多時間(大約30分鐘說)

REM ASSUMPTIONS 
rem oracle xe has been installed 
rem oracle_home has been set 
rem oracle_sid has been set 
rem oracle service is running 

REM SET PARAMETERS 
set char_set =al32utf8 
set nls_char_set =al16utf16 

set ora_dir=d:\app\db\oracle 
set version=11.2.0.0 
set app_name=xyz 
set db_name=%app_name%_db 
set db_sid=%db_name%_sid 
set db_ins=%db_name%_ins 
set sys_passwd=x3y5z7 
set system_passwd=1x4y9z 

set max_log_files=32 
set max_log_members=4 
set max_log_history=100 
set max_data_files=254 
set max_instances=1 

set version_dir=%ora_dir%\%version% 
set db_dir=%version_dir%\%db_name% 

set instl_temp_dir=%db_dir%\instl\script 

set system_dir=%db_dir%\system 
set user_dir=%db_dir%\user 
set undo_dir=%db_dir%\undo 
set sys_aux_dir=%db_dir%\sysaux 
set temp_dir=%db_dir%\temp 
set control_dir=%db_dir%\control 

set pfile_dir=%db_dir%\pfile 
set data_dir=%db_dir%\data 
set index_dir=%db_dir%\index 
set log_dir=%db_dir%\log 
set backup_dir=%db_dir%\backup 
set archive_dir=%db_dir%\archive 

set data_dir=%db_dir%\data 
set index_dir=%db_dir%\index 
set log_dir=%db_dir%\log 
set backup_dir=%db_dir%\backup 
set archive_dir=%db_dir%\archive 
set undo_dir=%db_dir%\undo 
set default_dir=%db_dir%\default 

set system_tbs=%db_name%_system_tbs 
set user_tbs=%db_name%_user_tbs 
set sys_aux_tbs=%db_name%_sys_aux_tbs 
set temp_tbs=%db_name%_temp_tbs 
set control_tbs=%db_name%_control_tbs 

set data_tbs=%db_name%_data_tbs 
set index_tbs=%db_name%_index_tbs 
set log_tbs=%db_name%_log_tbs 
set backup_tbs=%db_name%_backup_tbs 
set archive_tbs=%db_name%_archive_tbs 
set undo_tbs=%db_name%_undo_tbs 
set default_tbs=%db_name%_default_tbs 

set system_file=%system_dir%\%db_name%_system.dbf 
set user_file=%user_dir%\%db_name%_user.dbf 
set sys_aux_file=%sys_aux_dir%\%db_name%_sys_aux.dbf 
set temp_file=%temp_dir%\%db_name%_temp.dbf 
set control_file=%control_dir%\%db_name%_control.dbf 

set data_file=%data_dir%\%db_name%_data.dbf 
set index_file=%index_dir%\%db_name%_index.dbf 
set backup_file=%backup_dir%\%db_name%_backup.dbf 
set archive_file=%archive_dir%\%db_name%_archive.dbf 
set undo_file=%undo_dir%\%db_name%_undo.dbf 
set default_file=%default_dir%\%db_name%_default.dbf 

set log1_file=%log_dir%\%db_name%_log1.log 
set log2_file=%log_dir%\%db_name%_log2.log 
set log3_file=%log_dir%\%db_name%_log3.log 

set init_file=%pfile_dir%\init%db_sid%.ora 
set db_create_file=%instl_temp_dir%\createdb.sql 
set db_drop_file=dropdb.sql 

set db_create_log=%instl_temp_dir%\db_create.log 
set db_drop_log=db_drop.log 

set oracle_sid=%db_sid% 

REM WRITE DROP DATABASE SQL COMMANDS TO FILE 
echo shutdown immediate;>%db_drop_file% 
echo startup mount exclusive restrict;>>%db_drop_file% 
echo drop database;>>%db_drop_file% 

REM EXECUTE DROP DATABASE SQL COMMANDS FROM THE FILE  
rem sqlplus -s "/as sysdba" @"%db_drop_file%">%db_drop_log% 

REM DELETE WINDOWS ORACLE SERVICE 
rem oradim -delete -sid %db_sid% 

REM CREATE DIRECTORY STRUCTURE 
md %system_dir% 
md %user_dir% 
md %sys_aux_dir% 
md %temp_dir% 
md %control_dir% 

md %pfile_dir% 
md %data_dir% 
md %index_dir% 
md %log_dir% 
md %backup_dir% 
md %archive_dir% 
md %undo_dir% 
md %default_dir% 
md %instl_temp_dir% 

REM WRITE INIT FILE PARAMETERS TO INIT FILE 
echo db_name='%db_name%'>%init_file% 
echo memory_target=1024m>>%init_file% 
echo processes=150>>%init_file% 
echo sessions=20>>%init_file% 
echo audit_file_dest=%user_dir%>>%init_file% 
echo audit_trail ='db'>>%init_file% 
echo db_block_size=8192>>%init_file% 
echo db_domain=''>>%init_file% 
echo diagnostic_dest=%db_dir%>>%init_file% 
echo dispatchers='(protocol=tcp) (service=%app_name%xdb)'>>%init_file% 
echo shared_servers=4>>%init_file% 
echo open_cursors=300>>%init_file% 
echo remote_login_passwordfile='exclusive'>>%init_file% 
echo undo_management=auto>>%init_file% 
echo undo_tablespace='%undo_tbs%'>>%init_file% 
echo control_files = ("%control_dir%\control1.ora", "%control_dir%\control2.ora")>>%init_file% 
echo job_queue_processes=4>>%init_file% 
echo db_recovery_file_dest_size = 10g>>%init_file% 
echo db_recovery_file_dest=%log_dir%>>%init_file% 
echo compatible ='11.2.0'>>%init_file% 

REM WRITE DB CREATE AND ITS RELATED SQL COMMAND TO FILE  
echo startup nomount pfile='%init_file%';>>%db_create_file% 
echo.>>%db_create_file% 

echo create database %db_name%>>%db_create_file% 
echo user sys identified by %sys_passwd%>>%db_create_file% 
echo user system identified by %system_passwd%>>%db_create_file% 
echo logfile group 1 ('%log1_file%') size 100m,>>%db_create_file% 
echo group 2 ('%log2_file%') size 100m,>>%db_create_file% 
echo group 3 ('%log3_file%') size 100m>>%db_create_file% 
echo maxlogfiles %max_log_files%>>%db_create_file% 
echo maxlogmembers %max_log_members%>>%db_create_file% 
echo maxloghistory %max_log_history%>>%db_create_file% 
echo maxdatafiles %max_data_files%>>%db_create_file% 
echo character set %char_set %>>%db_create_file% 
echo national character set %nls_char_set %>>%db_create_file% 
echo extent management local>>%db_create_file% 
echo datafile '%system_file%' size 325m reuse>>%db_create_file% 
echo sysaux datafile '%sys_aux_file%' size 325m reuse>>%db_create_file% 
echo default tablespace %default_tbs%>>%db_create_file% 
echo datafile '%default_file%'>>%db_create_file% 
echo size 500m reuse autoextend on maxsize unlimited>>%db_create_file% 
echo default temporary tablespace %temp_tbs%>>%db_create_file% 
echo tempfile '%temp_file%'>>%db_create_file% 
echo size 20m reuse>>%db_create_file% 
echo undo tablespace %undo_tbs%>>%db_create_file% 
echo datafile '%undo_file%'>>%db_create_file% 
echo size 200m reuse autoextend on maxsize unlimited;>>%db_create_file% 
echo.>>%db_create_file% 

echo @?\rdbms\admin\catalog.sql>>%db_create_file% 
echo.>>%db_create_file% 

echo @?\rdbms\admin\catproc.sql>>%db_create_file% 
echo.>>%db_create_file% 

echo create spfile from pfile='%init_file%';>>%db_create_file% 
echo.>>%db_create_file% 

echo shutdown immediate;>>%db_create_file% 
echo.>>%db_create_file% 

echo startup;>>%db_create_file% 
echo.>>%db_create_file% 

echo show parameter spfile;>>%db_create_file% 
echo.>>%db_create_file% 

REM CREATE WINDOWS ORACLE SERVICE 
oradim -new -sid %db_sid% -startmode auto 

REM EXECUTE DB CREATE SQL COMMANDS FROM FILE 
sqlplus -s "/as sysdba" @"%db_create_file%">%db_create_log% 

pause 

歡迎您的修正和改進!