一、环境准备
操纵系统版本:银河麒麟V10 SP1 0518 Server x86_64
二、基础环境准备
1、安装麒麟操纵系统
留意:预留至少7G以上swap缓存
2、关闭selinux和firewalld
3、假如是内网环境需要挂载当地源
【银河麒麟V10】【服务器】搭建当地镜像源_桂安俊@kylinOS的博客-CSDN博客_麒麟镜像源
4、准备oracle安装环境
(1)安装依赖
- yum install libnsl* -y
- yum install binutils gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi unixODBC-devel
- -y
复制代码 (2)创建oracle用户和组
- groupadd oinstall
- groupadd dba
- useradd -g oinstall -G dba -m oracle
- passwd oracle
复制代码 (3)创建安装Oracle软件所需要的目录及赋权
- mkdir -p /home/oracle/app/
- chown -R oracle:oinstall /home/oracle/app/
- chmod -R 775 /home/oracle/app/
复制代码 并将oracle安装文件上传至 /home/oracle/app/ 目录下,并将“libpthread_nonshared.a”文件添加至/usr/lib64目录下。
(4)设置系统内核参数值
在打开的文件底部添加下面内容
- fs.aio-max-nr = 1048576
- fs.file-max = 6815744
- kernel.shmall = 2097152
- kernel.shmmax = 536870912
- 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 = 1048586
复制代码 使改变的系统内核参数值生效
修改用户登录库文件引用limits.conf文件
- vim /etc/security/limits.conf
- # 在文件末尾添加下面6行内容:
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofile 65536
- oracle soft stack 10240
- oracle hard stack 10240
复制代码 使改变的limits.conf文件生效
在打开的文件底部添加下面内容
- session required /lib64/security/pam_limits.so
- session required pam_limits.so
复制代码 关闭防火墙
- systemctl stop firewalld.service #关闭防火墙
- systemctl disable firewalld.service #禁止防火墙开机启动
- systemctl status firewalld.service #查看防火墙状态
复制代码 关闭selinux
- vi /etc/selinux/config #编辑文件
- SELINUX=disabled #修改的内容
复制代码 安装依赖、有几个包可能不在yum源中,需要在网上去下载,我这里整理了几个比较难下载的包。
compat-libcap1-1.10-7.el7.x86_64.rpm
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
elfutils-libelf-0.185-1.el8.x86_64.rpm
elfutils-libelf-devel-0.185-1.el8.x86_64.rpm
【文章开头的网盘资料中】
- rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm --force --nodeps
复制代码 --force 欺压安装
--nodeps 不查找依赖关系
查抄是否安装成功
- 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
复制代码 修改用户登录环境变量
- vi /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
-
- source /etc/profile # 使修改的文件生效
复制代码 设置Oracle用户环境变量
- su - oracle #切换用户
- vi ~/.bash_profile # 添加内容如下
-
- # Source /root/.bashrc if user has one
- [ -f ~/.bashrc ] && . ~/.bashrc
- ORACLE_SID=orcl;export ORACLE_SID
- ORACLE_UNQNAME=orcl;export ORACLE_UNQNAME
- ORACLE_BASE=/home/oracle/app/;export ORACLE_BASE
- ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;export ORACLE_HOME
- NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS";export NLS_DATE_FORMAT
- NLS_LANG=american_america.ZHS16GBK;export NLOS_LANG
- TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
- ORA_NLS11=$ORACLE_HOME/nls/data;export ORA_NLS11
- PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
- PATH=${PATH}:/usr/bin:/bin:/usr/bin/x11:/usr/local/bin
- export PATH
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
- LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
- export LD_LIBRARY_PATH
- CLASSPATH=$ORACLE_HOME/JRE
- CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
- CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
- CLASSPATH=${CLASSPATH}:$ORALCE_HOME/network/jlib
- export CLASSPATH
- THREADS_FLAG=native;export THREADS_FLAG
- export TEMP=/tmp
- export TMPDIR=/tmp
- umask 022
复制代码 办理安装界面乱码题目
下载zysong.ttf,unzip 解压
一般最小化安装的centos没有zip解压和归档管理器file-roller
yum install -y unzip file-roller
01、建议在linux下安装些字体
mkdir -p /usr/share/fonts/zh_CN/TrueType
cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/
02、在下令行$file-roller
在归档管理器打开database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles/xx.jar
oracle11R2.0.4.0 中xx.jar ==filegroup4.jar
fallback文件夹加载进去filegroup4.jar对应的/jdk/jre/lib/fonts/下,及拖入后字体的路径为xx.jar文件的
在归档管理器中显示的路径/jdk/jre/lib/fonts/fallback/zysong.ttf。
03、退出安装,再次打开乱码即可题目办理
02、在设置数据库实例出现乱码
安装步伐在利用dbca设置数据库时,仍然还会出现乱码
复制上述下载的字体文件夹到oracle安装文件夹下,如我的为:
$cp ~/fallback/zysong.ttf $ORACLE_HOME/jdk/jre/lib/fonts/fallback/
办理安装时报unzip题目
- su root #切换到root用户
- cp /usr/bin/unzip /u01/oracle11g-install/安装包/database/install #将系统的unzip程序拷贝到oracle安装目录的install目录下,oracle安装目录根据自己实际路径对应修改
复制代码 开始安装Oracle
图形化安装方式需要调用图形界面,需要到服务器显示器或者远程桌面或者设置ssh工具图形转发服务等,才可安装。
- #执行runInstaller安装脚本
- su oracle #切换oracle用户安装
-
- cd /u01/oracle11g-install/安装包/database #oracle安装文件放置路径以实际环境为准
-
- ./runInstaller
-
复制代码
oracle 11gR2 安装时出现的错误:
错误(1):
Error in invoking target 'links proc gen_pcscfg procob' of makefile '/u01/app/oracle/product/11.1.0/db_1/precomp/lib/ins_precomp.mk'.
办理方案参考网上的方法:
http://www.oracle-base.com/articles/12c/oracle-db-12cr1-installation-on-oracle-linux-7.php
保留安装历程,别的开启一个终端窗口,修改文件env_rdbms.mk内容.
# rm -rf /u01/app/oracle/product/12.1.0/db_1/lib/stubs/*
# cp /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk.orig
# vi /u01/app/oracle/product/12.1.0/db_1/rdbms/lib/env_rdbms.mk
# Line 176
# FROM:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS)
# TO ?:
LINKTTLIBS=$(LLIBCLNTSH) $(ORACLETTLIBS) $(LINKLDLIBS) -lons
# Line 279-280
# FROM:
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS)
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS)
# TO ?:
LINK=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS) $(COMPSOBJS) -Wl,--no-as-needed
LINK32=$(FORT_CMD) $(PURECMDS) $(ORALD) $(LDFLAGS32) $(COMPSOBJS) -Wl,--no-as-needed
# Line 3041-3042
# FROM:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS)
# TO ?:
TG4PWD_LINKLINE= $(LINK) $(OPT) $(TG4PWDMAI) \
$(LLIBTHREAD) $(LLIBCLNTSH) $(LINKLDLIBS) -lnnz12
然后在安装历程中点击Retry即可。
办理方案
在makefile中添加链接libnnz11库的参数
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
建议修改前备份原始文件
[oracle@ysserver ~]$ cd $ORACLE_HOME/sysman/lib
[oracle@ysserver lib]$ cp ins_emagent.mk ins_emagent.mk.bak
[oracle@ysserver lib]$ vi ins_emagent.mk
进入vi编辑器后 ?下令模式输入/NMECTL 进行查找,快速定位要修改的行
在后面追加参数-lnnz11 ? ?第一个是字母l ? 后面两个是数字1
每次虚拟机重启执行下令都要开启监听,打开数据库,设置开机自动执行:
- #修改此文件,让sqlplus / as sysdba;不用手动执行
- vi /etc/oratab
- #将N改成Y
- orcl:/u01/app/oracle/product/11.2.0.4/db_1:N
-
- #修改此文件,数据库监听和服务开机自启
- vi /etc/rc.d/rc.local
-
- su - oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/lsnrctl start" #与安装目录相关
- su - oracle -lc "/home/oracle/app/product/11.2.0/dbhome_1/bin/dbstart" #与安装目录相关
-
- #修改DB启动配置文件(安装目录中的dbstart文件)
- vi /home/oracle/app/product/11.2.0/dbhome_1/bin/dbstart
-
- ORACLE_HOME_LISTNER=$1 #将$1改成 $ORACLE_HOME
- #设置权限
- chmod u+x /etc/rc.d/rc.local
复制代码
create temporary tablespace ERMSDB_TEMP
tempfile '/home/oracle/app/oradata/orcl/ERMSDB_TEMP.dbf'
size 100m reuse autoextend on next 20m maxsize unlimited;
create tablespace ERMSDB
datafile '/home/oracle/app/oradata/orcl/ERMSDB.dbf'
size 100M reuse autoextend on next 40M maxsize unlimited
default storage(initial 128k next 128k minextents 2 maxextents unlimited);
create user ERMS_V2 identified by ERMS_V2 default tablespace ERMSDB temporary tablespace ERMSDB_TEMP;
create user ERMS_UIM identified by ERMS_UIM default tablespace ERMSDB temporary tablespace ERMSDB_TEMP;
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'ERMS_UIM';
grant dba ,connect, resource, unlimited tablespace to ERMS_V2;
grant dba ,connect, resource, unlimited tablespace to ERMS_UIM;
可更改alter system set sec_case_sensitive_logon=false;设置改为不区分大小写,
当地导入:
imp 用户名/暗码@orcl file='文件地点' full=y ignore=y
导入其他数据库:
imp 用户名/暗码@ip:端口//实例名 file='文件地点' full=y ignore=y
导出:
exp 用户名/暗码@ip:端口//实例名 file='文件地点' tables=指定导出表名
多张表
exp 用户名/暗码@ip:端口/实例名 file='文件地点' tables=table1,table2;
全部表
exp username/password@ip:端口/实例名 file='文件地点'
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
exp erms_uim/erms_uim@orcl file=e:\bak\erms_uim_%BACKUPDATE%.dmp log=e:\bak\erms_uim_%BACKUPDATE%.log
exp erms_v2/erms_v2@orcl file=e:\bak\erms_v2_%BACKUPDATE%.dmp log=e:\bak\erms_v2_%BACKUPDATE%.log
create or replace directory backdump as '/home/oracle/backup';
Grant read,write on directory backdump to erms_uim;
Grant read,write on directory backdump to erms_v2;
- #!/bin/bash
- # 配置备份目录和文件名
- BACKUP_DIR=/home/oracle/backup #根据1设置的dump目录
- DATE=$(date +%Y%m%d)
- expdp erms_uim/erms_uim@orcl directory=BACKDUMP schemas=erms_uim file=/home/oracle/backup/erms_uim_$DATE.dmp log=$BACKUP_DIR/erms_v2_$DATE.log
- expdp erms_v2/erms_v2@orcl directory=BACKDUMP file=$BACKUP_DIR/erms_v2_$DATE.dmp log=$BACKUP_DIR/erms_v2_$DATE.log
- # 删除3天前的备份
- find ${BACKUP_DIR} -type f -mtime +3 -name "erms*.dmp" -exec rm {} \;
- find ${BACKUP_DIR} -type f -mtime +3 -name "erms*.log" -exec rm {} \;
复制代码- select userenv('language') from dual;
- 查看到是ZHS16GBK,而本机库是utf-8用一下命令修改本机库字符集
- SQL>SHUTDOWN IMMEDIATE
- SQL>STARTUP MOUNT
- SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
- SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
- SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
- SQL>ALTER DATABASE OPEN
- SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
- SQL>SHUTDOWN IMMEDIATE
- SQL>STARTUP
- 设置后导入成功!
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |