Oracle11g Linux安装
先决条件及安装步骤
1、主机名不能为localhost
# 修改主机名
## 1、修改主机名与ip地址的映射关系
vim /etc/hosts
# 加上 192.168.10.15 qiulin
## 2、修改网络信息
vim /etc/sysconfig/network
# 修改 HOSTNAME=qiulin
## 3、使得主机名生效
hostname qiulin
2、若离线环境下 挂载ISO镜像文件作为本地源
# iso镜像文件挂载命令
mount -o loop CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom
3、编辑本地yum源配置文件
# 备份 /etc/yum.repos.d/ 文件夹下文件
vim /etc/yum.repos.d/yum.repo
# 加入以下内容
[local]
name=local
baseurl=file:///mnt/cdrom
enable=1
gpgckeck=0
# 查看yum源可用的软件包
yum repolist
4、安装所需软件包
yum install -y binutils-* compat-libstdc++-33-* elfutils-libelf-* elfutils-libelf-devel-* gcc-* gcc-c++-* glibc-* glibc-common-* glibc-devel-* glibc-headers-* ksh-* libaio-* libgcc-* libstdc++-* make-* sysstat-* unixODBC-* unixODBC-devel-*
5、创建用户和组
groupadd oinstall #添加组
groupadd dba #添加组
useradd -g oinstall -G dba oracle #主组是oinstall,附加组是dba
echo oracle | passwd --stdin oracle #修改oracle用户密码是oracle
6、创建Oracle数据存储目录 (非必须)
mkdir /oradata
chown oracle:oinstall /oradata
# 有条件可以将大容量盘挂载到这个目录上
#1、格式化盘
mkfs.ext4 /dev/sdb
mount /dev/sdb /oradata
chown oracle:oinstall /oradata
7、修改oracle用户的环境变量
# 1、切换到oracle用户
su - oracle
# 2、编辑环境变量文件 .bash_profile(位于用户主目录下)
vim .bash_profile
# 末尾加入以下代码
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2/db
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=fsdb
8、修改内核参数
# 编辑内核参数文件
vim /etc/sysctl.conf
# 将以下参数复制到末尾
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2147483648
kernel.shmmax = 68719476736
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 = 1048586
# 使修改生效
sysctl -p
9、修改操作系统对oracle用户资源的限制
vim /etc/security/limits.conf
# 添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
10、运行runInstaller
开始安装
# 开始安装
./runInstaller
# 创建监听
netca
# 创建数据库
dbca
# 登录数据库
sqlplus / as sysdba
# 查询数据库状态
select status from v$instance;
# 查看监听状态
lsnrctl status
穿件监听
一直下一步即可,端口可改
创建数据库
异常处理
安装程序启动异常
# 1、运行./runInstaller出现以下问题 /oradata
Exception in thread "main" java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.Toolkit$2.run(Toolkit.java:821)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
at com.jgoodies.looks.LookUtils.isLowResolution(Unknown Source)
at com.jgoodies.looks.LookUtils.<clinit>(Unknown Source)
at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>
#解决方法
unset DISPLAY
# 2、运行./runInstaller出现以下问题,此类问题是远程安装启动图形界面会遇到,直接在服务器上运行安装不会有次问题
>>> 忽略未通过的必需先决条件。继续...
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2019-12-01_05-09-43PM. 请稍候...
DISPLAY 尚未设置。请设置 DISPLAY 后重试。
根据所使用的 Unix Shell, 您可以使用以下命令之一作为设置 DISPLAY 环境变量的示例:
- 对于 csh: % setenv DISPLAY 192.168.1.128:0.0
- 对于 sh, ksh 和 bash: $ DISPLAY=192.168.1.128:0.0; export DISPLAY
使用以下命令来查看所使用的 shell:
echo $SHELL qiulin
使用以下命令来查看 DISPLAY 环境变量的当前设置:
echo $DISPLAY\n- 确保客户机用户具有连接到 X 服务器的权限。
要允许客户机用户访问 X 服务器, 请以启动该会话的用户身份打开 xterm, dtterm 或 xconsole, 并键入以下命令:
% xhost +
要测试 DISPLAY 环境变量是否设置正确, 请运行本机操作系统自带的基于 X11 的程序, 例如 'xclock':
% <xclock 的完整路径.. 参见下文>
如果无法成功运行 xclock, 请与您的 PC-X 服务器或操作系统供应商联系以获得帮助。
xclock 的典型路径为: /usr/X11R6/bin/xclock
# 解决办法 display设置为你当前电脑的ip
DISPLAY=192.168.10.1:0.0;
export DISPLAY
# 4、界面出现 囗囗囗囗囗囗囗囗中文乱码情况
# 解决办法
export LANG=en-US
交换空间不足处理
# 1、穿件交换空间文件 bs*count=要穿件的交换空间大小 bs没写单位默认是字节
dd if=/dev/zero of=/root/swap bs=1024 count=10240000
# 2、格式化swap文件
mkswap swap
# 3、设置权限
chmod 600 swap
# 4、开启交换空间
swapon swap
The listener supports no services
# 解决方法 在服务端监听文件中添加一下内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = 数据库实例名)
(SID_NAME = 数据库实例名)
)
)
客户端监听
FSDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = fsdb)
)
)
服务端监听
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.15)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = fsdb)
(SID_NAME = fsdb)
)
)
ADR_BASE_LISTENER = /u01/app/oracle