记录Centos安装oracle 11G过程

记录Centos安装oracle 11G过程

Oracle安装和配置

安装环境
操作系统:centos 7.4
Oracle软件版本:11.2.0

一、系统安装

1.1、配置虚拟机
虚拟机属性
CPU:4
内存:8G
网络适配器:VLAN 1245(dvSwitchA)
硬盘:80G
显卡:自动检测设置

二、系统环境配置(命令行root权限下配置)

2.1、配置网络
修改网卡配置(BOOTPROTO=static,此选项值原为none)

vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes
BOOTPROTO=static
IPADDR=.
NETMASK=
GATEWAY=
DNS1=

PS: 以上地址部分根据实际情况填写

cat /etc/sysconfig/network

HOSTNAME=LTS121

vi /etc/hosts

在文件最后回车,加入以下命令
IP地址 LTS121
以上两个文件中的HOSTNAME要保持一样。(LTS121可以自定义)

重启网卡服务

service network restart

2.2、停止防火墙,并禁止开机启动

service iptables stop

chkconfig iptables off

查看防火墙状态

chkconfig --list iptables

2.3、修改selinux

setenforce 0

vi /etc/selinux/config

将SELINUX=enforcing改为:SELINUX=disabled

查看SELINUX状态

sestatus

三、创建用户组和用户(命令行root权限下配置)

groupadd oinstall  #创建用户组oinstall

groupadd dba  #创建用户组dba

useradd -g oinstall -G dba oracle  #创建oracle用户,并加入到oinstall和dba用户组

passwd oracle  #设置用户oracle的登陆密码,不设置密码,在图形登陆界面没法登陆

Changing password for user oracle.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.

id oracle  #查看新建的oracle用户

四、创建目录(命令行root权限下配置)

mkdir -p /data/oracle  #oracle数据库安装目录

mkdir -p /data/oraInventory  #oracle数据库配置文件目录

mkdir -p /data/package  #oracle数据库软件包解压目录

chown -R oracle:oinstall /data/oracle  #设置目录所有者为oinstall用户组的oracle用户

chown -R oracle:oinstall /data/oraInventory

chown -R oracle:oinstall /data/package

五、下载Oracle软件(命令行root权限下配置)

5.1、从远程Linux主机复制Oracle软件到本地Linux主机上
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

5.2、解压安装包

cd /opt/

unzip linux.x64_11gR2_database_1of2.zip -d /data/package/

unzip linux.x64_11gR2_database_2of2.zip -d /data/package/

chown -R oracle:oinstall /data/package/database/

六、安装依赖包(命令行root权限下配置)

6.1、配置YUM源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

需要修改配置文件的内容,在vi编辑器中更改

vi /etc/yum.repos.d/CentOS-Base.repo

版本替换:%s/ r e l e a s e v e r / 6 / 系 统 替 换 : releasever/6/ 系统替换:%s/ releasever/6/basearch/x86_64/

yum clean all

yum makecache

6.2、安装依赖包

yum -y install make

yum -y install binutils

yum -y install gcc

yum -y install compat-libstdc+±33

yum -y install elfutils-libelf

yum -y install gcc-c++

yum -y install libaio-devel

yum -y install sysstat

yum -y install unixODBC

yum -y install unixODBC-devel

yum -y install pdksh # YUM找不到这个包,不安装也可以

yum -y install expat

以下依赖包系统自带

yum -y install libaio

yum -y install glibc

yum -y install glibc-common

yum -y install glibc-devel

yum -y install glibc-headers

yum -y install libgcc

yum -y install libstdc++

yum -y install libstdc+±devel

七、对oracle用户设置限制,提高软件运行性能(命令行root权限下配置)

编辑limits.conf文件

vi /etc/security/limits.conf

在文件最后回车,加入以下命令
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

编辑login文件

vi /etc/pam.d/login

在文件最后回车,加入以下命令
session required /lib/security/pam_limits.so

八、修改内核参数(命令行root权限下配置)

8.1、编辑sysctl.conf文件

vi /etc/sysctl.conf

在文件最后回车,加入以下命令
fs.aio-max-nr= 1048576 # 文件系统最大异步io
fs.file-max =6815744 #设置最大打开文件数
kernel.shmall= 2097152 #共享内存的总量,8G内存设置:20971524k/1024/1024
kernel.shmmax= 8589934591 #最大共享内存的段大小,8G内存设置:8
102410241024-1
kernel.shmmni= 4096 #整个系统共享内存端的最大数
kernel.sem =250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048586

8.2、使配置参数生效

sysctl -p

九、配置用户的环境变量(命令行root权限下配置)

9.1、编辑.bash_profile文件

vi /home/oracle/.bash_profile

