环境:
oracle11.2.0.4
redhat6.2
在上篇文章中,我们只安装了oracle,还没有建立实例,本篇文章就来介绍如果手动建立实例。
1.创建密码文件(password file)----非必要
cd $ORACLE_HOME/dbs/
查看是否有init.ora:
ls
创建密码文件:
orapwd file=orapwocp password=ocp
这样创建后的密码文件是一个二进制文件
查看是否创建成功:
ls
2. 创建参数文件(parameter file)
从oracle9i开始,oracle检查parameter file的顺序是:
1. spfileSID.ora 二进制找当前实例的参数文件
2. spfile.ora 二进制
3. initSID.ora 文本的
4. init.ora 文本的
创建参数文件:
vi initocp.ora
添加以下内容:
#compatible= 11.2.0.4.0 (可先注释掉)
db_name=ocp
audit_file_dest='/u01/app/oracle/admin/ocp/adump'
core_dump_dest='/u01/app/oracle/admin/ocp/cdump'
control_files=('/u01/app/oracle/oradata/ocp/control01.ctl','/u01/app/oracle/oradata/ocp/control02.ctl')
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=1g
以上内容并不是全部都需要写,必要的参数只有:db_name,audit_file_dest
3.创建相应的文件夹
cd /u01/app/oracle/
创建dump文件:
mkdir -p admin/ocp/adump/
mkdir -p admin/ocp/cdump/
mkdir -p oradata/ocp/
mkdir flash_recovery_area
4.启动到nomount状态
这里介绍以下oracle数据库启动的3个状态:shutdown-->nomount-->mount-->open
启动sqlplus:
sqlplus / as sysdba;
启动到nomount:
startup nomount;
SGA等内存空间oracle会根据系统自动分配。
5.创建database
在nomount的状态下就可以创建database了。
创建database:
create database ocp;
此步骤过后数据库自动启动到open状态
查询语句:
select status from v$instance
6.创建数据字典
手动建库后的database大多数view是不能查看的,所以需要再创建数据字典。
在open状态下执行以下命令:
@?/rdbms/admin/catalog --创建系统视图及语法校验,否则无法执行sql
@?/rdbms/admin/catproc --创建系统视图及语法校验,否则无法执行sql
--创建WMSYS用户
@$ORACLE_HOME/rdbms/admin/owmctab.plb
@$ORACLE_HOME/rdbms/admin/owmaggrs.plb
@$ORACLE_HOME/rdbms/admin/owmaggrb.plb
7.补全initocp.ora
查看数据库版本:
SELECT * FROM PRODUCT_COMPONENT_VERSION;
将版本
11.2.0.4.0
粘贴至
前文
initocp.ora
注意:到此步骤,实例就建立完成了,但是这时并没有listener,所以使用其他工具是链接到不到实例的,但是可以在OS中的sqlplus中操作!!!
8.配置listener
在listener.ora文件中添加以下内容:
cd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/
vi listner.ora
ocp =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ocp)
)
)
9.启动listener
启动:
lsnrctl start;
注意:这里启动之后并不会马上就启动监听,一般启动监听在3-5分钟左右
查询状态:
lsnrctl status;
当看到status READY时,就证明启动了listener
注意:到这里就可以使用工具连接到实例了,但是想要使用还需要创建user表空间和temp临时表空间!!!
10.创建USERS表空间
登陆到sqlplus下: sqlplus / as sysdba;
确认是否存在USERS表空间:
SELECT* FROM DBA_TABLESPACES;
如果没有发现USERS表空间,则需要创建:
CREATETABLESPACE USERS
DATAFILE'/u01/app/oracle/oradata/upcrm/user_space.dbf'
SIZE 500m
AUTOEXTEND ON
NEXT 200MMAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;
将user表空间设置为默认表空间:
ALTER DATABASE DEFAULT TABLESPACE USERS;
11. 创建TEMP临时表空间
确认是否存在TEMP临时表空间:
SELECT* FROM DBA_TABLESPACES;
如果没有,则需要创建:
createtemporary tablespace temp
tempfile '/u01/app/oracle/oradata/upcrm/temp_space.dbf'
size 50m
autoextend on
next 50mmaxsize 2048m
extent management local;
-----------------------------------------------------------------------------------------------------------------------------
到此手动建库结束,oracle数据库就可以使用了。