一 概述
假如一台服务器上已经安装了一个单机版的oracle实例orcl,这时想在这台服务器上再部署一个单机版的oracle实例ystat,则可以参考该文档进行部署。
注意:新实例名不要带特殊字符,下划线也不要。
二 操作步骤
2.1 创建相关目录
用root用户创建:
mkdir -p /u01/app/oracle/oradata/ystat
chown -R oracle:oinstall /u01/app/oracle/oradata/ystat
su - oracle
mkdir -p /u01/app/oracle/admin/ystat/adump
2.2 新建初始化参数文件
2.2.1 创建pfile文件
cd $ORACLE_HOME/dbs
vi initystat.ora
添加:
ystat.__db_cache_size=4395630592
ystat.__java_pool_size=33554432
ystat.__large_pool_size=50331648
ystat.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
ystat.__pga_aggregate_target=2969567232
ystat.__sga_target=5519704064
ystat.__shared_io_pool_size=0
ystat.__shared_pool_size=956301312
ystat.__streams_pool_size=33554432
*.audit_file_dest='/u01/app/oracle/admin/ystat/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/ystat/control01.ctl','/u01/app/oracle/oradata/ystat/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='ystat'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ystatXDB)'
*.memory_target=16489271296
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=335
*.undo_tablespace='UNDOTBS1'
2.2.2 创建spfile文件
[oracle@XYSHQ-ORACLE dbs]$ export ORACLE_SID=ystat
[oracle@XYSHQ-ORACLE dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期五 8月 13 09:21:31 2021
Copyright (c) 1982, 2013, Oracle. All rights reserved.
已连接到空闲例程。
SQL> create spfile from pfile;
文件已创建。
会看到在$ORACLE_HOME/dbs路径下生成了spfileystat.ora文件。
2.3 将数据库启动到nomount状态
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 1.6435E+10 bytes
Fixed Size 2269552 bytes
Variable Size 7851740816 bytes
Database Buffers 8556380160 bytes
Redo Buffers 24678400 bytes
2.4 创建数据库
CREATE DATABASE ystat
USER SYS IDENTIFIED BY 密码
USER SYSTEM IDENTIFIED BY 密码
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ystat/redo01.log') SIZE 500M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/ystat/redo02.log') SIZE 500M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/ystat/redo03.log') SIZE 500M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/ystat/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/ystat/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/ystat/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/ystat/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/ystat/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
示例:
创建完数据库后,数据库自动启动到了open状态:
2.5 执行创建数据字典等脚本
@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
--输出内容略,大约需执行5-10分钟。
2.6 修改listener.ora和tnsnames.ora
cd $ORACLE_HOME/network/admin
vi listener.ora,添加:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
(SID_DESC =
(GLOBAL_DBNAME = ystat)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = ystat)
)
)
vi tnsnames.ora
添加如下内容:
YSTAT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = XYSHQ-ORACLE)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ystat)
)
)
注意:HOST= XYSHQ-ORACLE这里记得根据实际情况改成自己服务器的主机名。
#重启监听
lsnrctl stop
lsnrctl start
2.7 设置新instance开机自启动
用root用户修改/etc/oratab,添加一行:
ystat:/u01/app/oracle/product/11.2.0/dbhome_1:Y
2.8 创建口令文件
orapwd file=$ORACLE_HOME/dbs/orapwYSTAT
--注意:口令文件名里的实例名必须是大写,否则会有问题
2.9 创建ystat表空间
#登录统计数据库su - oracleexport ORACLE_SID=ystatsqlplus / as sysdba
#创建表空间
create tablespace ystat datafile '/u01/app/oracle/oradata/ystat/ystat.dbf' size 30G autoextend on;
2.10 创建ystat用户
create user ystat identified by ystat_sys;grant connect,resource to ystat;
grant dba to ystat;
2.11 扩容表空间
alter tablespace system add datafile '/u01/app/oracle/oradata/ystat/system02.dbf' size 30G autoextend on;
alter tablespace temp add tempfile '/u01/app/oracle/oradata/ystat/temp02.dbf' size 30G autoextend on;
2.12 设置程序账号密码永不过期
默认账号会在180天后过期,需要设置成永不过期,否则过期后会影响业务。
alter profile default limit password_life_time unlimited;