在文件最后回车,加入以下命令
export TMP=/tmp
export TMPDIR=KaTeX parse error: Expected 'EOF', got '#' at position 38: …=/data/oracle #̲oracle数据库安装目录 e…ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=LTS121 #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=/usr/sbin:KaTeX parse error: Expected 'EOF', got '#' at position 7: PATH #̲添加系统环境变量 export…ORACLE_HOME/bin:KaTeX parse error: Expected 'EOF', got '#' at position 7: PATH #̲添加系统环境变量 export…ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/ #添加系统环境变量
export CLASSPATH= O R A C L E H O M E / J R E : ORACLE_HOME/JRE: ORACLEHOME/JRE:ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
umask 022

9.2、使配置立即生效

source /home/oracle/.bash_profile

十、安装Oracle数据库(图形界面Oracle权限下配置)

10.1、执行以下命令

xhost +

cd /data/package/database/

./runInstaller

(先改成英文
export LANG=C搜索
再执行 runInstaller)

10.2、进入Oracle安装界面
10.2.1 Configure Security Updates
取消选择I wish to recelive security updates via My Oracle Support
选‘yes’
10.2.2 选择‘Skip software updates’
10.2.3 选择‘Install database software only’
10.2.4 选择‘Single instance database installation’
10.2.5 Select Product Languages,直接选择‘下一步’
10.2.5 选择 ‘Enterprise Edition’
10.2.6 Specify Installation Location,直接选择‘下一步’
10.2.7 Inventory Directory:/data/orainventory,选‘yes’
10.2.8 Database Operator(OSOPER)Group(Optional),直接选择‘下一步’
10.2.9 检查必须的包,勾选‘lgnore All’,忽略Failed项目。
10.2.10 安装
10.2.11 弹出‘Execute Configuration scripts’,在ROOT命令下执行显示的两个命令
/data/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
弹出‘Enter the full pathname of the local bin directory:[/usr/local/bin]’
直接回车
10.2.12 在安装窗口中,点击‘OK’
10.2.13 点击‘Close’,完成安装。

10.3、创建数据库:LTS121

dbca

启动‘Database Configuration Assistant’
步骤4:
取消勾选‘配置 Enterprise Manager’
步骤5:
选择‘所有帐户使用同一管理口令’
密码:linux123
步骤7:
取消勾选‘指定快速恢复区’
步骤9:
选择‘字符集’选项卡,选择‘使用 Unicode(AL32UTF8)’

十一、启动oracle数据库(命令行Oracle权限下配置)

11.1、查看空间使用情况

df -h #tmpfs剩余空间应大于init.ora.3252017142243文件中MEMORY_TARGET的值。

重新启动系统可以释放tmpfs空间

11.2、进入sqlplus

sqlplus /nolog

SQL>

如果出现command not found,切换到root 执行ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

11.3、使用sysdba角色登录sqlplus
SQL> conn /as sysdba

11.4、启动数据库
SQL> startup

关闭数据库
SQL> shutdown normal

11.5、打开Oracle监听

lsnrctl start

数据库备份恢复

一、归档模式变更

1.1、非归档模式改成归档模式
更改归档模式需要数据库处于mount状态下

1.1.1、关闭数据库
SQL> select status from v i n s t a n c e ; S Q L > s h u t d o w n i m m e d i a t e 1.1.2 、 启 动 数 据 库 到 m o u n t 状 态 S Q L > s t a r t u p m o u n t S Q L > s e l e c t s t a t u s f r o m v instance; SQL> shutdown immediate 1.1.2、启动数据库到mount状态 SQL> startup mount SQL> select status from v instance;SQL>shutdownimmediate1.1.2mountSQL>startupmountSQL>selectstatusfromvinstance;
1.1.3、修改数据库为归档模式
SQL> alter database archivelog;
注意:修改成archive模式之后,之前所有的数据库备份均无效。
1.1.4、查询数据库是否已处于归档模式
SQL> archive log list
1.1.5、打开数据库
SQL> alter database open;

1.2、归档模式改成非归档模式(非必须步骤)
更改归档模式需要数据库处于mount状态下

1.2.1、关闭数据库之前归档当前重做日志
SQL> alter system archive log current;
1.2.2、关闭数据库
SQL> select status from v i n s t a n c e ; S Q L > s h u t d o w n i m m e d i a t e ; 1.2.3 、 启 动 数 据 库 到 m o u n t 状 态 S Q L > s t a r t u p m o u n t ; S Q L > s e l e c t s t a t u s f r o m v instance; SQL> shutdown immediate; 1.2.3、启动数据库到mount状态 SQL> startup mount; SQL> select status from v instance;SQL>shutdownimmediate;1.2.3mountSQL>startupmount;SQL>selectstatusfromvinstance;
1.2.4、更改归档模式为非归档模式
SQL> alter database noarchivelog;
1.2.5、查看的数据库的归档信息
SQL> archive log list;
1.2.6、打开数据库
SQL> alter database open;

