由于是自己自学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