文章目录
oracle安装
系统要求
- CentOS7_64位系统。(最好7以上)
- Oracle数据库(版本11.2.0.4.0
系统设置
- 关闭seliunx
查看selinux状态:getenforce 或者 sestatus -v
临时关闭:setenforce 0
永久关闭:vim /etc/selinux/config 设置SELINUX=disabled
- 关闭firewalld
查看:systemctl status firewalld
关闭: systemctl disabled firewalld
oracle安装
创建用户组
使用root用户创建
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
创建用户
useradd -u 502 -g oinstall -G dba,oper oracle
设置oracle密码
passwd oracle
创建安装oracle所需要的文件夹
使用root创建记得修改归属目录
mkdir -p /ora01/app
chown oracle:oinstall /ora01/app
chmod 775 /ora01/app
# 下载的oracle安装包(11gR2版本),解压完成后会生成database文件夹。
mkdir -p /ora01/app/database
chown oracle:oinstall /ora01/app
chmod 775 /ora01/app/database
# ORACLE_BASE目录,即oracle安装基目录
mkdir -p /ora01/app/oracle
chown oracle:oinstall /ora01/app/oracle
chmod 775 /ora01/app/oracle
# oracle安装基目录
mkdir -p /ora01/app/oracle/product/11.2.0/db_1
chown oracle:oinstall -R /ora01/app/oracle
# 在静默安装过程中(即无图形界面),用来存放log以及其它一些文件。若使用图形化界面安装无需创建,会自动生成该文件夹。
mkdir -p /ora01/app/oraInventory
chown oracle:oinstall /ora01/app/oraInventory
chmod 775 /ora01/app/oraInventory
# 同样添加数据库实例时要用到,需要在配置dbca.rsp时使用
mkdir -p /ora01/app/oradata
chown oracle:oinstall /ora01/app/oradata
chmod 775 /ora01/app/oradata
# 先创建好后面配置/data/src/database/response/dbca.rsp时要使用该文件夹
mkdir -p /ora01/app/flash_recovery_area
chown oracle:oinstall /ora01/app/flash_recovery_area
chmod 775 /ora01/app/flash_recovery_area
修改配置文件
使用root用户 vim /etc/sysctl.conf
添加以下内容(我的虚拟机是2G内存)
...
#整个系统共享内存端的最大数
kernel.shmmni = 4096
#最大共享内存的段大小
kernel.shmmax = 2147483647
# 共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 524288
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194303
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
...
生效:/sbin/sysctl -p
vim /etc/security/limits.conf
添加以下内容
···
racle soft nproc 131072
oracle hard nproc 131072
oracle soft nofile 131072
oracle hard nofile 131072
oracle soft core unlimited
oracle hard core unlimited
oracle soft memlock 50000000
oracle hard memlock 50000000
···
vim /etc/hosts
把自己的主机名配置在127.0.0.1
···
127.0.0.1 myhost localhost localhost.localdomain
···
vim /etc/profile
···
#oracle
export ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
···
生效:source /etc/profile
使用oracle用户修改: vim .bashrc
···
export TMP=/tmp
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
···
生效:source /home/oracle/.bashrc
使用oracle用户修改: vim .bash_profile
···
export TMP=/tmp
export ORACLE_BASE=/ora01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
···
生效:source /home/oracle/.bash_profile
修改/etc/redhat-release 内容为redhat-7,并重命名/etc/redhat-7
vim /etc/redhat-release
mv /etc/redhat-release /etc/redhat-7
安装依赖
- 检查依赖
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel
- 安装缺少的依赖
yum -y install 缺少的报名
或者安装全部(没测试过)
yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz
- 如果不能上网的可以下载依赖再安装
yum install --downloadonly --downloaddir=oraclerpm 缺少的报名
拷贝到内网
rpm -Uvh --force --nodeps *rpm
最好重启下
reboot
安装
先解压文件
unzip linux.x64_11gR2_database_1of2.zip -d /ora01/app/
unzip linux.x64_11gR2_database_2of2.zip -d /ora01/app/
- 修改安装应答文件
vim /ora01/app/database/response/db_install.rsp
···
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle.server
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/ora01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/ora01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=oral
oracle.install.db.config.starterdb.SID=oral
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryLimit=800
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
···
- 安装
/ora01/app/database/runInstaller -silent -responseFile /ora01/app/database/response/db_install.rsp -ignorePrereq
安装结束根据提示,使用root用户执行以下命令。
/ora01/app/oraInventory/orainstRoot.sh
/ora01/app/oracle/product/11.2.0/db_1/root.sh
配置oracle监听程序
- 修改安装监听应答文件 (其实可以不用修改默认即可)
vim /ora01/app/database/response/netca.rsp
···
INSTALL_TYPE=""custom"" # 安装的类型,也可以typical
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
···
- 安装监听
/ora01/app/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /ora01/app/database/response/netca.rsp
- 测试监听有没有启动
netstat -tnulp | grep 1521
- 如果报错
如果报 njni11 Java.lang.UnsatisfiedLinkError 错误的话。按以下操作
···
cd $ORACLE_HOME/inventory/Scripts/ext/lib/
cp libclntsh.so.11.1 $ORACLE_HOME/lib/
···
添加数据库实例
- 修改应答文件
vim /ora01/app/database/response/dbca.rsp
···
RESPONSEFILE_VERSION ="11.2.0" // 不要变
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orcl" // 数据库实例名
SID ="orcl" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/ora01/app/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/ora01/app/flash_recovery_area // 恢复数据存放目录
CHARACTERSET ="AL32UTF8" // 字符集
NATIONALCHARACTERSET= "AL16UTF16" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%。
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
SYSDBAPASSWORD = "oracle"
···
- 安装
/ora01/app/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /ora01/app/database/response/dbca.rsp
启动和关闭实例的程序
修改文件/ora01/app/oracle/product/11.2.0/db_1/bin/dbstart和/ora01/app/oracle/product/11.2.0/db_1/bin/dbshut
将ORACLE_HOME_LISTNER=$1修改为ORACLE_HOME_LISTNER=/ora01/app/oracle/product/11.2.0/db_1
修改文件 /etc/oratab将orcl:/ora01/app/oracle/product/11.2.0/db_1:N修改为orcl:/ora01/app/oracle/product/11.2.0/db_1:Y
至此安装结束
启动监听
/ora01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start
启动实例
/ora01/app/oracle/product/11.2.0/db_1/bin/dbstart
设置开机启动
chmod +x /etc/rc.d/rc.local
修改文件/etc/rc.d/rc.local,在文件最后追加以下内容。
vim /etc/rc.d/rc.local
···
su oracle -lc "/ora01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/ora01/app/oracle/product/11.2.0/db_1/bin/dbstart"
···
登录oracle
su oracle 切换oracle用户
sqlplus 进入oracle环境
systom 用户名
****** 输入设置的密码
查看oracle进程
ps -ef | grep ora_ | grep -v grep
lsnrctl status
netstat -tnulp | grep 1521
启动关闭命令
/ora01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start
/ora01/app/oracle/product/11.2.0/db_1/bin/lsnrctl stop
/ora01/app/oracle/product/11.2.0/db_1/bin/dbstart /ora01/app/oracle/product/11.2.0/db_1
/ora01/app/oracle/product/11.2.0/db_1/bin/dbshut /ora01/app/oracle/product/11.2.0/db_1
参考链接
https://blog.csdn.net/olengyuehun/article/details/88849948
https://blog.csdn.net/yimisiyang/article/details/103916236?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242