Java常用Linux命令集合
程序员入职必备技能 Oracle安装+局域网服务+内网穿透
2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)
Window下的Jenkins实战,一学就会,一看就懂
提示:本篇文章适合有一点Linux基础的同学阅读
第一部分 Linux下Oracle安装
第二部分 局域网下连接Oracle
第三部分 内网穿透,外网访问台式机Oracle数据库
[root@oracledb /]# uname -m
x86_64
[root@oracledb /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
hostname oracledb
ifconfig
vim /etc/hosts
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)
passwd oracle #(P) 密码自己设置,需要记住,后面会用
vim /etc/sysctl.conf # 编辑 sysctl.conf,末尾处添加下面的参数
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
sysctl -p # 使配置生效
vim /etc/security/limits.conf # 编辑 limits.conf,末尾处添加下面的参数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vim /etc/pam.d/login
找到这一行:session required pam_namespace.so ,
在其下一行添加一条pam_limits.so
session required pam_limits.so
vim /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
mkdir -p /opt/app/oracle/
chmod 755 /opt/app/oracle/
chown oracle.oinstall -R /opt/app/oracle/
su - oracle # 切换到 oracle 用户,输入刚才的密码
vim ~/.bash_profile # 编辑
注释掉最后两行,在末尾添加如下参数
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#保存,退出
source ~/.bash_profile # 使配置立即生效
env | grep ORA # 查看环境变量是否完成
需要依赖:binutils-2.23.52.0.1-12.el7.x86_64 compat-libcap1-1.10-3.el7.x86_64 compat-libstdc++-33-3.2.3-71.el7.i686 compat-libstdc++-33-3.2.3-71.el7.x86_64 gcc-4.8.2-3.el7.x86_64 gcc-c++-4.8.2-3.el7.x86_64 glibc-2.17-36.el7.i686 glibc-2.17-36.el7.x86_64 glibc-devel-2.17-36.el7.i686 glibc-devel-2.17-36.el7.x86_64 ksh libaio-0.3.109-9.el7.i686 libaio-0.3.109-9.el7.x86_64 libaio-devel-0.3.109-9.el7.i686 libaio-devel-0.3.109-9.el7.x86_64 libgcc-4.8.2-3.el7.i686 libgcc-4.8.2-3.el7.x86_64 libstdc++-4.8.2-3.el7.i686 libstdc++-4.8.2-3.el7.x86_64 libstdc++-devel-4.8.2-3.el7.i686 libstdc++-devel-4.8.2-3.el7.x86_64 libXi-1.7.2-1.el7.i686 libXi-1.7.2-1.el7.x86_64 libXtst-1.2.2-1.el7.i686 libXtst-1.2.2-1.el7.x86_64 make-3.82-19.el7.x86_64 sysstat-10.1.5-1.el7.x86_64 unixODBC-2.3.1-6.el7.x86_64 or later unixODBC-2.3.1-6.el7.i686 or later unixODBC-devel-2.3.1-6.el7.x86_64 or later unixODBC-devel-2.3.1-6.el7.i686 or later
切换root用户进行安装
#安装
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-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
/opt
yum -y install unzip # 安装unzip,如已安装请忽略
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
cd /opt/database/response # 进入 response 目录
cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错
vim db_install.rsp # 编辑
#需要修改的地方,仔细比对,耐心点
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracledb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/opt/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
DECLINE_SECURITY_UPDATES=true //一定要设为 true
#保存并退出
less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$"
# 执行命令
xhost +
su - oracle # 切换到 oracle 用户
cd /opt/database/ #进入/opt/database目录
# 安装命令
./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp
#当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本
sh /opt/app/oracle/oraInventory/orainstRoot.sh
sh /opt/app/oracle/product/11.2.0/db_1/root.sh
su - oracle # 切换到 oracle 用户
$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置监听
lsnrctl status # 查看舰艇状态
su - root # 切换到 root 用户vim /opt/database/response/dbca.rsp
GDBNAME = "orcl" # 78 行
SID="orcl" # 149行
CHARACTERSET="AL32UTF8" # 415行
NATIONALCHARACTERSET="UTF8" # 425行
su - oracle # 切换到 oracle 用户
$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库
#执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to an idle instance.SQL> startSP2-1506: START, @ or @@ command has no argumentsSQL> startupORACLE instance started. Total System Global Area 3290345472 bytesFixed Size 2217832 bytesVariable Size 1795164312 bytesDatabase Buffers 1476395008 bytesRedo Buffers 16568320 bytesDatabase mounted.Database opened.SQL>
# 使用 show parameter;或者 select table_name from dba_tables 看看是否正常
su - root # 切换到 root 用户
vim /etc/oratab # 编辑
*:/home/oracle/oracle92:N
这一行中 * 改为数据库的SID orcl, 第三段的N改为Y
# 保存并退出
vim /etc/rc.local # 编辑
在文件末尾增加如下内容
su - oracle -c 'dbstart' su - oracle -c 'lsnrctl start'
#保存并退出
chmod +x /etc/rc.local # 配置文件权限
查看端口是否开放:firewall-cmd --query-port=1521/tcp
永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp
重启防火墙: systemctl restart firewalld.service
查看防火墙状态
systemctl status firewalld.service
# oracle用户下
cd/opt/app/oracle/product/11.2.0/db_1/network/admin
vim listener.ora
#增加配置
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /opt/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcl)
)
)
# 重启监听
lsnrctl reload
# 查看监听
lsnrctl status
source ~/.bash_profile # 使配置立即生效
[oracle@oracledb ~]$ sqlplus / as sysdba
#执行sql语句
startup
ifconfig
连接成功
阿里云服务器配置
#解压
tar zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
# 执行命令
nohup ./frps -c frps.ini &
#查看日志
tail -f nohup.out
Linux电脑配置
#解压
tar zxvf frp_0.33.0_linux_amd64.tar.gz
cd frp_0.33.0_linux_amd64
#编辑 vim
vim frpc.ini
#修改
[common]
server_addr = 自己的服务器地址
server_port = 7000
[ssh]
type = tcp
local_ip =自己电脑的ip地址
local_port =1521
remote_port = 6000
#保存
#注意阿里云服务器需要开放:7000,6000端口
# 执行命令
nohup ./frpc -c frpc.ini &
#查看日志
tail -f nohup.out
外网电脑测试cmd中
telnet 阿里云地址 6000
Navicat可视化工具连接
到此,我们就可以在家中访问公司电脑上的数据库了