参考
https://blog.youkuaiyun.com/oschina_41140683/article/details/81510709
https://blog.youkuaiyun.com/chenghuikai/article/details/85776622
https://www.cnblogs.com/d0usr/p/11965040.html
修改hosts
hostnamectl set-hostname oracle
依赖
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
检查依赖
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel | grep "not installed"
添加组用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
修改用户密码
passwd oracle
查看用户
id oracle
配置内核参数和资源限制
参考:https://blog.youkuaiyun.com/shmily_lsl/article/details/103384366
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2468829
kernel.shmmax = 12640407552
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
配置生效
sysctl -p
限制oracle用户的shell权限
修改limits.conf
vi /etc/security/limits.conf
#在末尾添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
修改login
vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改profile
vi /etc/profile
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目录
mkdir -p /db/oracle
mkdir -p /db/oracle/oraInventory
授权
chown -R oracle:oinstall /db/oracle/
chown -R oracle:oinstall /db/oracle/oraInventory
chmod -R 755 /db/oracle/
配置oracle用户环境变量
export ORACLE_HOSTNAME=oracle
export ORACLE_BASE=/db/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=ORCL
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
生效
source ~/.bash_profile
解压
unzip linux.x64_11gR2_database_1of2.zip -d /db/
unzip linux.x64_11gR2_database_2of2.zip -d /db/
oracle 安装文件配置
chmod 777 etc/*.rsp
修改db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/db/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=oracle
ORACLE_HOME=/db/oracle/product/11.2.0/db_1
ORACLE_BASE=/db/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
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=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
重启
reboot
安装
./runInstaller -silent -force -responseFile /db/oracle/etc/db_install.rsp -ignorePrereq
查看进度
tail -f /db/oracle/oraInventory/logs/installActions2020-10-22_11-20-00AM.log
执行
su root
/db/oracle/inventory/orainstRoot.sh
/db/oracle/product/11.2.0/db_1/root.sh
修改oracle环境变量
vi ~/.bash_profile
source ~/bas_profile
配置监听程序
su oracle
./netca /silent /responseFile /db/oracle/etc/netca.rsp
netstat -tnpl | grep 1521
启动监听程序
lsnrctl start
lsnrctl status
lsnrctl stop
dbca建库
vi /etc/dbca.rsp
[GENERAL]
GDBNAME = "orcl"
SID="orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
CHARACTERSET="AL32UTF8"
NATIONALCHARACTERSET="UTF8"
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
DATAFILEDESTINATION =/db/oracle/oradata
RECOVERYAREADESTINATION=/db/oracle/fast_recovery_area
TOTALMEMORY = "1638"
创建库
dbca -silent -responseFile /db/oracle/etc/dbca.rsp
查看进程
ps -ef | grep ora_ | grep -v grep
查看sql
select status from v$instance;
https://blog.youkuaiyun.com/sunny05296/article/details/56495599
修改可用空间
mount -t tmpfs shmfs -o size=12288M /dev/shm
mount -o remount,size=12288M /dev/shm
vi /etc/fstab
df -h
rm lk
select userenv('language') from dual;
select * from v$version;
开机启动
开启防火墙
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
卸载
/db/oracle/product/11.2.0/db_1/deinstall/deinstall
开机启动
参考
https://www.cnblogs.com/anzerong2012/p/7943900.html
vi /etc/oratab
把orcl:/data/oracle/product/11.2.0/db_1:N
修改成orcl:/data/oracle/product/11.2.0/db_1:Y
vi /etc/rc.d/rc.local
su - oracle -lc /db/oracle/product/11.2.0/db_1/bin/lsnrctl start
su - oracle -lc /db/oracle/product/11.2.0/db_1/bin/dbstart
/data/app/oracle/product/11.2.0/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
/data/app/oracle/product/11.2.0/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /etc/init.d/oracle
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: Oracle 11g R2 AutoRun Servimces
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
#根据个人情况修改路径
export ORACLE_BASE=/db/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#改成自己的ORACLE_SID:testsid
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!OK."
;;
stop)
# Oracle listener and instance shutdown
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|reload|reload}"
exit 1
esac
exit 0
chmod +x /etc/init.d/oracle
./oracle start
./oracle stop
chkconfig oracle on
chown -R oracle:oinstall oracle
chkconfig --level 234 oracle on
chkconfig --add oracle
chkconfig --list oracle
排错sql
select * from v$diag_info where name ='Diag Alert';
select * from v$diag_info where name ='Diag Trace';
select * from v$diag_info;
show parameter dump;