Linux中安装Oracle
下载地址
Win64
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_client.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip
Win32
http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_client.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_1of2.zip
http://download.oracle.com/otn/nt/oracle11g/112010/win32_11gR2_database_2of2.zip
Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_client.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
Oracle Database 11g Release 2 Client (11.2.0.1.0) for Linux x86
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_client.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip
注意
client不用安装 下载可以使用迅雷,其他工具无法下载。
用户及环境配置
1 创建运行oracle数据库的系统用户和用户组
#切换到root
su root
#创建用户组oinstall
groupadd oinstall
#创建用户组dba
groupadd dba
#创建oracle用户,并加入到oinstall和dba用户组
useradd -g oinstall -G dba -m oracle
#设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆
passwd oracle
#查看新建的oracle用户
id oracle
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
使用命令使 sysctl.conf
配置生效。
/sbin/sysctl -p
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 /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
6、切换为 root 用户,关闭 selinux
su root
vi /etc/selinux/config
修改SELINUX
为disabled,如下:
SELINUX=disabled
SELINUXTYPE=targeted
软件包依赖
安装oracle之前需要许多软件包依赖,如果可用外网,使用如下命令安装。
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
检测依赖是否都已安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel | grep "未安装"
目录生成
如果安装失败可以先删除之前的安装文件
再重新创建文件夹
rm -rf /data/tools/oracle
创建数据库软件目录和数据文件存放目录,注意磁盘空间即可,这里我放到oracle用户下,输入如下命令:
mkdir -p /data/tools/oracle/app
mkdir -p /data/tools/oracle/app/oracle/product/11.2.0/db_1
mkdir -p /data/tools/oracle/app/oradata
mkdir -p /data/tools/oracle/oraInventory
更改目录属主为 oracle 用户所有,输入命令:
chown -R oracle:oinstall /data/tools/oracle
解压
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
mv database /home/oracle/
使用图形化界面安装
安装 vnc server
用于图形化界面安装
yum -y install tigervnc-server
yum -y install xorg-x11-server-utils-7.7-20.el7.x86_64
如果没有安装Linux图形界面,则需要安装:
#【检查是否安装了图形界面】
rpm -qa |grep gnome
#【安装】
yum groupinstall "X Window System" "Chinese Support" "Desktop"
配置使用gnome桌面
vi /root/.vnc/xstartup
结尾添加一行
gnome &
切换到oracle用户
su - oracle
启动vnc服务
#启动vnc服务
vncserver
#查看启动的服务
vncserver -list
#后面的:2是上面列表对应的值
export DISPLAY=localhost.localdomain:2
配置使用gnome桌面
vi /home/oracle/.vnc/xstartup
结尾添加一行
gnome &
vncserver
#列出当前用户所建立的所有远程桌面。
vncserver -list
#关闭vncserver
vncserver -kill :n
环境变量
配置 oracle 用户环境变量
切换为oracle用户登录
su - oracle
编辑 .bash_profile
,输入命令:
vi ~/.bash_profile
添加如下环境变量。
export ORACLE_BASE=/data/tools/oracle/app
export ORACLE_HOME=/data/tools/oracle/app/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
生效
source ~/.bash_profile
echo $ORACLE_HOME
安装
切换到oracle用户
su - oracle
进入 database 目录,使用./runInstaller
命令安装,如下
cd database
export LANG=en_US.UTF-8
./runInstaller
vnc viewer安装
Windows上使用vnc viewer连接
连接地址是192.168.7.101:1
前面的是服务器的IP,后面的可以通过下面的命令查看
vncserver -list
取消勾选
安装选项,三个选项分别为:
①创建并配置一个新数据库。
②只安装数据库软件,适用于已有Oracle数据库数据用于数据迁移的。
③升级已有数据库。
这里选择第一个选项。
选择服务器模式
选择单实例
选择自定义安装
添加简体中文
选择企业版
安装位置会自动使用之前设置的环境变量的值,直接下一步
以下保持默认下一步
内存使用4G
字符集使用UTF-8
以下保持默认
自动备份
开不开启都可以
开启的话 注意密码为之前创建用户的密码
设置Oracle用户密码,密码强度弱会显示红色,但是不影响。
忽略所有
点击Finish进行安装
安装过程中报错
错误1
Error in invoking target ‘install’ of makefile ‘/data/tools/oracle/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk’.
日志中的错误为
INFO: //usr/lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
解决方式
编辑创建脚本:
fix_ins_ctx.sh
# Fix ctx/lib/ins_ctx.mk
ORACLE_HOME=/data/tools/oracle/app/oracle/product/11.2.0/db_1
cat << __EOF__ > /tmp/memcpy_wrap.c
#include <stddef.h>
#include <string.h>
asm (".symver wrap_memcpy, memcpy@GLIBC_2.14");
void *wrap_memcpy(void *dest, const void *src, size_t n) {
return memcpy(dest, src, n);
}
__EOF__
if [[ -e "${ORACLE_HOME}/ctx/lib/ins_ctx.mk" ]]; then
sed -i -e 's/\$(INSO_LINK)/\$(INSO_LINK) -Wl,--wrap=memcpy_wrap \$(ORACLE_HOME)\/ctx\/lib\/memcpy_wrap.o/g' ${ORACLE_HOME}/ctx/lib/ins_ctx.mk
gcc -c /tmp/memcpy_wrap.c -o ${ORACLE_HOME}/ctx/lib/memcpy_wrap.o && rm /tmp/memcpy_wrap.c
fi
运行
chmod 777 fix_ins_ctx.sh
./fix_ins_ctx.sh
错误2
Error in invoking target ‘agent nmhs’ of makefile ‘/data/tools/oracle/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk’.
解决方式
打开ins_emagent.mk
,将里面的
$(MK_EMAGENT_NMECTL)
替换为
$(MK_EMAGENT_NMECTL) -lnnz11
注意:lnnz
和$(MK_EMAGENT_NMECTL)
之间有空格,然后点击重试按钮或者retry按钮
新打开控制台,使用root运行
/data/tools/oracle/oraInventory/orainstRoot.sh
/data/tools/oracle/app/oracle/product/11.2.0/db_1/root.sh
直接回车即可。
命令行安装
安装
su - oracle
cd database
复制配置文件
mkdir ~/etc
cp response/* ~/etc/
chmod 700 ~/etc/*.rsp
添加配置
vi ~/etc/db_install.rsp
修改如下的项,不要直接覆盖
#安装类型
oracle.install.option=INSTALL_DB_SWONLY
#主机名称(hostname查询)
ORACLE_HOSTNAME=hadoop01
#安装组
UNIX_GROUP_NAME=oinstall
#INVENTORY目录(不填就是默认值)
INVENTORY_LOCATION=/data/tools/oracle/oralnventory
#选择语言
SELECTED_LANGUAGES=en,zh_CN
#oracle_home
ORACLE_HOME=/data/tools/oracle/app/oracle/product/11.2.0/db_1
#oracle_base
ORACLE_BASE=/data/tools/oracle/app
#oracle版本
oracle.install.db.InstallEdition=EE
#自定义安装,否,使用默认组件
oracle.install.db.isCustomInstall=false
#dba用户组
oracle.install.db.DBA_GROUP=dba
#oper用户组
oracle.install.db.OPER_GROUP=oinstall
#数据库类型
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
#globalDBName
oracle.install.db.config.starterdb.globalDBName=orcl
#SID
oracle.install.db.config.starterdb.SID=orcl
#自动管理内存的内存(M)
oracle.install.db.config.starterdb.memoryLimit=4096
#设定所有数据库用户使用同一个密码
oracle.install.db.config.starterdb.password.ALL=oracle
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
#设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
DECLINE_SECURITY_UPDATES=true
运行安装
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile ~/etc/db_install.rsp
可按他提示的查看日志,新增一个命令窗口,执行
tail -f /data/tools/oracle/oralnventory/logs/installActions2023-01-31_06-19-59PM.log
根据提示新打开一个窗口运行以下命令
运行
/data/tools/oracle/oralnventory/orainstRoot.sh
/data/tools/oracle/app/oracle/product/11.2.0/db_1/root.sh
启动监听程序
su - oracle
vi ~/.bash_profile
如下
#for oracle
export ORACLE_BASE=/data/tools/oracle/app
export ORACLE_HOME=/data/tools/oracle/app/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export ROACLE_PID=ora11g
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
配置生效
source ~/.bash_profile
配置监听程序
netca /silent /responsefile /home/oracle/etc/netca.rsp
启动监听程序
lsnrctl start
建库
静默dbca建库
vi ~/etc/dbca.rsp
内容如下
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"
运行
dbca -silent -responseFile ~/etc/dbca.rsp
查看
查看oracle实例进程
ps -ef | grep ora_ | grep -v grep
删除实例
dbca -silent -deleteDatabase -sourcedb orcl
查看监听状态
lsnrctl status
测试
查看
lsof -i:1521
连接数据库
sqlplus / as sysdba
select status from v$instance;
数据库实例
#查看登录的数据库实例
select instance_name from v$instance;
#查看当前登录的用户
show user
#查看数据字典包含哪些字段
desc dba_users;
创建用户
create user user_name identified by passwd;
grant connect,resource,dba to user_name;
表空间及表
-- 创建表空间
create tablespace ccsotest datafile '/app/oracle/oradata/ORCL/chaoDb.dbf'
size 2048M reuse autoextend on next 40M maxsize unlimited default storage(
initial 128k next 128k minextents 2 maxextents unlimited
);
-- 重命名表空间
alter tablespace ccsotest rename to CHAO_TBS;
## 查看所有的表
select * from dba_tables;
select * from dba_tab_columns;
-- 查看数据文件
select name from v$datafile;
-- 查看表空间
select * from dba_tablespaces;
select * from dba_tablespaces t where t.TABLESPACE_NAME = 'CHAO_TBS';
select * from dba_tables t where t.TABLE_NAME = 'T_ORDER';
停止服务
sqlplus /nolog
conn /as sysdba
#停止 Oracle 服务
shutdown immediate;
quit
#停止监听器
lsnrctl stop
启动
#启动监听
lsnrctl start
sqlplus /nolog
connect /as sysdba
#启动数据实例
startup
#启动过程中发现内存不够 执行
mount -o remount,size=3G /dev/shm/
开放防火墙
开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
相关文章
- Oracle数据库在线学习指南(oracle在线教程)
- Linux安装Qt:一步一步指南(linux安装qt)
- 安装Linux:玩转虚拟机(在虚拟机上安装linux系统)
- 安装win10上的Linux虚拟机简单易行(win10安装linux虚拟机)
- Linux下的安全护航:安装杀毒软件的重要性(linux杀毒软件)
- 串Linux实现字符串替换的方法(linux替换字符)
- 大白菜上跃跃欲试:Linux安装之旅(大白菜安装linux系统)
- Linux:字符串定义与应用(linux字符串定义)
- Oracle自我连接:实现复杂查询的利器(oracle自连接)
- 与安装Oracle服务命名配置与安装指南(oracle服务命名配置)
- 加入大白菜u盘,Linux操作无忧(大白菜u盘linux)
- XP系统上安装Oracle数据库的步骤(xp系统安装oracle)
- 轻松上手,Qt在Linux安装教程,让你快速掌握技巧!(qt在linux安装)
- 使用Linux系统轻松安装编译器指南(linux安装编译器)
- Linux 汉字字体安装指南(linux中文字体下载)
- 域控:在Linux系统中安全工作(域控linux)
- Linux安装中文字符:一步一步指南(linux安装中文字符)
- 学会安装Linux,打造高效的电脑工作环境。(如何给电脑安装linux)
- Linux系统下Tar包安装与配置(linux 安装 tar)
- Linux轻松实现蓝牙连接:安装蓝牙驱动教程(linux安装蓝牙驱动)
- Linux下搭建MySQL环境入门指南(linux自带mysql)
- Oracle共享内存不足警告(oracle共享内存不足)
- 走上快速成功之路CS2C安装Oracle(cs2c安装oracle)
- Oracle云永久免费,畅享无限空间(oracle云永久免费)
- Oracle一列数据拼接技巧(oracle一列数拼接)