vim /etc/hosts
创建用户组用户密码
[root@localhost /]# groupadd dba
[root@localhost /]# groupadd oinstall
[root@localhost /]# useradd -g oinstall -G dba oracle
[root@localhost /]# id oracle
uid=500(oracle) gid=501(oinstall) 组=501(oinstall),500(dba)
[root@localhost /]# passwd oracle
[root@localhost opt]# mkdir -p /data/oracle #oracle数据库安装目录
[root@localhost opt]# mkdir -p /data/oraInventory #oracle数据库配置文件目录
[root@localhost opt]# mkdir -p /data/database #oracle数据库软件包解压目录
[root@localhost opt]# chown -R oracle:oinstall /data/oracle/
[root@localhost opt]# chown -R oracle:oinstall /data/oraInventory
[root@localhost opt]# chown -R oracle:oinstall /data/database
1修改内核参数
vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
#设置最大打开文件数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
#共享内存的总量,8G内存设置:2097152*4 k/1024/1024
#最大共享内存的段大小
kernel.shmmax = 2147483648
#整个系统共享内存端的最大数
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
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让配置生效
2修改oracle用户的安全性能设置
vim /etc/security/limits.conf
文件最后添加
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3修改用户环境变量
修改文件: vim /home/oracle/.bashrc
追加以下内容
#oracle数据库安装目录
export ORACLE_BASE=/data/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orclxu
export ORACLE_UNQNAME=orclxu
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#防止安装过程出现乱码
export LANG=C
#设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
修改完后立即启用:source /home/oracle/.bashrc
4关闭selinux(需重启生效)
vim /etc/selinux/config
# 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 # ********修改此行******
# 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
yum install -y compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel
yum install -y ksh libaio-devel numactl-devel
yum install -y unixODBC unixODBC-devel oracleasm oracleasmlib oracleasm-support
如果联网下直接通过yum源在线安装
如果在内网环境下 需要挂载linux iso镜像进行安装
1首先将iso镜像上传至linux下某目录(这里由于我是虚拟机分配空间不够所以直接放在根目录下)
2创建挂载目录
mkdir /mnt/cdrow
3挂载
mount -o loop /CentOS-6.8-x86_64-bin-DVD1.iso /mnt/cdrow/
查看挂载情况
[root@localhost /]# mount
/dev/sda5 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/CentOS-6.8-x86_64-bin-DVD1.iso on /mnt/cdrow type iso9660 (rw,loop=/dev/loop0)
4修改在线yum源为本地光盘yum源(可先更改在线yum源后缀)
vi /etc/yum.repo.d/redhat-base.repo
然后运行 yum repolist,接下来就可以进行yum install各种依赖库。
1将安装包移动到/usr/local/src路径下
解压两个软件包至/data/database/目录下
[root@localhost src]# unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/
[root@localhost src]# unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database/
2解压后更改用户和用户组为oracle
chown -R oracle:oinstall /data/database/
3安装Oracle
进入Oracle用户
# su oracle
编辑数据库安装文件 vim /data/database/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY # 安装类型
ORACLE_HOSTNAME=centos # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/data/oraInventory # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home
ORACLE_BASE=/data/oracle # oracle_base
oracle.install.db.InstallEdition=EE # oracle版本
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.characterSet=ZHS16GBK # 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新
安装oracle
/data/database/database/runInstaller -silent -responseFile /data/database/database/response/db_
install.rsp -ignorePrereq
安装过程是没有任何进度提示的,最多只能通过日志文件查看!
安装过程比较漫长
出现如下界面证明安装结束
打开一个终端窗口
以"root"身份登陆
运行脚本
1. /data/oraInventory/orainstRoot.sh
2. /data/oracle/product/11.2.0/db_1/root.sh
返回此窗口并按"Enter"键继续
Oracle主程序就安装完啦.
编辑监听配置文件 vim /data/database/database/response/netca.rsp
修改以下参数
INSTALL_TYPE=""custom"" # 安装的类型
LISTENER_NUMBER=1 # 监听器数量
LISTENER_NAMES={"LISTENER"} # 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;11521"} # 监听器使用的通讯协议列表
LISTENER_START=""LISTENER"" # 监听器启动的名称
执行命令
/data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/database/database/response/netca.rsp
查看监听程序是否运行
netstat -tnulp | grep 11521
关于监听开启关闭指令
开启监听:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start
关闭监听:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop
vim /data/database/database/response/dbca.rsp
RESPONSEFILE_VERSION ="11.2.0" // 不要变哦
OPERATION_TYPE ="createDatabase" // 操作为创建实例
GDBNAME ="orclxu" // 数据库实例名
SID ="orclxu" // 实例名字
TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件
SYSPASSWORD = "oracle" // SYS管理员密码
SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录
CHARACTERSET ="ZHS16GBK" // 字符集
TOTALMEMORY ="1638" // 1638MB,物理内存2G*80%。
执行命令
/data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/database/database/response/dbca.rsp
查看实例是否运行
ps -ef | grep ora_ | grep -v grep
修改启动和关闭实例的程序
修改文件: /data/oracle/product/11.2.0/db_1/bin/dbstart
/data/oracle/product/11.2.0/db_1/bin/dbshut
ORACLE_HOME_LISTNER=$1
修改为
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
修改文件: /etc/oratab
将
orcl:/data/oracle/product/11.2.0:N
修改为
orcl:/data/oracle/product/11.2.0:Y
启动或者关闭实例
$ dbshut
Oracle监听停止,进程消失。
$ dbstart
Oracle 监听启动,进程启动。
启动实例:
/data/oracle/product/11.2.0/db_1/bin/dbstart
关闭实例:
/data/oracle/product/11.2.0/db_1/bin/dbshut
登录查看实例状态:
sqlplus / as sysdba
说明安装成功。
tps:LINUX下sql命令退格是ctrl+退格键 exit退出sqlplus
1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
2、以sysdba方式来打开sqlplus,命令如下: sqlplus / as sysdba
3、创建临时表空间:
--查询临时表空间文件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。一般用${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace XUXU_TEMP tempfile '/data/oracle/oradata/orclxu/NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;
4、创建表空间:
--查询用户表空间文件的绝对路径:
select name from v$datafile;
create tablespace XUXUDB datafile '/data/oracle/oradata/orclxu/XUXUDB.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
5、创建用户和密码,指定上边创建的临时表空间和表空间
create user xuxu identified by root default tablespace XUXUDB temporary tablespace XUXU_TEMP;
6、赋予权限
grant dba to xuxu;
grant connect,resource to xuxu;
grant select any table to xuxu;
grant delete any table to xuxu;
grant update any table to xuxu;
grant insert any table to xuxu;
经过以上操作,就可以使用xuxu/root登录指定的实例,创建我们自己的表了。
创建数据泵文件
create directory bang as '/data/oracle/datadmp/';
授权
grant read,write on directory bang to pwghtest;
导入dmp文件
imp pwghtest/Pwgh123@pwghtest file=/data/oracle/datadmp/2019_02_25.dmp fromuser=pdgh_hb touser=pwghtest indexes=y
1. 假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
service iptables stop
chkconfig iptables off
2. 编辑iptables, 开放11521端口:
vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 11521 -j ACCEPT
重启防火墙
service iptables restart
保存配置,以便linux重启后依然有效
service iptables save
查看防火墙规则:
sudo iptables -L -n或者 service iptables status
Root用户模式下:
# chmod +x /etc/rc.d/rc.local
修改文件 /etc/rc.d/rc.local
在文件最后追加以下内容:
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"
有些问题我参考了以下博客:
linux下oracle无图形化界面安装
【CentOS】在Centos7 下无图形界面安装 Oracle11g