Centos7安装Oracle12c
CentOS7@VMware12,分配资源:CPU:2颗,内存:4GB,硬盘空间:30GB
centos7.4 (1708) 用KDE的界面。
Oracle12C 官网下的64Linux版,文件名叫osso_login,是个压缩包。3.2G
过程纪要:
- root身份安装依赖包:
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
- 用Root账号登录,运行下面指令,创建所需要用户和用户组,分组原因参考网址
groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
groupadd oinstall groupadd dba useradd -g oinstall -g dba -m oracle
groups oralce #看oracle用户属于哪个分组。 usermod -a -G oinstall oracle #-a 的作用是保持oracle用户当前所在分组,同时将该用户加入到oinstall用户组中去。
# passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
# id oracle #查看新建的oracle用户
3、创建oracle数据库安装目录(运行下面指令,创建账号和分配权限)
mkdir -p /data/oracle #oracle数据库安装目录 -p是确保目标目录“oracle”的父目录“data”也一并建立(存在)。
mkdir -p /data/oraInventory #oracle数据库配置文件目录
mkdir -p /data/database #oracle数据库软件包解压目录,把那个osso_login解压到这里。
mkdir -p /data/oracle mkdir -p /data/oraInventory mkdir -p /data/database
ls -al #看看这些个新建的目录的属性吧。参考。参考2。接下来把这些文件夹的所有权赋予刚刚建立的那个oracle用户。
chown -R oracle:oinstall /data/oracle chown -R oracle:oinstall /data/oraInventory chown -R oracle:oinstall /data/database
4、关闭防火墙和selinux,具体操作可参考博客
5、修改etc\sysctl.conf文件,添加下列语句:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4098955264 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
6、改文件限制:/etc/security/limits.conf,添加:
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
注意:修改此文件是即时生效的,但可能要重登录后再看
以及vi /etc/pam.d/login,添加:
session required pam_limits.so
修改ulimit:vi /etc/profile,添加:
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536a else ulimit -u 16384 -n 65536 fi fi
修改环境变量。vi ~oracle/.bash_profile,添加红色的部分:自此之后是进入oracle用户进行操作的。
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs ORACLE_BASE=/data/oracle ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1 ORACLE_SID=orac export ORACLE_BASE ORACLE_HOME ORACLE_SID export ORACLE_TERM=xterm #xterm窗口模式安装 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量 #export LANG=c #防止安装过程出现乱码.#我是加了反而乱了,调整了好久才弄好。等乱了再通过控制台命令行修改也不迟。zh_CN.UTF-8因为我的centos7.4用户环境编码是这个。 export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致。注意我们的【简体中文】英语表达有空格,所以必须要加双引号。 PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
7、进入/data/database。。。。。。深处。找到并运行./runInstaller 进入图形安装界面就简单了。直至完成安装。
8、开启控制台命令行。先启动数据库实例,再启动监听器。sid会自动设置,不必去调整tns.ora,listerner.ora等。
lsnrctl status #查看监听及数据库状态
lsnrctl start #启动监听。
如果需要调整配置的话,打开监听配置程序。
netca
如果需要配置数据库的话,使用下列命令:
xhost +
dbca
sqlplus / as sysdba #以 DBA 身份进入 sqlplus
SQL>startup #开启数据库实例。
SQL>SHUTDOWN IMMEDIATE #关闭 db
SQL>exit #退出。
9、检查服务器和客户端的NLS_LANG是否一致。客户端的(在环境变量里)要向服务器看齐。
为了让低版本的oracle客户端连接服务端。在服务端的sqlnet.ora文件里要加上下面这句话。否则,我的instantclient11.2都连不上这个12c。
SQLNET.ALLOWED_LOGON_VERSION=8
回root,把防火墙的1521打开。