Oracle 11g数据库的创建

时间:2024-02-15 13:45:21

由于是自己自学Oracle,如果有问题,请大家指出,谢谢!

Oracle提供了DBCA来创建数据库,对于初学者来说使用DBCA创建数据库简化了很多工作和设置,直接在交互界面即可实现所有的功能。

然而对于实际的生产数据库来说,使用DBCA来创建不切实际,建议按实际需求规划来创建数据库。

Oracle数据库的创建不像SQL server,直接使用CREATE DATABASEDB_NAME(仅作临时,演示用)一条语句即可实现。

不管是SQL还是Oracle,对于创建生产型数据库都需要进行需求分析、规划、创建等步骤。

一、规划数据库
创建数据库的目的(高可用性、并发性、数据装载)
数据库的应用类型(OLAP,OLTP)
数据库存储结构的设计
数据库的名称、字符集
db_block 块的大小
数据库容量的初始大小及增幅

 

二、建库前需要确认的问题
(创建后不可修改) 可调整的设置,建议提前确定 其他注意事项

数据库字符集(建议使用AL32UTF8,该字符集支持XML)

SGA大小sga_max_size 文件存储方式(文件系统/RAW/ASM)
数据库的名称(SID) 日志缓冲区大小log_buffer日志缓冲区大小log_buffer 数据文件、日志文件大小、存储位置
数据块的大小 最大允许进程数 表空间的构成

 

三、创建数据库的方法
序号 方法 优点 缺点
1

使用DBCA创建数据库:

通过安装软件后自动调用DBCA来创建;

运行Oracle Database Configuration Assistant ;

命令行下输入dbca,手动调用DBCA创建(图型化界面,跨平台);

GUI方法使用方便; 建议不熟悉创建过程的DBA使用该方法 不过创建过程有些慢
2 用命令行的方式建立数据库; 可以熟悉创建指令,创建原理 配置简单,要求熟记命令行指令
3 通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建配置或删除数据库 - -

方法23具体实现:

 

2.用命令行的方式建立数据库;

CONNECT / AS SYSDBA
STARTUP PFILE= \'C:oracleadmininit_testorcl.ora\' NOMOUNT;
CREATE DATABASE testOrcl DATAFILE \'/u02/oracle/testOrcl/system01.dbf\' SIZE 100M
LOGFILE GROUP1 (\'/u01/oracle/testOrcl/redo1a.log\',
\'/u02/oracle/testOrcl/redo1b.log\') SIZE 500K,
GROUP2 (\'/u01/oracle/testOrcl/redo1a.log\',
\'/u02/oracle/testOrcl/redo1b.log\') SIZE 500K
CHARACTER SET ZHS16CGB231280;

--将数据库直接从未建置状态转换到打开状态

ALTER DATABASE OPEN;

--删除数据库(Dropping a Database)

SPOOL C:DROP_DATABASE.BAT
SELECT \'DEL \'||NAME 删除数据库相关数据文件 FROM V$DATAFILE;
SELECT \'DEL \'||MEMBER 删除数据重构日志文件 FROM V$LOGFILE;
SPOOL OFF;

3.通过运行自定义的批处理脚本(或create_ORACLE_SID.bat(create_ORACLE_SID.sql))来创建配置或删除数据库。

--create_ORACLE_SID.bat

set ORACLE_SID= ORACLE_SID.
del C:ORACLE8IdatabasepwdORACLE_SID.ora
C:ORACLE8Ibinoradim -new -sid ORACLE_SID. -intpwd oracle -startmode manual
-pfile C:ORACLE8IadminORACLE_SIDpfileinit.ora
C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun.sql
C:ORACLE8Ibinsvrmgrl @C:WINNTProfilesAdministratorLbORACLE_SIDrun1.sql
C:ORACLE8Ibinoradim -edit -sid ORACLE_SID -startmode auto

--ORACLE_SIDrun.sql

spool C:ORACLE8IadminORACLE_SIDcreatecreatedb
set echo on
connect INTERNAL/oracle
startup nomount pfile=C:ORACLE8IadminORACLE_SIDpfileinit.ora
CREATE DATABASE ORACLE_SID
LOGFILE \'C:ORACLE8IoradataORACLE_SIDredo01.log\' SIZE 1024K,
\'C:ORACLE8IoradataORACLE_SIDredo02.log\' SIZE 1024K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE \'C:ORACLE8IoradataORACLE_SIDsystem01.dbf\' SIZE 50M REUSE
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHT16BIG5
NATIONAL CHARACTER SET ZHT16BIG5;
spool off

--ORACLE_SIDrun1.sql

spool C:ORACLE8IadminORACLE_SIDcreatecreatedb1
set echo on
connect INTERNAL/oracle
ALTER DATABASE DATAFILE \'C:ORACLE8IoradataORACLE_SIDsystem01.dbf\' AUTOEXTEND ON;
CREATE ROLLBACK SEGMENT SYSROL TABLESPACE "SYSTEM" STORAGE (INITIAL 100K NEXT 100K);
ALTER ROLLBACK SEGMENT "SYSROL" ONLINE;

另外我要说的是,新建全局数据库后:

sys的口令是:change_on_install

system的口令是:manager

第一次启动的服务器有:

OracleOraHome90Agent

OracleOraHome90TNSListener

OracleService(你数据库名字:例如你建立的数据库和SID名为:NEW,那这里就是NEW)

 

         由于自己还是oracle小白,因此使用第一种方法创建数据库,下面将详述其过程:

1.【开始】/【程序】/【Oracle - OraDb10g_home1】/【配置和移植工具】/【Database Configuration Assistant】双击

或者打开命令提示符(运行中输入CMD打开 ),输入dbca,回车。

2.出现DBCA欢迎界面,点击下一步。

3.选择创建数据库,点击下一步。

4.选择一般用途或事务处理,下一步。

5.输入数据库名称,默认全局和SID 是一样的,为mydb,点击下一步。

6.配置EM,这里你可以去掉勾,不去配置。点下一步。

7.设置用户口令,可根据自己需求新选择,使用不同管理口令还是所有账户使用同一管理口令。

8.我选择所有账户使用同一管理口令,密码设为了123,点击下一步,出现以下提示,

可以忽略,点击是。

9.此后一直“下一步”即可。

字符集改为了AL32UTF8,可以根据需要修改

10.勾选生成数据库创建脚本,点击完成。

11.确认即可,生成脚本文件。

 12.确定后,继续创建数据库。

 

 

 

由于Enterprise Manager配置出错,如何解决该类问题。其实报错已经说明是因为监听程序未启动,

1).可直接打开NET Configuration Assistant进行监听程序配置。

2).重新配置EM