数据库创建 个人经验总结:Oracle10g手工创建数据库
个人经验总结:Oracle10g手工创建数据库
创建目录
mkdir d:oracleproduct database
mkdir e:oracleadminOra gbdump
mkdir e:oracleadminOra gcdump
mkdir e:oracleadminOra gcreate
mkdir e:oracleadminOra gpfile
mkdir e:oracleadminOra gudump
mkdir e:oracleflash_recovery_area
mkdir e:oracleoradata
mkdir e:oracleoradataOra g
生成windows服务 创建密码文件 在cmd命令下运行
set ORACLE_SID=dbca 绿色部分设置oracle 实例名为 为ora g
d:oracleproduct DB_ binoradim exe new sid ORA G startmode manual spfile d:oracleproduct DB_ binoradim exe edit sid ORA G startmode a spfile
创建一个实例名为dbca 并且有手动启动方式改为自动启动
d:oracleproduct DB_ binorapwd exe file=d:oracleproduct db_ PWDOra g ora password=sysPassword force=y
用oracle自带的orapwd 为sys用户创建一个默认的密码为sysPassword
执行创建数据库脚本
D:oracleora binsqlplus /nolog @D:oracleadmindbcascriptsCreateDB sql
D:oracleora binsqlplus /nolog @D:oracleadmindbcascriptsCreateDBFiles sql
D:oracleora binsqlplus /nolog @D:oracleadmindbcascriptsCreateDBCatalog sql
D:oracleora binsqlplus /nolog @D:oracleadmindbcascriptspostDBCreation sql
黑体部分就是创建数据库要调用的脚本
第一 CreateDB sql
connect SYS/change_on_install as SYSDBA 这是刚刚我们设置的密码以sysdba身份连接到数据库
connect SYS/change_on_install as SYSDBA 这是刚刚我们设置的密码以sysdba身份连接到数据库
set echo on
spool D:oracleora assistantsdbcalogsCreateDB log 写日志
startup nomount pfile= D:oracleadmindbcascriptsinit ora ; 调用参数文件 启动数据库到只装载实例阶段
CREATE DATABASE dbca
MAXINSTANCES
MAXLOGHISTORY
MAXLOGFILES
MAXLOGMEMBERS
MAXDATAFILES 控制文件记录的相关最大日志数 日志组 最大数据文件数等限制
DATAFILE D:oracleoradatadbcasystem dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE D:oracleoradatadbcatemp dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED
UNDO TABLESPACE UNDOTBS DATAFILE D:oracleoradatadbcaundotbs dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED 创建系统 临时 回滚 表空间ITPUB个人空间!dJ l {!i W r f
CHARACTER SET ZHS GBK
NATIONAL CHARACTER SET AL UTF 字符集
LOGFILE GROUP ( D:oracleoradatadbcaredo log ) SIZE K
GROUP ( D:oracleoradatadbcaredo log ) SIZE K
GROUP ( D:oracleoradatadbcaredo log ) SIZE K; 创建日志文件租和成员
spool off
exit;
第二 CreateDBFiles sql
connect SYS/change_on_install as SYSDBA
set echo on
spool D:oracleora assistantsdbcalogsCreateDBFiles log
CREATE TABLESPACE INDX LOGGING DATAFILE D:oracleoradatadbcaindx dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE TABLESPACE TOOLS LOGGING DATAFILE D:oracleoradatadbcatools dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE TABLESPACE USERS LOGGING DATAFILE D:oracleoradatadbcausers dbf SIZE M REUSE AUTOEXTEND ON NEXT K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ; 创建相关用户要用到的表空间
spool off
第三:CreateDBCatalog sql
创建system数据字典 存放到system表空间 相关表 视图等
connect SYS/change_on_install as SYSDBA
set echo on
spool D:oracleora assistantsdbcalogsCreateDBCatalog log
@D:oracleora rdbmsadmincatalog sql;
@D:oracleora rdbmsadmincatexp sql;
@D:oracleora rdbmsadmincatblock sql;
@D:oracleora rdbmsadmincatproc sql;
@D:oracleora rdbmsadmincatoctk sql;
@D:oracleora rdbmsadminowminst plb;
connect SYSTEM/manager
@D:oracleora sqlplusadminpupbld sql;
connect SYSTEM/manager
set echo on
spool D:oracleora assistantsdbcalogssqlPlusHelp log
@D:oracleora sqlplusadminhelphlpbld sql helpus sql;
spool off
spool off
exit;
第四: postDBCreation sql
connect SYS/change_on_install as SYSDBA
set echo on
spool D:oracleora assistantsdbcalogspostDBCreation log
@D:oracleora rdbmsadminutlrp sql; 编译相关视图 包对象等
shutdown ; 关闭数据库
connect SYS/change_on_install as SYSDBA
set echo on
spool D:oracleora assistantsdbcalogspostDBCreation log
create spfile= D:oracleora databasespfiledbca ora FROM pfile= D:oracleadmindbcascriptsinit ora ;
创建服务器参数文件代替文件初始化参数文件 方便有时在不重启数据库的情况下可以使参数生效
从上面可以看到spfile文件的存放位置
startup ; 启动数据库 创建数据库完成 从上面可以看出 创建数据库有以下 个步骤
Step : 创建相关trace目录文件夹
Step :创建实例 密码 启动方式
Step :创建初始化参数文件 init ora
Step : 连接到实例
Step : 启动实例到nomount状态
Step :创建数据库
Step :创建表空间
Step : 运行脚本创建数据字典

Step : 创建服务器参数文件(这步不是必须的 但oracle建议做这步) 好处会在以后的总结中列出
下面也贴出linux下脚本 和windows下几乎差不多
#!/bin/sh
mkdir /oradata/ora i
mkdir /oradata/ora i/controlfile
mkdir /oradata/ora i/redofile
mkdir /orasys/oracle/admin
mkdir /orasys/oracle/admin/ora i
mkdir /orasys/oracle/admin/ora i/bdump
mkdir /orasys/oracle/admin/ora i/cdump
mkdir /orasys/oracle/admin/ora i/create
mkdir /orasys/oracle/admin/ora i/udump
mkdir /orasys/oracle/admin/ora i/pfile
cp init ora /orasys/oracle/product/ /dbs/
export ORACLE_BASE=/orasys/oracle
export ORACLE_HOME=$ORACLE_BASE/product/
export ORACLE_SID=ora i
export ORA_NLS =$ORACLE_HOME/omon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin
echo Add this entry in the oratab: ora i:/orasys/oracle/product/ :Y
/orasys/oracle/product/ /bin/orapwd file=/orasys/oracle/product/ /dbs/orapwora i password=change_on_install
/orasys/oracle/product/ /bin/sqlplus /nolog @/home/oracle/create_script/CreateDB sql
/orasys/oracle/product/ /bin/sqlplus /nolog @/home/oracle/create_script/CreateDBFiles sql
/orasys/oracle/product/ /bin/sqlplus /nolog @/home/oracle/create_script/CreateDBCatalog sql
lishixinzhi/Article/program/Oracle/201311/17648