前提:已安装centos7。
/*
安装和运行Oracle数据库软件都需要使用指定用户组内的指定用户,用户为Oracle,
出于安全考虑,用户组建为oinstall、dba,
oinstall组中的成员用于管理Oracle数据库物理软件,
dba组中的成员用于管理、操作数据库,具有sysdba权限。
*/
[root@CentOS /]# groupadd oinstall ----创建oracle用户组
[root@CentOS /]# groupadd dba ----创建oracle用户组
[root@CentOS /]# groupadd oper
[root@CentOS /]# useradd -g oinstall -G dba,oper oracle ----oracle加入新建的2个用户组
[root@CentOS /]# id oracle
[root@CentOS /]# passwd oracle ----设置oracle用户的密码
[root@CentOS /]# mkdir -p /home/oracle ----创建oracle安装目录
[root@CentOS /]# mkdir -p /home/oracle/oracleinstall ---创建racle安装文件所在目录
[root@CentOS /]# chown -R oracle:oinstall /home/oracle ----更改oracle目录用户组
[root@CentOS /]# chmod -R 775 /home/oracle ----更改oracle目录权限
[root@CentOS /]# chown -R oracle:oinstall /home/oracle/oracleinstall ----更改oracle安装文件所在目录的用户组
[root@CentOS /]# chmod -R 755 /home/oracle/oracleinstall ----更改oracle安装文件所在目录的操作权限
分别是:
linux.x64_11gR2_database_1of2.zip,linux.x64_11gR2_database_2of2.zip
可以通过命令下载,也可通过ftp上传。
[root@CentOS /]#unzip linux.x64_11gR2_database_1of2.zip
[root@CentOS /]#unzip linux.x64_11gR2_database_2of2.zip
[root@CentOS /]#yum install binutils -y
[root@CentOS /]#yum install compat-libstdc++-33 -y
[root@CentOS /]#yum install compat-libstdc++-33.i686 -y
[root@CentOS /]#yum install gcc -y
[root@CentOS /]#yum install gcc-c++ -y
[root@CentOS /]#yum install glibc -y
[root@CentOS /]#yum install glibc.i686 -y
[root@CentOS /]#yum install glibc-devel -y
[root@CentOS /]#yum install glibc-devel.i686 -y
[root@CentOS /]#yum install ksh -y
[root@CentOS /]#yum install libgcc -y
[root@CentOS /]#yum install libgcc.i686 -y
[root@CentOS /]#yum install libstdc++ -y
[root@CentOS /]#yum install libstdc++.i686 -y
[root@CentOS /]#yum install libstdc++-devel -y
[root@CentOS /]#yum install libstdc++-devel.i686 -y
[root@CentOS /]#yum install libaio -y
[root@CentOS /]#yum install libaio.i686 -y
[root@CentOS /]#yum install libaio-devel -y
[root@CentOS /]#yum install libaio-devel.i686 -y
[root@CentOS /]#yum install libXext -y
[root@CentOS /]#yum install libXext.i686 -y
[root@CentOS /]#yum install libXtst -y
[root@CentOS /]#yum install libXtst.i686 -y
[root@CentOS /]#yum install libX11 -y
[root@CentOS /]#yum install libX11.i686 -y
[root@CentOS /]#yum install libXau -y
[root@CentOS /]#yum install libXau.i686 -y
[root@CentOS /]#yum install libxcb -y
[root@CentOS /]#yum install libxcb.i686 -y
[root@CentOS /]#yum install libXi -y
[root@CentOS /]#yum install libXi.i686 -y
[root@CentOS /]#yum install make -y
[root@CentOS /]#yum install sysstat -y
[root@CentOS /]#yum install unixODBC -y
[root@CentOS /]#yum install unixODBC-devel -y
[root@CentOS /]#yum install zlib-devel -y
[root@CentOS /]#yum install elfutils-libelf-devel -y
[root@CentOS /]#vi /etc/sysctl.conf ,添加:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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=1048586
-- 改好后,使之生效
[root@CentOS /]#/sbin/sysctl -p
[root@CentOS /]#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
oracle soft stack 10240
编辑登录配置文件 [root@CentOS /]#vi /etc/pam.d/login
进行登录配置文件的编辑,在文本最后添加:
session required pam_limits.so
或
session required /lib/security/pam_limits.so
使shell limit生效。
加入以下代码:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
[root@CentOS /]#mkdir /home/oracle/app
[root@CentOS /]#mkdir /home/oracle/app/oradata
[root@CentOS /]#mkdir /home/oracle/app/product
更改目录属主为Oracle用户所有,输入命令:
[root@CentOS /]#chown -R oracle:oinstall /home/oracle/app
/*
Oracle用户环境变量配置
要成功安装并使用Oracle数据库软件,必须在Oracle用户的
.bash_profile文件中设置ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH环境变量,
其他的根据需要来设置。ORACLE_HOME可以在安装前手动配置,
另外,Oracle安装过程中会根据ORACLE_BASE的值自动指定的ORACLE_HOME,
所以也可以在安装后将这个ORACLE_HOME写入.bash_profile。
*/
[root@CentOS /]# su - oracle
[root@CentOS /]# vi .bash_profile
# use for oracle
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LANG=en_US
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
-- 使配置立即生效
[oracle@centos ~]$ source .bash_profile
[oracle@centos ~]$ echo $ORACLE_HOME
/home/oracle/product
-- 修改设置SELINUX
[oracle@centos ~]$ vi /etc/selinux/config
-- # 将`SELINUX`修改为permissive
SELINUX=permissive
[oracle@centos ~]$ setenforce Permissive
setenforce: SELinux is disabled
-- 确保禁用防火墙
[oracle@centos ~]$ systemctl stop firewalld
[oracle@centos ~]$ systemctl disable firewalld
[oracle@centos ~]$ getenforce
Disabled
-- 安装时,需要创建 oraInventory
[root@centos ~]# cd /home/oracle
[root@centos ~]# mkdir oraInventory
[root@centos ~]# chown -R oracle:oinstall /home/oracle/oraInventory
[root@centos ~]# chmod -R 775 /home/oracle/oraInventory
-- 备份静默安装响应文件
[oracle@centos7 ~]$ cp /home/oracle/oracleinstall/database /home/oracle/oracleinstall/tmp/
-- 编辑响应文件,修改以下参数
[oracle@centos7 ~]$ vi /home/oracle/tmp/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=woitumi-197
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/app/product/11.2.0
ORACLE_BASE=/home/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
切换到 database目录,执行
[oracle@centos7 ~]$./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
查看安装日志,出现 Successful Setup Software字样时说明安装成功。
[root@centos /]# cd /home/oracle/app/product/11.2.0/dbhome_1/bin/
[root@centos /]# dbca
[root@centos /]# cd /home/oracle/app/product/11.2.0/dbhome_1/bin/
[root@centos /]# netca
[root@centos /]# su - oracle
[oracle@centos ~]$ lsnrctl status
[oracle@centos ~]$ lsnrctl stop
[oracle@centos ~]$ lsnrctl start
[oracle@centos ~]$ sqlplus / as sysdba
假设数据库名称为 oracle_db
迁移步骤:
-- 创建目录
[oracle@centos ~]# cd /home/oracle/app/oradata/
[oracle@centos ~]# mkdir oracle_db
[oracle@centos ~]# chown -R oracle:oinstall /home/oracle/app/oradata/oracle_db
[oracle@centos ~]# chmod -R 775 /home/oracle/app/oradata/oracle_db
-- 创建临时空间
create temporary tablespace oracle_db_temp tempfile '/home/oracle/oradata/oracle_db/oracle_db_temp_01.dbf' size 128m autoextend on next 64m;
-- 创建默认表空间
create tablespace oracle_db_default datafile '/usr/oracle/oradata/oracle_db/oracle_db_default_01.dbf' size 128m autoextend on next 64m;
-- 创建索引表空间
create tablespace oracle_db_index datafile '/home/oracle/oradata/oracle_db/oracle_db_index_01.dbf' size 128m autoextend on next 64m;
-- 创建用户并指定表空间
create USER oracleDBA IDENTIFIED BY QAZ123456
DEFAULT TABLESPACE oracle_db_default TEMPORARY TABLESPACE oracle_db_temp;
-- 给用户授予权限
GRANT CONNECT,RESOURCE,DBA TO oracleDBA;
GRANT CREATE ANY TABLE TO oracleDBA;
GRANT SELECT ANY TABLE TO oracleDBA;
GRANT DROP ANY TABLE TO oracleDBA;
GRANT INSERT ANY TABLE TO oracleDBA;
GRANT DELETE ANY TABLE TO oracleDBA;
GRANT UPDATE ANY TABLE TO oracleDBA;
GRANT CREATE ANY VIEW TO oracleDBA;
GRANT EXECUTE ANY PROCEDURE TO oracleDBA;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER DATABASE NATIONAL CHARACTER SET AL16UTF16;