จะสร้างฐานข้อมูลใหม่หลังจากติดตั้ง Oracle Database 11g Express Edition ได้อย่างไร?


112

ฉันได้ติดตั้ง Oracle Database 11g Express Edition บนพีซีของฉัน (Windows 7) และฉันได้ติดตั้ง Oracle SQL Developer ด้วย

ฉันต้องการสร้างฐานข้อมูลอย่างง่ายเพื่อเริ่มต้นโดยอาจจะด้วยตารางเดียวหรือสองตารางจากนั้นใช้ Oracle SQL Developer เพื่อแทรกข้อมูลและสืบค้น

เมื่อฉันเปิด Oracle SQL Developer ระบบจะขอให้ฉันสร้างการเชื่อมต่อใหม่ดังนั้นจึงถือว่าฐานข้อมูลถูกสร้างขึ้นแล้ว

คำถามของฉันคือฉันจะสร้างฐานข้อมูลเริ่มต้นใน Oracle 11g ได้อย่างไร

คำตอบ:


56

ลิงค์นี้: การสร้างฐานข้อมูลตัวอย่างใน Oracle 11g Release 2เป็นตัวอย่างที่ดีในการสร้างฐานข้อมูลตัวอย่าง

ลิงค์นี้: Newbie Guide to Oracle 11g Database Common Problemsจะช่วยคุณได้หากคุณพบปัญหาทั่วไปในการสร้างฐานข้อมูลของคุณ

ขอให้โชคดี!

แก้ไข: ในขณะที่คุณกำลังใช้ XE, คุณควรจะมีฐานข้อมูลที่สร้างไว้แล้วเชื่อมต่อโดยใช้ SQL * Plus และ SQL Developer ฯลฯ ข้อมูลอยู่ที่นี่: การเชื่อมต่อกับฐานข้อมูล Oracle Edition ด่วนและสำรวจมัน

สารสกัด:

การเชื่อมต่อกับ Oracle Database XE จาก SQL Developer SQL Developer เป็นโปรแกรมไคลเอนต์ที่คุณสามารถเข้าถึง Oracle Database XE ด้วย Oracle Database XE 11g Release 2 (11.2) คุณต้องใช้ SQL Developer เวอร์ชัน 3.0 ส่วนนี้จะถือว่า SQL Developer ได้รับการติดตั้งบนระบบของคุณและแสดงวิธีเริ่มต้นและเชื่อมต่อกับ Oracle Database XE หากไม่ได้ติดตั้ง SQL Developer ในระบบของคุณโปรดดูคู่มือผู้ใช้ Oracle Database SQL Developer สำหรับคำแนะนำในการติดตั้ง

บันทึก:

สำหรับขั้นตอนต่อไปนี้: ครั้งแรกที่คุณเริ่ม SQL Developer บนระบบของคุณคุณต้องระบุพา ธ แบบเต็มไปยัง java.exe ในขั้นตอนที่ 1

สำหรับขั้นตอนที่ 4 คุณต้องมีชื่อผู้ใช้และรหัสผ่าน

สำหรับขั้นตอนที่ 6 คุณต้องมีชื่อโฮสต์และพอร์ต

ในการเชื่อมต่อกับ Oracle Database XE จาก SQL Developer:

เริ่ม SQL Developer

สำหรับคำแนะนำโปรดดูคู่มือผู้ใช้ Oracle Database SQL Developer

หากนี่เป็นครั้งแรกที่คุณเริ่ม SQL Developer ในระบบของคุณคุณจะได้รับแจ้งให้ป้อนเส้นทางแบบเต็มไปยัง java.exe (ตัวอย่างเช่น C: \ jdk1.5.0 \ bin \ java.exe) พิมพ์เส้นทางแบบเต็มหลังพร้อมต์หรือเรียกดูจากนั้นกดปุ่ม Enter

หน้าต่าง Oracle SQL Developer จะเปิดขึ้น

