CentOS 7.5离线安装Oracle 11gR2


操作系统:CentOS 7.5 64bit,安装方式为gnome Desktop,附加系统工具以及兼容X Window安装包
Oracle版本:11gR2

Oracle11gR2官方文档链接

安装系统建立默认用户的时候建立非oracle的账号。
由于是离线安装,使用ssh登录,上传CentOS DVD镜像文件,上传Oracle安装文件,之后直接操作服务器键盘鼠标进行安装。

1. 通过sftp上传文件
/Users/xieshaohu/Downloads
put /Users/xieshaohu/Downloads/CentOS-7-x86_64-DVD-1804.iso
put /Users/xieshaohu/Downloads/linux.x64_11gR2_database_2of2.zip
put /Users/xieshaohu/Downloads/linux.x64_11gR2_database_1of2.zip

2. 修改Linux为本地源
mkdir /media/CentOS
mount -t iso9660 /media/CentOS-7-x86_64-DVD-1804.iso /media/CentOS
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.old
mv /etc/yum.repos.d/CentOS-CR.repo /etc/yum.repos.d/CentOS-CR.repo.old
mv /etc/yum.repos.d/CentOS-Debuginfo.repo /etc/yum.repos.d/CentOS-Debuginfo.repo.old
mv /etc/yum.repos.d/CentOS-fasttrack.repo  /etc/yum.repos.d/CentOS-fasttrack.repo.old
mv /etc/yum.repos.d/CentOS-Sources.repo /etc/yum.repos.d/CentOS-Sources.repo.old
mv /etc/yum.repos.d/CentOS-Vault.repo /etc/yum.repos.d/CentOS-Vault.repo.old

3. 启用本地源
vi /etc/yum.repos.d/CentOS-Media.repo
enable = 1

4. 安装依赖
yum -y install elfutils-libelf-devel\
binutils \
compat-libcap1 \
compat-libstdc++*.i686 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel*.i686 \
glibc-devel \
ksh \
libaio*.i686 \
libaio \
libaio-devel-*.i686 \
libaio-devel \
libgcc*.i686 \
libgcc \
libstdc++*.i686 \
libstdc++ \
libstdc++-devel*.i686 \
libstdc++-devel \
libXi*.i686 \
libXi \
libXtst-*.i686 \
libXtst \
make \
sysstat \
unixODBC \
unixODBC-devel xhost xdpyinfo xorg-x11-xauth

5. 建立账户
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
/usr/sbin/groupadd -g 504 asmadmin
/usr/sbin/groupadd -g 506 asmdba
/usr/sbin/groupadd -g 505 asmoper
/usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle
passwd oracle

6. 设置用户组
/usr/sbin/usermod -g oinstall -G dba,oper,asmdba oracle

7. 修改内核参数
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576

sysctl -p

8. 创建安装目录
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/oracle/product/11.2.0/db_home1
chown -R oracle:oinstall /u01/
chmod -R 775 /u01/

9. 修改/etc/security/limits.conf
vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536

10. 配置全局环境变量
/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

11. 配置Oracle环境变量
vi /home/oracle/.bash_profile
export DISPLAY=:0.0
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_SID=orcl; export ORACLE_SID
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_home1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/ust/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

12. 禁用selinux
vi /etc/selinux/config
disabled

13. 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld

14. 登录oracle账号,执行安装
./runInstaller

重要提示:安装过程中,如果碰到安装界面显示灰色遮盖,一直卡住不动,直接回车。出现次现象的原因是由于提示信息窗口没有展开显示,导致待确认操作。安装过程中一共出现三次此现象,前两次直接回车。最后一次是在数据库实例创建完毕后,把鼠标放到遮盖的窗口上拉开,按照提示执行两个脚本。最后即可安装完成。

Advertisements

Nginx配置图片服务器


前端网站需要显示图片,在Nginx配置了一个imagelib URL过滤器,用于拦截图片请求,直接读取图片文件进行回显
server {
listen 80;
server_name 10.132.252.121;
access_log /var/log/nginx/default.access.log main;
location / {
root /data/html;
index index.html index.htm;
}
location ^~ /imagelib {
expires 24h;
root /data/imagelib/;
access_log /var/log/nginx/images.access.log;
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /data/imagelib/;
proxy_redirect off;
proxy_set_header Host 127.0.0.1;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
}
}

 

解决Elasticsearch中文搜索只能搜索单个汉字,不能搜索词语的问题


问题原因:ES默认分词规则不能支持中文,通过安装IK Analysis for Elasticsearch支持中文分词。

重要提示:不能再已经导入数据的index中修改mapping,所以建立index之后立即配置分词器字段,然后再导入数据。

  1. 首先从https://github.com/medcl/elasticsearch-analysis-ik/tree/master下载ES对应版本的IK插件进行安装,安装方法参考链接中的文档。
  2. 使用以下命令重新创建一个Index

    curl -XPUT http://localhost:9200/cdh_es

  3. 设置需要使用IK分词器的字段,其中cdh_es是index,testdata是type,desc是需要进行IK分词的字段。

    curl -XPOST http://localhost:9200/cdh_es/testdata/_mapping -d ‘{“properties”: {“desc”: {“type”: “text”, “analyzer”: “ik_smart”, “search_analyzer”: “ik_smart”}}}’

  4. 其中分词有两种设置方法,ik_max_word和ik_smart,他们的区别如下,可以根据自己项目的情况进行选择:

    ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;

    ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。

  5. 添加数据后就能进行查询了。

 

macOS 盒盖休眠掉电解决办法


2018款MacBookPro,盒盖总是会掉电2%-8%不等。

使用pmset命令修改tcpkeepalive,降低耗电量。默认是 1 ,打开状态,通过pmset命令修改为0

$ pmset -g custom

设置为关闭,-b参数为仅设置电池模式tcpkeepalive关闭,关闭tcpkeepalive时会出现如下警告信息,直接忽略

$ sudo pmset -b tcpkeepalive 0

Warning: This option disables TCP Keep Alive mechanism when sytem is sleeping. This will result in some critical features like ‘Find My Mac’ not to function properly.

修改完之后结果如下:

$ pmset -g custom
Battery Power:
lidwake 1
standbydelayhigh 86400
standbydelaylow 10800
standby 1
proximitywake 0
ttyskeepawake 1
Standby Battery Threshold 50
powernap 0
gpuswitch 2
hibernatefile /var/vm/sleepimage
hibernatemode 3
displaysleep 2
sleep 1
tcpkeepalive 0
halfdim 1
acwake 0
lessbright 1
disksleep 10
AC Power:
lidwake 1
standbydelayhigh 86400
standbydelaylow 10800
standby 1
proximitywake 1
ttyskeepawake 1
hibernatemode 3
powernap 1
gpuswitch 2
hibernatefile /var/vm/sleepimage
Standby Battery Threshold 50
womp 1
displaysleep 10
networkoversleep 0
sleep 1
tcpkeepalive 1
halfdim 1
acwake 0
disksleep 10