如何创建一个新的数据库后,初步安装 Oracle 数据库11g 速成版?

我已经在我的电脑上安装了 Oracle Database 11g Express Edition (Windows 7) 我也安装了 Oracle SQL 开发器。

我想创建一个简单的数据库开始,可能与一个或两个表,然后使用 Oracle SQL 开发人员插入数据和查询它。

当我打开 OracleSQLDeveloper 时,它要求我创建一个新的连接,因此它假定已经创建了一个数据库。

So my question is, how do I create an initial database in Oracle 11g?

380107 次浏览

这个链接: 在 Oracle 11g Release2中创建示例数据库是创建示例数据库的一个很好的例子。

这个链接: 如果您在创建数据库时遇到一些常见问题,Oracle 11g 数据库常见问题菜鸟指南应该会有所帮助。

Best of luck!

编辑: 因为你正在使用 XE,你应该有一个数据库已经创建,连接使用 SQL * Plus 和 SQL 开发人员等信息在这里: Connecting to Oracle Database Express Edition and Exploring It

摘录:

从 SQLDeveloperSQLDeveloper 连接到 Oracle 数据库 XE 是一个 可以访问 Oracle 数据库 XE 的客户端程序 Oracle 数据库 XE 11g Release2(11.2) ,必须使用 SQL Developer 本节假设 SQL Developer 安装在 您的系统,并说明如何启动它和连接到 Oracle 数据库 如果系统上没有安装 SQLDeveloper,请参见 Oracle 数据库 SQL 开发人员安装说明用户指南。

注:

以下过程: 第一次启动 SQLDeveloper 时 在您的系统上,您必须在步骤1中提供 java.exe 的完整路径。

对于步骤4,您需要一个用户名和密码。

对于步骤6,您需要一个主机名和端口。

要从 SQL 开发人员连接到 Oracle 数据库 XE:

启动 SQL 开发人员。

有关说明,请参阅 Oracle 数据库 SQL 开发人员用户指南。

If this is the first time you have started SQL Developer on your 系统中,系统会提示您输入 java.exe (for 例如,C: jdk1.5.0 bin java.exe) 提示符或浏览到它,然后按回车键。

将打开“ OracleSQLDeveloper”窗口。

在窗口的导航框架中,单击 Connections。

将出现“连接”窗格。

在“连接”窗格中,单击图标“新建连接”。

将打开“新建/选择数据库连接”窗口。

在 New/Select Database Connection 窗口中,键入适当的 “连接名称”、“用户名”和“密码”字段中的。

For security, the password characters that you type appear as 星号。

在 Password 字段附近是“保存密码”复选框 is deselected. Oracle recommends accepting the default.

在 New/Select Database Connection 窗口中,单击选项卡 Oracle。

将出现“ Oracle”窗格。

在 Oracle 面板中:

For Connection Type, accept the default (Basic).

对于“角色”,接受默认值。

在 Hostname 和 Port 字段中,接受默认值或键入 the appropriate values.

选择选项 SID。

在 SID 字段中,键入 ept the default (xe)。

在 New/Select Database Connection 窗口中,单击 Test 按钮。

连接已测试。如果连接成功,则“状态” 指示器从空白更改为成功。

Description of the illustration success.gif

如果测试成功,请单击“连接”按钮。

“新建/选择数据库连接”窗口关闭。“连接”窗格 显示您在“连接名称”中输入的名称的连接 步骤4中的字段。

You are in the SQL Developer environment.

若要退出 SQLDeveloper,请从“文件”菜单中选择“退出”。

“如何创建初始数据库?”

You created a database when you installed XE. At some point the installation process prompted you to enter a password for the SYSTEM account. Use that to connect to the XE database using the SQL commandline on the application menu.

XE 文档是在线的,非常有用。

值得一提的是,11gXE 有几个限制,其中之一是每个服务器只有一个数据库。因此,使用预安装的数据库是明智的选择。

你安装 XE 的时候。它自动创建了一个名为“ XE”的数据库。您可以使用您设置为登录的登录“系统”和密码。

关键信息

server: (you defined)
左舷: 1521
数据库: XE
用户名: system
Password: (您定义的)

Also Oracle is being difficult and not telling you easily create another database. You have to use SQL or another tool to create more database besides "XE".

Save the following code in a batch file (ex. createOraDbWin.bat). Change the parameter values like app_name, ora_dir etc., Run the file with administrative privileges. The batch file creates a basic oracle database:

注意 : 可能需要很长时间(大约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

欢迎您的更正和改进!

如果希望在 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 开发人员连接并创建表。