ในกรอบการนำทางของหน้าต่างคลิกการเชื่อมต่อ

บานหน้าต่าง Connections ปรากฏขึ้น

ในบานหน้าต่างการเชื่อมต่อคลิกไอคอนการเชื่อมต่อใหม่

หน้าต่าง New / Select Database Connection จะเปิดขึ้น

ในหน้าต่างใหม่ / เลือกการเชื่อมต่อฐานข้อมูลพิมพ์ค่าที่เหมาะสมในฟิลด์ชื่อการเชื่อมต่อชื่อผู้ใช้และรหัสผ่าน

เพื่อความปลอดภัยอักขระรหัสผ่านที่คุณพิมพ์จะปรากฏเป็นเครื่องหมายดอกจัน

ใกล้กับฟิลด์รหัสผ่านคือช่องทำเครื่องหมายบันทึกรหัสผ่าน โดยค่าเริ่มต้นระบบจะยกเลิกการเลือก Oracle แนะนำให้ยอมรับค่าเริ่มต้น

ในหน้าต่าง New / Select Database Connection ให้คลิกแท็บ Oracle

บานหน้าต่าง Oracle ปรากฏขึ้น

ในบานหน้าต่าง Oracle:

สำหรับประเภทการเชื่อมต่อให้ยอมรับค่าเริ่มต้น (พื้นฐาน)

สำหรับบทบาทให้ยอมรับค่าเริ่มต้น

ในช่องชื่อโฮสต์และพอร์ตให้ยอมรับค่าเริ่มต้นหรือพิมพ์ค่าที่เหมาะสม

เลือกตัวเลือก SID

ในช่อง SID พิมพ์ยอมรับค่าเริ่มต้น (xe)

ในหน้าต่าง New / Select Database Connection คลิกที่ปุ่ม Test

ทดสอบการเชื่อมต่อแล้ว หากการเชื่อมต่อสำเร็จไฟแสดงสถานะจะเปลี่ยนจากว่างเป็นสำเร็จ

คำอธิบายของภาพประกอบ success.gif

หากการทดสอบสำเร็จให้คลิกปุ่มเชื่อมต่อ

หน้าต่างการเชื่อมต่อฐานข้อมูลใหม่ / เลือกจะปิดลง บานหน้าต่าง Connections แสดงการเชื่อมต่อที่คุณป้อนชื่อในฟิลด์ชื่อการเชื่อมต่อในขั้นตอนที่ 4

คุณอยู่ในสภาพแวดล้อม SQL Developer

หากต้องการออกจาก SQL Developer ให้เลือกออกจากเมนูไฟล์


1
คุณหมายความว่า Database Configuration Assistant ถูกปรับใช้กับฐานข้อมูลหรือไม่? หาไม่เจอ
Zo72

5
ขอโทษด้วยฉันเพิ่งสังเกตว่าคุณใช้ XE อนุญาตเพียงอินสแตนซ์เดียวมันไม่ได้แจ้งให้คุณสร้างอินสแตนซ์เมื่อคุณติดตั้งซอฟต์แวร์ใช่หรือไม่ คุณควรมีฐานข้อมูลที่สร้าง SID "XE" ไว้แล้ว คุณควรตั้งรหัสผ่านสำหรับผู้ใช้ SYS และ SYSTEM ด้วย
Ollie

3
ขอบคุณสำหรับความช่วยเหลือของคุณฉันจะตรวจสอบและถ้าถูกต้องฉันจะทำเครื่องหมายว่าถูกต้อง
Zo72

ควรใช้คำอธิบายเมื่ออ้างอิงลิงก์ในกรณีที่ลิงก์เสียเช่นเดียวกับข้อแรกของคุณซึ่งฉันพบว่าเสีย จากนั้นคุณสามารถค้นหาได้จากการค้นหาของ Google HTH
James Drinkard

60