二、数据库冷备份与恢复

尽管冷备并不需要开启归档模式,但归档模式下的冷备份可做到数据不丢失。

2.1、进入sqlplus

sqlplus /nolog

SQL> conn /as sysdba

2.2、在关闭数据库之前,查找所需要备份的文件
2.2.1 备份数据文件
SQL> select name from v d a t a f i l e ; 2.2.2 备 份 日 志 文 件 S Q L > s e l e c t m e m b e r f r o m v datafile; 2.2.2 备份日志文件 SQL> select member from v datafile;2.2.2SQL>selectmemberfromvlogfile where type<>‘STANDBY’;
2.2.3 备份控制文件
SQL> select name from v c o n t r o l f i l e ; 2.2.4 备 份 参 数 文 件 默 认 位 于 controlfile; 2.2.4 备份参数文件 默认位于 controlfile;2.2.4ORACLE_HOME/dbs下
名字默认为init O R A C L E S I D . o r a 或 者 s p f i l e ORACLE_SID.ora或者spfile ORACLESID.oraspfileORACLE_SID.ora
2.2.5 备份监听相关配置文件
默认位于$ORACLE_HOME/network/admin下
名字默认为listener.ora、sqlnet.ora、tnsnames.ora

2.3、关闭数据库
SQL> shutdown immediate

2.4、建立备份目录

mkdir /opt/dbbak

mkdir /opt/dbbak_dbs

mkdir /opt/dbbak_network

chown -R oracle:oinstall /opt/dbbak

chown -R oracle:oinstall /opt/dbbak_dbs

chown -R oracle:oinstall /opt/dbbak_network

2.5、备份文件

cd /data/oracle/oradata/LTS121

cp * /opt/dbbak

cd /data/oracle/product/11.2.0/db_1/dbs

cp * /opt/dbbak_dbs

cd /data/oracle/product/11.2.0/db_1/network/admin

cp -r * /opt/dbbak_network

2.6、冷备份的数据恢复
将备份文件复制到原目录

cd /opt/dbbak

cp * /data/oracle/oradata/LTS121

cd /opt/dbbak_dbs

cp * /data/oracle/product/11.2.0/db_1/dbs

cd /opt/dbbak_network

cp -r * /data/oracle/product/11.2.0/db_1/network/admin

备注:
1、非归档模式下的备份,只要将文件复制到原目录中就可以打开数据库了。
2、归档模式下的备份,只要控制文件、归档日志文件、在线日志文件没损坏,
那么就可以将冷备份的数据文件复制到原目录中,然后应用归档日志和在
线日志,就可以做到数据不丢失。

2.7、启动数据库
SQL> startup

三、冷备份异机恢复(该节文档未完成,测试中)

3.1、在源库进行冷备份操作

3.2、在目标主机建立备份恢复目录

mkdir /opt/dbbak

mkdir /opt/dbbak_dbs

mkdir /opt/dbbak_network

chown -R oracle:oinstall /opt/dbbak

chown -R oracle:oinstall /opt/dbbak_dbs

chown -R oracle:oinstall /opt/dbbak_network

3.3、从源主机复制备份数据到目标主机

