ChatGPT解决这个技术问题 Extra ChatGPT

初始安装oracle数据库11g快捷版后如何新建数据库?

我已经在我的电脑(Windows 7)上安装了 Oracle Database 11g Express Edition,并且还安装了 Oracle SQL Developer。

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

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

所以我的问题是,如何在 Oracle 11g 中创建初始数据库?


A
Albert T. Wong

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

关键信息

服务器:(您定义)端口:1521 数据库:XE 用户名:系统密码:(您定义)

Oracle 也很困难,没有告诉您轻松创建另一个数据库。您必须使用 SQL 或其他工具来创建除“XE”之外的更多数据库。


谢谢,很好的答案,这正是我需要的。这个答案应该被投票给顶部。
这是一个比接受的答案更有帮助的答案。
这不回答问题
J
James Drinkard

此链接: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 连接到 Oracle Database XE SQL Developer 是一个客户端程序,您可以通过它访问 Oracle Database XE。对于 Oracle Database XE 11g 第 2 版 (11.2),您必须使用 SQL Developer 3.0 版。本节假设您的系统上安装了 SQL Developer,并说明如何启动它并连接到 Oracle Database XE。如果您的系统上未安装 SQL Developer,请参阅 Oracle Database SQL Developer 用户指南以获取安装说明。注意:对于以下过程:第一次在系统上启动 SQL Developer 时,必须在步骤 1 中提供 java.exe 的完整路径。对于步骤 4,您需要用户名和密码。对于第 6 步,您需要一个主机名和端口。从 SQL Developer 连接到 Oracle Database XE: 启动 SQL Developer。有关说明,请参阅 Oracle Database SQL Developer 用户指南。如果这是您第一次在系统上启动 SQL Developer,系统会提示您输入 java.exe 的完整路径(例如,C:\jdk1.5.0\bin\java.exe)。在提示后键入完整路径或浏览到它,然后按 Enter 键。 Oracle SQL Developer 窗口打开。在窗口的导航框架中,单击连接。将出现“连接”窗格。在“连接”窗格中,单击图标“新建连接”。新建/选择数据库连接窗口打开。在“新建/选择数据库连接”窗口中,在“连接名称”、“用户名”和“密码”字段中输入适当的值。为安全起见,您键入的密码字符显示为星号。密码字段旁边是复选框保存密码。默认情况下,它被取消选择。 Oracle 建议接受默认值。在 New/Select Database Connection 窗口中,单击选项卡 Oracle。 Oracle 窗格随即出现。在 Oracle 窗格中:对于 Connection Type,接受默认值 (Basic)。对于角色,接受默认值。在主机名和端口字段中,接受默认值或键入适当的值。选择选项 SID。在 SID 字段中,键入接受默认值 (xe)。在新建/选择数据库连接窗口中,单击按钮测试。连接已测试。如果连接成功,状态指示器会从空白变为成功。插图说明 success.gif 如果测试成功,请单击按钮连接。新建/选择数据库连接窗口关闭。 Connections 窗格显示您在步骤 4 中在 Connection Name 字段中输入其名称的连接。您处于 SQL Developer 环境中。要退出 SQL Developer,请从“文件”菜单中选择“退出”。


您的意思是数据库配置助手与数据库一起部署?我找不到
抱歉,我刚刚注意到您使用的是 XE。只允许一个实例,安装软件时没有提示创建实例吗?您应该已经创建了一个 SID 为“XE”的数据库。您还应该为 SYS 和 SYSTEM 用户设置密码。
感谢您的帮助,我会检查一下,如果正确,我会标记你是对的
在引用链接时最好使用描述性术语,以防它们被破坏,就像你的第一个链接一样,我发现它被破坏了。然后你可以通过谷歌搜索找到它。高温高压
p
pinei

如果您希望在 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 连接并创建您的表。


A
APC

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

您在安装 XE 时创建了一个数据库。在某些时候,安装过程会提示您输入 SYSTEM 帐户的密码。使用应用程序菜单上的 SQL 命令行连接到 XE 数据库。

XE 文档是在线的并且非常有用。 Find it here

值得一提的是,11g XE 有几个限制,其中之一就是每台服务器只有一个数据库。所以使用预装的数据库是明智的选择。


这不是一个真正的答案,只是使用现有的?他问如何制作一个新的。
@gherbihicham - Seeker 的实际问题是“我如何创建初始数据库?”我解释说安装过程创建了一个初始数据库。事实上,他们正在使用 XE,它有一个明确的限制,即每台机器一个数据库,所以告诉他们如何创建另一个数据库是没有意义的。
A
AVA

将以下代码保存在批处理文件(例如 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

欢迎您的指正和改进!