เมื่อคุณติดตั้ง XE .... ระบบจะสร้างฐานข้อมูลชื่อ "XE" โดยอัตโนมัติ คุณสามารถใช้ล็อกอิน "ระบบ" และรหัสผ่านที่คุณตั้งค่าเพื่อเข้าสู่ระบบ

ข้อมูลสำคัญ

เซิร์ฟเวอร์: (คุณกำหนด)
พอร์ต:
ฐานข้อมูล1521 :
ชื่อผู้ใช้XE :
รหัสผ่านระบบ: (คุณกำหนด)

นอกจากนี้ Oracle เป็นเรื่องยากและไม่ได้บอกให้คุณสร้างฐานข้อมูลอื่นได้อย่างง่ายดาย คุณต้องใช้ SQL หรือเครื่องมืออื่นเพื่อสร้างฐานข้อมูลเพิ่มเติมนอกเหนือจาก "XE"


6
ขอบคุณคำตอบที่ดีนี่คือสิ่งที่ฉันต้องการ คำตอบนี้ควรได้รับการโหวตให้ติดอันดับต้น ๆ
KevSheedy

1
นี่เป็นคำตอบที่มีประโยชน์มากกว่าคำตอบที่ยอมรับ
AfterWorkGuinness

1
สิ่งนี้ไม่ตอบคำถาม
Philip Rego

9

หากคุณต้องการสร้างสคีมาใหม่ใน XE คุณต้องสร้าง USER และกำหนดสิทธิ์ ทำตามขั้นตอนเหล่านี้:

  • เปิดบรรทัดคำสั่ง SQL * Plus
SQL> connect sys as sysdba
  • ป้อนรหัสผ่าน
SQL> CREATE USER myschema IDENTIFIED BY Hga&dshja;
SQL> ALTER USER myschema QUOTA unlimited ON SYSTEM;
SQL> GRANT CREATE SESSION, CONNECT, RESOURCE, DBA TO myschema;
SQL> GRANT ALL PRIVILEGES TO myschema;

ตอนนี้คุณสามารถเชื่อมต่อผ่านOracle SQL Developerและสร้างตารางของคุณ


5

"ฉันจะสร้างฐานข้อมูลเริ่มต้นได้อย่างไร"

คุณสร้างฐานข้อมูลเมื่อคุณติดตั้ง XE เมื่อถึงจุดหนึ่งกระบวนการติดตั้งจะแจ้งให้คุณป้อนรหัสผ่านสำหรับบัญชี SYSTEM ใช้เพื่อเชื่อมต่อกับฐานข้อมูล XE โดยใช้ SQL commandline บนเมนูแอปพลิเคชัน

เอกสาร XE ออนไลน์และมีประโยชน์มาก หาได้ที่นี่

เป็นมูลค่าการกล่าวขวัญว่า 11g XE มีข้อ จำกัด หลายประการซึ่งหนึ่งในนั้นมีเพียงฐานข้อมูลเดียวต่อเซิร์ฟเวอร์ ดังนั้นการใช้ฐานข้อมูลที่ติดตั้งไว้ล่วงหน้าจึงเป็นตัวเลือกที่เหมาะสม


นั่นไม่ใช่คำตอบจริงๆแค่ใช้คำตอบที่มีอยู่? เขาถามว่าทำใหม่ยังไง
Gherbi Hicham

1
@gherbihicham - คำถามที่แท้จริงของผู้ค้นหาคือ"ฉันจะสร้างฐานข้อมูลเริ่มต้นได้อย่างไร" ฉันอธิบายว่ากระบวนการติดตั้งสร้างฐานข้อมูลเริ่มต้น ในความเป็นจริงพวกเขากำลังใช้ XE ซึ่งมีข้อ จำกัด อย่างชัดเจนของหนึ่งฐานข้อมูลต่อเครื่องดังนั้นการบอกวิธีสร้างฐานข้อมูลอื่นจะไม่มีจุดหมาย
APC

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

ยินดีต้อนรับการแก้ไขและการปรับปรุงของคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.