最近要做一个用ogg实现oracle到kafka的增量数据实时同步,但是Oracle就让我装了好久,这里来记录一下安装oracle过程。
1.建立swap分区
- 创建充当swap分区的文件,文件大小就是要增加的swap大小,of是文件位置,bs为单位,count为设置的大小2048*1024
dd if=/dev/zero of=/home/swap bs=1024 count=2097152
- 格式化交换分区文件
mkswap /home/swap
- 给分区文件设置下权限:0600
chmod 0600 /home/swap
- 启动交换分区文件
swapon /home/swap
- !!!如果提示设备或资源忙,先执行
swapoff /home/swap
- 然后设置开机自启,编辑
/etc/fstab
追加:/home/swap swap swap defaults 0 0
2、创建用户和用户组
- 创建用户组oinstall
groupadd oinstall
- 创建用户组dba
groupadd dba
- 创建oracle用户,并加入到oinstall和dba用户组
useradd -g oinstall -G dba -m oracle
- 查询用户组是否授权成功
groups oracle
- 设置用户oracle的登陆密码
passwd oracle
- 查看新建的oracle用户
id oracle
3、创建安装目录和权限
- oracle数据库安装目录
mkdir -p /data/oracle
- oracle数据库配置文件目录
mkdir -p /data/oraInventory
- oracle数据库软件包解压目录
mkdir -p /data/database
- 创建完毕检查一下
cd /data
,ll
- 设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
4、关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
- 使修改立即生效
setenforce 0
5、修改OS系统标识
vi /etc/redhat-release
- 注释或删除掉第一行添加
redhat-7
6.修改内核参数
vi /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
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152
#最大共享内存的段大小
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
文件生效
7、限制oracle用户的shell权限
vi /etc/security/limits.conf
增加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8、安装rpm包
- 使用
yum -y install
命令安装
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel libXtst sysstat ksh make libXi compat-libcap1
rpm -qa | grep *
可以检测是否安装成功
9、配置oracle用户的环境变量
vi /home/oracle/.bash_profile
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orcl11g
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
source /home/oracle/.bash_profile
10、上传和解压两个安装文件到对应的文件夹下
unzip /opt/soft/linux.x64_11gR2_database_1of2.zip -d /data/database/
unzip /opt/soft/linux.x64_11gR2_database_2of2.zip -d /data/database/
11、修改主机名字
vi /etc/cloud/cloud.cfg
将preserve_hostname: false修改为preserve_hostname: true
hostnamectl set-hostname 主机名
reboot重启系统生效
12、修改安装配置信息
- 编辑数据库安装文件db_install.rsp
vim /data/database/database/db_install.rsp
20 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
29 oracle.install.option=INSTALL_DB_SWONLY #安装类型
37 ORACLE_HOSTNAME=Carlota #主机名称,填自己的
42 UNIX_GROUP_NAME=oinstall #安装组
47 INVENTORY_LOCATION=/opt/oracle/inventory #INVENTORY目录
78 SELECTED_LANGUAGES=en,zh_CN #选择语言
83 ORACLE_HOME=/opt/oracle/product/112010/db_1 #oracle_home
88 ORACLE_BASE=/opt/oracle #oracle_base
99 oracle.install.db.InstallEdition=EE ##oracle版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba #dba用户组
147 oracle.install.db.OPER_GROUP=dba #oper用户组
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #数据库类型
165 oracle.install.db.config.starterdb.globalDBName=orcl #globalDBName
170 oracle.install.db.config.starterdb.SID=orcl #SID
200 oracle.install.db.config.starterdb.memoryLimit=800 #自动管理内存的最小内存(M)
233 oracle.install.db.config.starterdb.password.ALL=oracle #设定所有数据库用户使用同一个密码
385 DECLINE_SECURITY_UPDATES=true #设置安全更新
- 嫌麻烦也可以直接用我这里现成的,db_install.rsp,替换掉原文件即可
13、进行安装
- 切换为oracle执行以下安装操作
su - oracle
cd /data/database/database
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp
14、使用root用户运行
su - root
/data/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
15.配置tnsnames.ora
vim /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
新增内容如下(注意修改主机名称):
alioracle =(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 主机名称hostname)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) )
)
16、建库
cd /data/oracle/product/11.2.0/db_1/bin
./dbca -silent -responseFile /data/database/database/response/dbca.rsp
- 输入oracle用的 用户名和密码
17、配置listener.ora
vim /data/oracle/product/11.2.0/db_1/network/admin/listener.ora
新增如下内容(注意修改主机名称):
LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=主机名称hostname)(PORT=1521)) )
)SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=orcl) (SID_NAME=orcl11g) (ORACLE_HOME=/data/oracle/product/11.2.0/db_1)(PRESPAWN_MAX=20) (PRESPAWN_LIST= (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))))
)
18、控制台,找到安全组,去添加1521端口的配置规则,否则用公网ip连接不到oracle数据库,这一步很关键,否则无法用公网ip远程连接。
19、接下来用sqlplus去创建用户的id以及分配权限
-
create user product identified by product;
-
grant connect, resource to product;
-
grant select on V_$session to product;
-
grant select on V_$sesstat to product;
-
grant select on V_$statname to product;
20、oracle实例的启动和启动监听
su - oracle
#切换到oracle用户lsnrctl start
#启动lsnrctl stop
#停止lsnrctl status
#查看listener的状态sqlplus "/as sysdba"
#以sysdba的身份登陆
21、可以使用远程工具连接*