scp 10.32.35.121:/opt/dbbak/* /opt/dbbak

scp 10.32.35.121:/opt/dbbak_dbs/* /opt/dbbak_dbs/

scp -r 10.32.35.121:/opt/dbbak_network/* /opt/dbbak_network/

3.4、恢复数据文件

3.5、修改目标主机的DBID
查询源主机DBID
SQL> select dbid from v$database;
修改目标主机DBID
RMAN> set dbid=1464913763

3.6、启动数据库到RMAN状态
RMAN> startup nomount;

四、RMAN备份与恢复(归档模式)

4.1、备份整个数据库
4.1.1、启动rman连接本机数据库

rman target /

4.1.2、备份数据库
备份到默认位置
RMAN> backup database;
或备份到指定路径
RMAN> backup database format ‘/opt/rman_bak/backup_%U’;

4.2、备份其它文件
经典整库备份:
RMAN> backup as compressed backupset database include current controlfile plus archivelog delete input;
备份表空间:
RMAN> backup tablespace 名字;
备份数据文件:
RMAN> backup datafile n; (n:具体的数据文件编号select file_name,file_id,tablespace_name from dba_data_files;)
备份控制文件:
RMAN> backup current controlfile;
或者RMAN> backup database include current controlfile;
备份日志文件:
RMAN> backup archivelog all;
或者RMAN> backup database plus archivelog;
备份参数文件:
RMAN> backup spfile

4.3、数据库恢复
4.3.1、关闭数据库
RMAN> shutdown immediate
4.3.2、启动数据库到mount状态
RMAN> startup nomount
RMAN> alter database mount;
4.3.3、恢复数据库
RMAN> restore database;
RMAN> recover database;
RMAN> alter database open;

五、RMAN备份异机恢复(该节文档未完成,测试中)

5.1.2、在源服务器上使用rman备份数据文件,归档日志和控制文件,参数文件的备份
RMAN> run{
2> allocate channel c1 device type disk;
3> backup incremental level 0
4> format ‘/opt/rmanbak/db_full_%U.bkp’
5> tag ‘20170504-FULL’
6> database plus archivelog;
7> release channel c1;
8> }
RMAN> backup current controlfile format ‘/opt/rmanbak/control20170504.bak’;
RMAN> backup spfile format ‘/opt/rmanbak/spfile20170504.bak’;

5.1.3、将备份内容拷贝至目标服务器

cd /opt/rmanbak/

scp * 10.32.35.122:/opt/rmanbak

5.2、目标库操作

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 05/02/2017 16:20:13
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: ‘/data/oracle/oradata/RHDB/system01.dbf’
错误解决方法:
RMAN> recover datafile ‘/data/oracle/oradata/RHDB/system01.dbf’
RMAN> recover tablespace system;
RMAN> recover database;
RMAN> alter database open resetlogs;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 02/18/2013 00:33:49
RMAN-06062: can not backup SPFILE because the instance was not started with SPFILE
错误解决方法:
查询启动方式
SQL> select decode(count(*),1,‘spfile’,‘pfile’) from v$spparameter where rownum=1 and isspecified = ‘TRUE’;
DECODE

pfile
果然是pfile,重新启动数据库,会自动切换的spfile了(也可以设置spfile启动)
查询数据库用使用的参数文件类型:
SQL>show parameter spfile
两个参数文件相互转换。
如果在\database(windows)、/dbs(Unix)目录中,同时存在spfileSID.ora及initSID.ora,则spfileSID.ora优先使用。
转换方法:
SQL>create spfile from pfile;
SQL>create pfile from spfile;

复制initorcl.ora文件(命令行Oracle权限下配置)

cd /data/oracle/admin/RHDB/pfile/

ls

init.ora.3252017142243

cp init.ora.3252017142243 /data/oracle/product/11.2.0/db_1/dbs/initLTS121.ora

cat init.ora.3252017142243

安装过程中出现‘Swap Size Failed’
解决方法:忽略该错误,进行下一步安装。

安装过程中出现‘ip address of localhost could not be determined’错误
解决方法:

cat /etc/sysconfig/network

HOSTNAME=redhat169
#cat /etc/hosts
192.168.169.169 redhat169
以上两个文件中的hostname要保持一样。

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘/oracle/product/11.1.0/db_1/dbs/initfstest.ora’
以上错误解决方法:
到cd $ORACLE_BASE/admin/RHDB/pfile/目录下,将init.ora.3252017142243复制到dbs目录下:

cp init.ora.3252017142243 /data/oracle/product/11.2.0/db_1/dbs/initorcl.ora

cd /data/oracle/product/11.2.0/db_1/dbs/

chmod 777 initorcl.ora

ORA-00845: MEMORY_TARGET not supported on this system
这个错误解决方法1:增大内存(8G改成16G)
方法2:

SCP报错:Host key verification failed
这是Linux重装或则openssh-server重装引起的,执行以下命令即可
ssh-keygen -R 10.32.35.120

vm tools安装错误解决方案:

在运行的过程中,由于之前错误安装过tools,跳出下列信息:
The installer found the following conflicting packages installed on the system and will now remove them:
open-vm-tools
错误:依赖检测失败:
libhgfs.so.0()(64bit) 被 (已安裝) open-vm-tools-desktop-9.4.0-3.el7.x86_64 需要
libvmtools.so.0()(64bit) 被 (已安裝) open-vm-tools-desktop-9.4.0-3.el7.x86_64 需要
open-vm-tools(x86-64) = 9.4.0-3.el7 被 (已安裝) open-vm-tools-desktop-9.4.0-3.el7.x86_64 需要
Failed to remove the following packages:
open-vm-tools
Please manually remove them before installing VMware Tools.
Execution aborted.
Found VMware Tools CDROM mounted at /run/media/olay/VMware Tools. Ejecting
device /dev/sr0 …
提示信息告诉我们需要先卸载open-vm-tools-desktop
5、输入指令 rpm -e open-vm-tools-desktop
6、卸载完之后再重新安装
输入指令 ./vmware-install.pl
7、剩下的 一直按enter即可
8、验证一下window界面的文档是否能直接拖到linux界面中,可以的话你就成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值