在CentOS 6.5上安装Oracle Database 11g Release 11.2.0.1.0 - 64bit Production,选择只安装ORACLE软件,后面的一切都打算使用命令模式进行,以便摸索细节。
一、新建init<DATABASE_NAME>.ora文件
ORACLE提供了一个模板文件init.ora,位于<ORACLE_HOME>/dbs目录下,可以拷贝,然后根据具体参数和需要进行增删改。
我的文件initstudy.ora内容如下:
db_name='study'
memory_target=1G
processes = 150
audit_file_dest='/app/oracle/admin/study/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/app/oracle'
# dispatchers='(PROTOCOL=TCP) (SERVICE=STUDYDB)'
open_cursors=300
remote_login_passwordfile='SHARED'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = ('/app/oracle/oradata/study/control01.ctl', '/app/oracle/flash_recovery_area/study/control02.ctl')
compatible ='11.2.0'
文件准备好,才能进行下一步。
二、建库过程根据ORACLE官方文档管理员指南,主要步骤如下
1.连接并启动oracle instance:
sqlplus / as sysdba
startup nomount
2.准备建库sql,我的sql内容:
CREATE DATABASE study
USER SYS IDENTIFIED BY ***
USER SYSTEM IDENTIFIED BY ***
LOGFILE GROUP 1 ('/app/oracle/oradata/study/redo01.log') SIZE 100M,
GROUP 2 ('/app/oracle/oradata/study/redo02.log') SIZE 100M,
GROUP 3 ('/app/oracle/oradata/study/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/app/oracle/oradata/study/system01.dbf' SIZE 500M REUSE
SYSAUX DATAFILE '/app/oracle/oradata/study/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE study
DATAFILE '/app/oracle/oradata/study/study01.dbf'
SIZE 500M REUSE AUTOEXTEND OFF
DEFAULT TEMPORARY TABLESPACE temptbs1
TEMPFILE '/app/oracle/oradata/study/temp01.dbf'
SIZE 200M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/app/oracle/oradata/study/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND OFF;
3.提前建立.ora文件及建库sql中用到的各个目录,然后执行建库sql。
4.执行ORACLE提供的sql脚本,创建数据字典:
<ORACLE_HOME>/rdbms/admin/catalog.sql
<ORACLE_HOME>/rdbms/admin/catproc.sql
<ORACLE_HOME>/sqlplus/admin/pupbld.sql --这个可以暂不执行。
三、启动listener,并创建pwfile
数据库默认的listener中的HOST值取自/etc/hosts文件中与127.0.0.1对应的第一个值。
本人第一次在此启动listener,没有创建pwfile,执行emca时报错,然后进行回滚操作,也报错,注意到日志中有一条:
Could not connect to SYS/(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=***)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=study))): ORA-01031: insufficient privileges (DBD ERROR: OCISessionBegin)
注意:上面的HOST值取自环境变量,必须与listener中的HOST值一致。
遂手工执行:sqlplus sys/syspwd@<hostname>/<ORACLE_SID> as sysdba,报相同的错误ORA-01031,问题在于缺少pwfile。
因此需要先创建pwfile:
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID entries=3 password=*** force=y
四、执行emca命令
[oracle@*** study]$ emca -config dbcontrol db -repos create
EMCA 开始于 2014-4-12 16:16:40
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: study
监听程序端口号: 1521
监听程序 ORACLE_HOME [ /app/oracle/product/11.2.0/db_1 ]:
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ /app/oracle/product/11.2.0/db_1
本地主机名 ................ ***
监听程序 ORACLE_HOME ................ /app/oracle/product/11.2.0/db_1
监听程序端口号 ................ 1521
数据库 SID ................ study
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2014-4-12 16:17:45 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到 /app/oracle/cfgtoollogs/emca/study/emca_2014_04_12_16_16_40.log。
2014-4-12 16:17:45 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2014-4-12 16:24:12 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
2014-4-12 16:24:15 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...
2014-4-12 16:25:32 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功上载配置数据
2014-4-12 16:25:33 oracle.sysman.emcp.ParamsManager getLocalListener
警告: 检索 jianxt.thinkpad 的监听程序时出错
2014-4-12 16:25:35 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib
信息: 软件库已配置成功。
2014-4-12 16:25:35 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 正在部署预配档案...
2014-4-12 16:26:28 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary
信息: 预配档案部署成功。
2014-4-12 16:26:28 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2014-4-12 16:26:33 oracle.sysman.emcp.util.DBControlUtil secureDBConsole
信息: 已成功保护 Database Control。
2014-4-12 16:26:33 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2014-4-12 16:27:14 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2014-4-12 16:27:14 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 https://<hostname>:1158/em <<<<<<<<<<<
2014-4-12 16:27:17 oracle.sysman.emcp.EMDBPostConfig invoke
警告:
************************ WARNING ************************
管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。加密密钥已放置在文件 /app/oracle/product/11.2.0/db_1/<hostname>_study/sysman/config/emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可用。
***********************************************************
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2014-4-12 16:27:17