SLES 10安装Oracle10gR2笔记
2024-10-14 03:54:43
SLES 10安装Oracle10gR2笔记
一、 数据库安装
. 安装C/C++ Compiler
gcc --version验证是否安装
. 验证Service Pack版本
SPident –v
. 修改/etc/hosts
#127.0.0.1 localhost
192.168.0.123 localhost
. 安装先决程序包
可以在安装操作系统是选择Oracle Base Server或者安装如下程序包:
#rpm -ivh orarun-1.9-21.2.x86_64.rpm
. 设置oracle用户
修改/etc/passwd的oracle用户的/bin/false为/bin/bash,或先删除用户重建。并设置oracle用户密码:
# groupadd oinstall
# groupadd dba
# useradd oracle -g oinstall -G dba
# passwd oracle . 设置oracle用户环境变量(/etc/profile.d/oracle.sh)
PATH=$PATH:$HOME/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib # added for install oracle10g
export ORACLE_BASE=$HOME
export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
export ORACLE_SID=testdb # deleted after install oracle10g
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" export PATH=$PATH:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:. export DISPLAY=:0.0 unset USERNAME
unset LANG
. 设置内核参数
/usr/sbin/rcoracle start
. 验证oracle信息
oracle@devtest:~> id
uid=(oracle) gid=(oinstall) groups=(oinstall),(dba)
. 安装oracle
在~oracle/database/install/oraparam.ini的[Certified Versions]行加入SuSE-10后执行./ runInstaller
或者执行./runInstaller -ignoreSysPrereqs
. 设置GUI显示
#xhost +
$xhost + 并设置环境变量
export DISPLAY=:0.0
. 新建数据库
dbca
. 监听器配置(LISTENER)
>netmgr或netca
配置Listening Locations和Database Services项。
然后重启监听程序
>lsnrctl start
. 配置Service Naming
>netca
. 登陆测试
>sqlplus /nolog
sql>conn system/oracle@testdb
. 安装问题处理
. emca script 错误
分析解答:
出现此类问题,一般要求检查主机名与Hosts文件对应是否吻合,特别是大小写检查经常大意导致运行dbca 创建数据库过程中报错。出现此类问题后,可以通过以下步骤解决:
$ su - oracle
$ emca -deconfig dbcontrol db -repos drop #删除EM资料档案库
$ emca -repos create #建 EM 资料档案库
$ emca -config dbcontrol db #置数据的 Database Control 过上述步骤后,如果正常,EM管理控制台可正常使用,运行Http://IPAdrees:1158/em
如果运行ca -repos create 后出现异常,则检查Oracle local_listener是否为空,否则清空后再运行。
二、 创建数据库
. 新建数据库
系统数据文件目录:/oradata/system
用户归档日志目录:/oradata/logarch
用户数据文件目录:/oradata/userdata 执行dbca新建数据库 . 数据库启动脚本startdb.sh
#!/bin/sh sqlplus /nolog <<EOF
connect / as sysdba;
startup;
EOF lsnrctl start . 数据库关闭脚本shutdb.sh
#!/bin/sh lsnrctl stop sqlplus /nolog <<EOF
connect / as sysdba;
shutdown transactional;
EOF
三、 Oracle Data Guard配置(10g)
. primary数据库配置
) 确认primary处于归档模式
SQL>archive log list;
) 将primary设置为归档模式
SQL>alter database force logging;
) 创建standby控制文件
SQL> alter database create standby controlfile as '/oradata/system/tzdb/standby.ctl';
) 查看是否存在密码文件,不存在则创建
ls $ORACLE_HOME/dbs/orapwtzdb
orapwd file='orapwtzdb' password='1qaz!QAZ' entries=''
) 创建standby redo log
SQL> alter database add standby logfile group ('/oradata/system/tzdb/stdby_redo01.log') size 50m;
SQL> alter database add standby logfile group ('/oradata/system/tzdb/stdby_redo02.log') size 50m;
SQL> alter database add standby logfile group ('/oradata/system/tzdb/stdby_redo03.log') size 50m;
SQL> alter database add standby logfile group ('/oradata/system/tzdb/stdby_redo04.log') size 50m;
) 创建primary数据库客户端初始化参数文件
此处需要修改多处,为了方便,先创建并修改pfile,然后通过pfile重建spfile,当然也可通过alter system set命令直接修改spfile:
SQL> create pfile='/oradata/system/tzdb/inittzdb.ora' from spfile; 修改上述primary的客户端参数文件/oradata/system/tzdb/inittzdb.ora,增加如下参数:
#-----------------------------------------
#新增配置参数
#-----------------------------------------
DB_UNIQUE_NAME=tzdba
LOG_ARCHIVE_CONFIG='DG_CONFIG=(tzdba,tzdbb)'
LOG_ARCHIVE_DEST_1='LOCATION=/oradata/logarch/tzdb VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=tzdba'
LOG_ARCHIVE_DEST_2='SERVICE=tzdbb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tzdbb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
#ARCHIVE_LAG_TARGET= #-----------------------------------------
#配置standby角色的参数用于角色转换
#-----------------------------------------
FAL_SERVER=tzdbb
FAL_CLIENT=tzdba
STANDBY_FILE_MANAGEMENT=AUTO 通过pfile重建spfile
SQL>shutdown immediate;
SQL>create spfile from pfile='/oradata/system/tzdb/inittzdb.ora';
) 验证listenner和service name配置并测试
lsnrctl stop
lsnrctl start
tnsping tzdba
tnsping tzdbb
. standby数据库配置
) 复制primary的如下文或目录件到standby主机的相应目录
$ORACLE_HOME/admin
包括数据文件
控制文件
产生的standby控制文件
在线日志文件
密码文件
参数文件(inittzdb.ora)
) 恢复standby的控制文件
cp standby.ctl control01.ctl
cp standby.ctl control02.ctl
cp standby.ctl control03.ctl
) 修改standby主机的sqlnet.ora,增加如下参数
SQLNET.EXPIRE_TIME=
) 修改初始化参数文件(/oradata/system/tzdb/inittzdb.ora)
增加如下参数,注意同时修改*_dest的路径
#-----------------------------------------
#新增配置参数
#-----------------------------------------
DB_UNIQUE_NAME=tzdba
LOG_ARCHIVE_CONFIG='DG_CONFIG=(tzdba,tzdbb)'
LOG_ARCHIVE_DEST_1='LOCATION=/oradata/logarch/tzdb VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=tzdba'
LOG_ARCHIVE_DEST_2='SERVICE=tzdbb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=tzdbb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
#ARCHIVE_LAG_TARGET= #-----------------------------------------
#配置standby角色的参数用于角色转换
#-----------------------------------------
FAL_SERVER=tzdbb
FAL_CLIENT=tzdba
STANDBY_FILE_MANAGEMENT=AUTO 通过该pfile创建spfile
SQL> create spfile from pfile='/oradata/system/tzdb/inittzdb.ora';
) 启动standby到mount
SQL>startup mount;
) 启动redo应用
SQL>alter database recover managed standby database disconnect from session;
) Oracle Data Guard测试验证
. 查看同步情况
先连接到primary数据库,然后查看
show parameter instance_name;
alter system switch logfile;
select max(sequence#) from v$archived_log; 连接到standby数据库,然后查看
show parameter instance_name;
select max(sequence#) from v$archived_log; 暂停redo应用,此时仍会接手归档日志,但不应用,直到恢复到应用模式。
alter database recover managed standby database cancel; 查看standby的归档日志是否已被应用到数据文件
select sequence#,applied from v$archived_log order by sequence#; 四、 Standby数据库日常维护
. 关闭standby数据库
shutdown immediate;
. 启动standby数据库到恢复模式
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
. 启动standby数据库到只读模式
startup nomount;
alter database mount standby database;
alter database open read only;
. 将standby数据库从恢复模式切换到只读模式
alter database recover managed standby database cancel;
alter database open read only;
. 将standby数据库从只读模式切换到恢复模式
alter database recover managed standby database disconnect from session;
最新文章
- VirtualBox内ubuntu10.10系统和windows7 共享文件夹
- 资金归集率比率sql
- 如何用VB.Net创建一个三层的数据库应用程序
- Netgen mesh library : nglib
- Notice: Undefined offset 的解决方法
- (转)JS中innerHTML,innerText,value
- NOIP第7场模拟赛题解
- 线程池QueueUserWorkItem
- Springboot在IDEA中执行,开启热部署
- 实验排队功能实现(JAVA)
- DHCP服务器 出现的故障
- Codeforces Round #432 Div. 1
- python3安装ipython 过程以及问题
- Delphi: 圆形进度(环形进度)
- Android -- MediaRecord
- 浏览器端Less
- php include,require 主要是向网页中引入文件
- 13-hadoop-入门程序
- SSD-Tensorflow 从工程角度进行配置
- HTML 参考手册- (HTML5 标准)