一、安装前准备
1、创建运行oracle数据库的系统用户和用户组
[root@localhost ~]$ su root #切换到root Password: [root@localhost ~]# groupadd oinstall #创建用户组oinstall [root@localhost ~]# groupadd dba #创建用户组dba [root@localhost ~]# useradd -g oinstall -G dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组 [root@localhost ~]# passwd oracle #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆 Changing password for user oracle. New password: # 密码 BAD PASSWORD: The password is shorter than 8 characters Retype new password: # 确认密码 passwd: all authentication tokens updated successfully. [root@localhost ~]# id oracle # 查看新建的oracle用户 uid=1001(oracle) gid=1001(oinstall) groups=1001(oinstall),1002(dba)
2、修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,将下列内容加入该文件。
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
使用/sbin/sysctl -p命令使 sysctl.conf 配置生效。
3、修改操作系统核心参数
输入命令:vi /etc/security/limits.conf,将下列内容加入该文件。
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
4、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,将下列内容加入该文件。
session required /lib64/security/pam_limits.so #64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录 session required pam_limits.so
5、编辑 /etc/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
:wq保存后使设置生效:
source /etc/profile
6、创建数据库软件目录和数据文件存放目录,注意磁盘空间即可,这里我放到oracle用户下,输入如下命令:
mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product
7、更改目录属主为 oracle 用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
8、切换为oracle用户登录
su - oracle
9、配置 oracle 用户环境变量
编辑 bash_profile ,输入命令:vi .bash_profile,添加如下环境变量。
export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/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
:wq保存后使设置生效:
source .bash_profile
10、切换为 root 用户,关闭 selinux
su root # 修改/etc/selinux/config文件 vi /etc/selinux/config
修改SELINUX为disabled,如下:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #此处修改为disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
SELinux 是部署在 Linux 系统中的安全增强功能模块,它通过对进程和文件资源采用 MAC
(强制访问控制方式)为 Linux 系统提供了改进的安全性。
setenforce 0 #关闭selinux
service iptables stop #临时关闭防火墙 (根据系统关闭防火墙)
systemctl stop firewalld#临时关闭防火墙 (根据系统关闭防火墙)
二、软件包依赖
安装oracle之前需要许多软件包依赖,如果可用外网,使用如下命令安装。
yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
查看这些软件包版本,可使用如下命令,如有未安装的会有提示。
rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如果 compat-libstdc++ 安装提示No package compat-libstdc++ available.,请使用命令yum install compat-libstdc++-33安装。
使用rpm -qa | grep "compat-libstdc"可查看。
当再次查看哪些安装包未安装时还会报is not installed;这个是因为使用rpm查询时,包名不正确所致。它真正的报名为 compat-libstdc++-33 而不是compat-libstdc++ 。如果包名正确,那么查询结果就会不一样,或可用查看compat-libstdc++-33:
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如果 yum install gcc-c++ 安装报错.
This system is not registered with an entitlement server. You can use subscription-manager to register. There are no enabled repos. Run "yum repolist all" to see the repos you have. To enable Red Hat Subscription Management repositories: subscription-manager repos --enable <repo> To enable custom repositories: yum-config-manager --enable <repo>参考This system is not registered with an entitlement server. You can use subscription-manager to register.
三、安装
1、下载安装包
官网下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#11g,可下载11g R2版本,两个包都下载。
提供一个百度网盘下载,若失效可网上自找相应安装包。
百度网盘下载地址:
链接:https://pan.baidu.com/s/1A6R9bdAb-9_Pv4eCeANR5w
提取码:znyd
2、安装
下载到/home/oracle解压安装包,命令如下:
cd /home/oracle unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
解压完成后,database目录如下
切换到oracle用户
su - oracle
进入 database 目录,使用./runInstaller命令安装,如下
cd database ./runInstaller
注:如果安装过程中出现弹窗很小,显示不全的问题,安装命令换为如下即可。
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
注:如果安装过程安装界面乱码。原因:oracle安装默认没有中文语言包,只有用英文。临时解决:export LANG=en_US
export LANG=en_US
不出意外的话,恭喜你,将弹出安装界面,如果遇到display at least 256 colors这个问题,请看Oracle 安装时遇到“display at least 256 colors”解决办法。弹出安装界面后安装过程比较简单,就不细说了,步骤截图如下。
安装选项,三个选项分别为:①创建并配置一个新数据库。②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的。③升级已有数据库。这里选择第一个选项。
此时可能会遇到两次错误,参照下边错误解决办法。
后续继续安装
输入密码有格式要求,若不安格式会有提醒,可点yes继续
设置完选择OK
根据提示,使用root用户执行两个脚本,如图所示, 然后选择 OK
su - root /home/oracle/oraInventory/orainstRoot.sh /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
Close
至此,数据库安装成功。
注:listener.ora和tnsnames.ora所在路径为
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/
3、防火墙设置
oracle数据库默认端口号1521,这里设置防火墙开放1521端口,
开放1521端口
使用Root用户
查看想开的端口是否已开:firewall-cmd --query-port=1521/tcp
添加指定需要开放的端口:firewall-cmd --add-port=1521/tcp --permanent
重载入添加的端口:firewall-cmd --reload
查询指定端口是否开启成功:firewall-cmd --query-port=1521/tcp
移除指定端口:firewall-cmd --permanent --remove-port=1521/tcp
# firewall-cmd --query-port=1521/tcp no # firewall-cmd --add-port=1521/tcp --permanent success # firewall-cmd --reload success # firewall-cmd --query-port=1521/tcp yes
四、oracle相关使用
1、启动与关闭数据库
//orcl为需要执行的oracle实例 export ORACLE_SID=orcl sqlplus /nolog connect /as sysdba //启动数据库 startup; //关闭数据库 #immediate:立即的 shutdown immediate; //查看登录的数据库实例 select instance_name from v$instance; //查看当前登录的用户 show user; //查看数据字典包含哪些字段 desc dba_users;
2、启动、停止和查看监听器
//启动监听 lsnrctl start //停止监听 lsnrctl stop //查看监听 lsnrctl status
在/home/oracle/app/oracle/product/11.2.0/dbhome_1目录下
3、解锁用户
alter user username account unlock; //例如解锁scott用户,如下: alter user scott account unlock;
4、创建用户
sqlplus /nolog //登录指定数据库 conn sys/pwd@orcl as sysdba;
查看用户表空间放置位置:
select name from v$datafile;
创建用户表空间
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/oracle11/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
创建用户,指定密码和上面创建的用户表空间
CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE NOTIFYDB;
赋予用户权限
grant connect,resource to test; grant unlimited tablespace to test; grant create database link to test; grant select any sequence,create materialized view to test;
五、用新建的用户连接数据库,并建立一个表
export NLS_LANG=American_America.AL32UTF8
注意:UTF8是为了使得sqlplus和linux终端环境一致起来,此时发往数据库的是UTF8,数据库存储前会转为ZHS16GBK.
当读取时,Sqlplus会把收到的ZHS16GBK转换为UTF8发送到Linux终端。
创建有一个数据库用户
sqlplus / as sysdba #进入sql执行窗口
conn / as sysdba #连接数据库
修改密码:
SQL >alter user system identified by system; //修改system密码
SQL >alter user sys identified by sys; //修改sys密码
SQL >ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; //密码不过期
创建用户:
SQL > create user test identified by test;
并给用户赋予权限:
SQL > grant connect,resource,dba to test;
SQL > exit;
使用test用户登录:
sqlplus test/test
SQL> create table STUDENT(ID int, NAME varchar(20));
SQL> insert into STUDENT values(1, '张三');
SQL> select * from student;
实例名:
SQL > select instance_name from v$instance;
服务名:
SQL > select global_name from global_name;
六、问题及解决方法
1、ORACLE安装时遇到“display at least 256 colors”
参考Oracle 安装时遇到“display at least 256 colors”
2、安装过程中弹出界面是乱码
原因分析:oracle安装默认没有中文语言包,只有用英文。
解决方法:
英文临时解决:
export LANG=en_US
英文永久解决:
vi /etc/sysconfig/i18n LANG="en_US"(不会出现乱码) LANG="zh_cn.UTF-8"(中文,安装oracle会出现界面乱码的现象)
linux安装Oracle安装界面乱码解决方法! 或者
export NLS_LANG=AMERICAN_AMERICA.UTF8 export LC_ALL=C
3、安装过程中弹出错误,如下图所示
根据提示查看日志如下
可能是glibc的版本过高所致(高于2.14),解决办法:参考
oracle数据库安装报错解决方法/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
本文由傻鸟发布,不代表傻鸟立场,转载联系作者并注明出处:https://shaniao.net/database/137.html