select floor(months_between(trunc(sysdate),date ‘1995-12-13’) / 12) age_years,
floor(mod(months_between(trunc(sysdate),date ‘1995-12-13’) , 12)) age_months,
mod(months_between(trunc(sysdate),date ‘1995-12-13’) , 1) * to_number(to_char(last_day(trunc(SYSDATE)), ‘DD’)) age_days
from dual
;
分类: Oracle
oracle
CentOS 7.7 安装 oracle11gR2
1、用户和用户组准备
- groupadd dba
- groupadd oinstall
- useradd oracle -g oinstall -G dba
- passwd oracle #设置密码
2、创建安装目录
- mkdir -p /opt/oracle
- mkdir -p /opt/database
- mkdir -p /opt/oraInventory
- chown -R oracle:oinstall /opt/database
- chmod 755 /opt/
3、设置Oracle用户运行环境
- su – oracle
- vi ~/.bash_profile
- export ORACLE_BASE=/opt/oracle
- export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
- export ORACLE_SID=orcl
- export LANG=”en_US” #此参数设置系统运行在英文环境
- #export NLS_LANG=”SIMPLIFIED CHINESE_CHINA.ZHS16GBK” # 此参数配置安装环境中文_字符集 ZHS16GBK,因中文安装涉及字符集问题,与系统默认utf8不一致,可能导致烂码,参数太多,故使用以下一行参数,用英文安装
- export NLS_LANG=”AMERICAN_AMERICA.ZHS16GBK” # 此参数根据要配置的数据字符集配置 ZHS16GBK
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
- export ORACLE_TERM=xterm
- export PATH=$ORACLE_HOME/bin:$PATH
- #export DISPLAY=:0.0 #当使用 rdp 远程桌面远程时此行可能导致闪退
- source ~/.bash_profile #使修改后的环境变量生效,也可重启使用变量生效
- #注:标红内容为直接影响oracle安装的内容,未标红内容为可选参数
4、设置系统限制
- /etc/security/limits.conf
- oracle soft nofile 1024
- oracle hard nofile 65536
- oracle soft nproc 16384
- oracle hard nproc 16384
- #以下内容可不要
- oracle soft stack 10240
- oracle hard stack 32768
- oracle hard memlock 134217728
- oracle soft memlock 134217728
5、系统参数调整,可以在安装时,根据提示运行指定脚本,此参数在虚拟机中验证通过,无报错
- vim /etc/sysctl.conf
- kernel.shmmni = 4096
- kernel.shmmax = 1041166336
- kernel.shmall = 2097152
- kernel.sem = 250 32000 100 128
- fs.file-max = 6815744
- net.ipv4.ip_local_port_range = 9000 65500
- net.core.rmem_default = 262144
- net.core.wmem_default = 262144
- net.core.rmem_max = 4194304
- net.core.wmem_max = 1048576
6、关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
- sed ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/config //关闭selinux
7、安装依赖包
- yum install -y gcc-4.* libaio-0.* glibc-2.* compat-libstdc++-* elfutils-libelf-devel-* glibc-devel-* glibc-headers-* gcc-c++-*
- yum install -y libaio-* libgcc-* libstdc++-* unixODBC-* ksh-* glibc-static.x86_64 glibc-static.i686
8、解决Linux下安装oracle11g中文乱码的问题
- mkdir –p /usr/share/fonts/zh_CN/TrueType
- cd /usr/share/fonts/zh_CN/TrueType
- chmod –R 75 zysong.ttf # 此为中文字体,可在百度搜索自行下载
9、使用带参数的命令安装oracle,原因使用系统中jre1.8环境,防止消息框弹不出来
- ./runInstaller -jreLoc /etc/alternatives/jre_1.8.0
10、安装过程中报错处理
安装过程中会弹出一个错误信息框,里面带有 ins_ctx.mk 字样,处理方法:
vim /opt/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk
将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
修改完毕保存,点击oracle图形安装界面的continue按钮继续安装
再次报错,错误信息里含有 ins_emagent.mk 字体,处理方法:
vim /opt/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk文件中的配置,将文件中的
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL)
修改为
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
点击图形安装界面的继续按钮
验证环境:CentOS 7.7
验证时间:2019-12-13 22:59:00
时间:2019-12-13 23:01:00
CentOS7.7安装python3.7.5并安装pyqt5+oracle数据库接口
参考网址:https://www.linux-dba.com/index.php/2019/11/15/138/
一、检查本机是否有python3
- python #检查本机默认版本
- which python #查看本机默认版本位置
- ll /usr/bin/python* #查看本机/usr/bin/目录下是否有需要的python版本
二、安装依赖包
- yum -y groupinstall “Development tools” #安装开发工具组
- yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel #安装依赖包
三、下载python-3.7.5安装包,并解包
- wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tar.xz #此步骤因从国外下载,故时间较长
- tar -xvf Python-3.7.5.tar.xz #解包
四、编译、安装
- cd Python-3.7.5 #进入目录
- ./configure –prefix=/usr/local/python37 #编译
- make&&make install
五、创建链接到/usr/bin目录
- ln -s /usr/local/python37/bin/python3 /usr/bin/python3 #创建软链接
- ln -s /usr/local/python37/bin/pip3 /usr/bin/pip3 # 创建软链接
六、测试python3.7.5安装是否成功
- python3
七、升级pip3工具
- pip3 install –upgrade pip # 升级pip3工具包
八、安装Cx_Oracle包,此包为python连接oracle的包
- pip3 list cx-Oracle #查询本机是否安装cx_Oracle包
- pip3 search cx-Oracle #pypi 库中查询 cx_Oracle包
- pip3 install cx-Oracle==7.3.0 # 安装cx-Oracle 包,本次查询最新包为 7.3.0,安装也安装此版本
九、安装PyQt5,此包为Qt5界面包
- pip3 search PyQt5 # 从pypi 库中查询 pyqt5库
- pip3 install PyQt5==5.13.2 # 安装PyQt5,本次查询最新包为5.13.2,因文件较大,而且访问的为外网,可以先下载后安装,安装参考下一行命令
- pip3 install /software/PyQt5-5.13.2-5.13.2-cp35.cp36.cp37.cp38-abi3-manylinux1_x86_64.whl # 本次下载的python包,放在/software文件夹上
十、安装oracle客户端,并配置tnsname.ora
此步骤暂略,后期再补
附:如果需要安装其他版本python,请到python官网下载
官网下载地址:https://www.python.org/ftp/python
python包的下载地址,请在使用 pip3 install 安装包时,从install 信息中复制
oracle 客户端请到oracle官网下载
验证环境:CentOS7.7
验证时间:2019-12-12 08:30:00
时间:2019-12-12 08:40:00