您现在的位置是:主页 > news > 大公司的网站是怎么建的/网站推广平台搭建

大公司的网站是怎么建的/网站推广平台搭建

admin2025/4/29 9:48:43news

简介大公司的网站是怎么建的,网站推广平台搭建,政府网站建设背景,wordpress 静态文件版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80245954 我的原创地址:https://dongkelun.com/2018/05/05/oracleConf/ 前言 由…

大公司的网站是怎么建的,网站推广平台搭建,政府网站建设背景,wordpress 静态文件版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80245954 我的原创地址:https://dongkelun.com/2018/05/05/oracleConf/ 前言 由…
版权声明:本文由董可伦首发于https://dongkelun.com,非商业转载请注明作者及原创出处。商业转载请联系作者本人。 https://blog.csdn.net/dkl12/article/details/80245954

我的原创地址:https://dongkelun.com/2018/05/05/oracleConf/

前言

由于需要学习配置oracle goldengate(ogg),奈何没有oracle环境,所以想自己装一个oracle,搜了一下相关文档,跟着安装了一下,发现oracle安装比mysql安装麻烦多了,而且出现了很多博客上没有提到的错误,所以特此记录一下~

1、下载

下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html,我下载的是Oracle Database 11g Release 2
(11.2.0.1.0) Linux x86-64,注意File1和File2都要下载

2、为host添加映射

我的虚拟机之前已经配好

192.168.44.128 ambari.master.com

3、安装依赖

3.1 先安装pdksh

centos7没有相关安装包可用,可下载pdksh的rpm包

wget  http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

3.2 安装其他依赖

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel

3.3 检查所有依赖是否安装完整

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

其中中文系统”not installed” 可能需要替换成中文相关的

4、添加oracle用户组和用户

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle

查看oracle用户

id oracle

为oracle 用户设置密码

passwd oracle

5、优化系统内核

vim /etc/sysctl.conf
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 2147483648
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

其中kernel.shmmax为内存的一半,比如内存为4G,则kernel.shmmax=2*1024*1024*1024=2147483648
使参数生效

sysctl -p

6、限制oracle用户的shell权限

vim /etc/security/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   /lib64/security/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

7、创建oracle相关目录

mkdir -p /db/app/oracle/product/11.2.0
mkdir /db/app/oracle/oradata
mkdir /db/app/oracle/inventory
mkdir /db/app/oracle/fast_recovery_area
chown -R oracle:oinstall /db/app/oracle
chmod -R 775 /db/app/oracle
mkdir -p /u01/app/oracle/inventory
chown -R oracle:oinstall /u01/app/oracle/inventory

8、配置oracle用户环境变量

su oracle
vim .bash_profile
umask 022
export ORACLE_HOSTNAME=ambari.master.com
export ORACLE_BASE=/db/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

9、解压安装包

如果安装包在root用户下,现切换到root用户

su
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db

然后执行

mkdir /db/etc/
cp /db/database/response/* /db/etc/
vim /db/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=ambari.master.com
ORACLE_HOME=/db/app/oracle/product/11.2.0
ORACLE_BASE=/db/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

10、安装

先切换到oracle

su oracle
cd /db/database/
./runInstaller -silent -ignorePrereq -responseFile /db/etc/response/db_install.rsp


可按他提示的查看日志,新增一个命令窗口,执行

tail -f  /u01/app/oracle/inventory/logs/installActions2018-05-04_11-48-18AM.log

安装成功:

根据提示,执行

su
sh /u01/app/oracle/inventory/orainstRoot.sh
sh /db/app/oracle/product/11.2.0/root.sh

11配置静默监听

su oracle
netca /silent /responsefile /db/etc/netca.rsp

查看监听端口

netstat -tnulp | grep 1521

11、静默创建数据库

vim /db/etc/dbca.rsp
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "3277"

其中TOTALMEMORY 设置为总内存的80%(4*1024*0.8)
在root用户下执行(如果没有权限)

chown -R oracle:oinstall /db/etc/dbca.rsp   

执行静默建库

dbca -silent -responseFile /db/etc/dbca.rsp


然后查看一下日志看看有没有报错

vim /db/app/oracle/cfgtoollogs/dbca/orcl/orcl.log

如下

Copying database files
DBCA_PROGRESS : 1%
DBCA_PROGRESS : 3%
DBCA_PROGRESS : 11%
DBCA_PROGRESS : 18%
DBCA_PROGRESS : 26%
DBCA_PROGRESS : 37%
Creating and starting Oracle instance
DBCA_PROGRESS : 40%
DBCA_PROGRESS : 45%
DBCA_PROGRESS : 50%
DBCA_PROGRESS : 55%
DBCA_PROGRESS : 56%
DBCA_PROGRESS : 60%
DBCA_PROGRESS : 62%
Completing Database Creation
DBCA_PROGRESS : 66%
DBCA_PROGRESS : 70%
DBCA_PROGRESS : 73%
DBCA_PROGRESS : 85%
DBCA_PROGRESS : 96%
DBCA_PROGRESS : 100%
Database creation complete. For details check the logfiles at:/db/app/oracle/cfgtoollogs/dbca/orcl.
Database Information:
Global Database Name:orcl
System Identifier(SID):orcl

查看oracle实例进程

ps -ef | grep ora_ | grep -v grep
root@ambari:~# ps -ef | grep ora_ | grep -v grep
oracle     3531      1  0 05:48 ?        00:00:00 ora_pmon_orcl
oracle     3533      1 11 05:48 ?        00:00:12 ora_vktm_orcl
oracle     3537      1  0 05:48 ?        00:00:00 ora_gen0_orcl
oracle     3539      1  0 05:48 ?        00:00:00 ora_diag_orcl
oracle     3541      1  0 05:48 ?        00:00:00 ora_dbrm_orcl
oracle     3543      1  0 05:48 ?        00:00:00 ora_psp0_orcl
oracle     3545      1  0 05:48 ?        00:00:00 ora_dia0_orcl
oracle     3547      1 16 05:48 ?        00:00:17 ora_mman_orcl
oracle     3549      1  0 05:48 ?        00:00:00 ora_dbw0_orcl
oracle     3551      1  0 05:48 ?        00:00:00 ora_lgwr_orcl
oracle     3553      1  0 05:48 ?        00:00:00 ora_ckpt_orcl
oracle     3555      1  0 05:48 ?        00:00:00 ora_smon_orcl
oracle     3557      1  0 05:48 ?        00:00:00 ora_reco_orcl
oracle     3559      1  1 05:48 ?        00:00:01 ora_mmon_orcl
oracle     3561      1  0 05:48 ?        00:00:00 ora_mmnl_orcl
oracle     3563      1  0 05:48 ?        00:00:00 ora_d000_orcl
oracle     3565      1  0 05:48 ?        00:00:00 ora_s000_orcl
oracle     3615      1  0 05:48 ?        00:00:00 ora_qmnc_orcl
oracle     4088      1  1 05:48 ?        00:00:00 ora_cjq0_orcl
oracle     4121      1  0 05:48 ?        00:00:00 ora_q000_orcl
oracle     4134      1  0 05:48 ?        00:00:00 ora_q001_orcl

查看监听状态

lsnrctl status

12、登录到oracle,测试

sqlplus / as sysdba
select status from v$instance;

这是发现oracle执行任何语句报错如图:

崩溃~

13、各种错误及解决

13.1 首先检查前面的步骤有没有错的

如果没有,则执行后面,一开始我发现前面日志异常,第一次装没有经验,试了几下干脆卸载重装。

13.2 ORACLE not available

先根据ORACLE not available上网查了一下,解决方法:startup

13.3 startup 报错

错误:

could not open parameter file '/db/app/oracle/product/11.2.0/dbs/initORCL.ora'

13.4解决could not open parameter

执行以下命令即可(确保oracle用户对下面的文件夹有权限,前面已经执行过)

cp $ORACLE_BASE/admin/orcl/pfile/init.ora.43201822553 $ORACLE_HOME/dbs/initORCL.ora

参考:Linux下无法启动oracle could not open parameter file 解决方法
继续startup,又报错:MEMORY_TARGET not supported on this system

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

13.5 解决 MEMORY_TARGET not supported on this system

root 用户下执行

mount -t tmpfs shmfs -o size=7g /dev/shm

参考:ORA-00845: MEMORY_TARGET not supported on this system报错解决
继续startup

SQL> startup
ORACLE instance started.Total System Global Area 1720328192 bytes
Fixed Size          2214056 bytes
Variable Size        1006634840 bytes
Database Buffers      704643072 bytes
Redo Buffers            6836224 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

如果执行查询会报错:database not mounted,因为上面已经报错ORA-01102: cannot mount database in EXCLUSIVE mode

13.6 解决 cannot mount database in EXCLUSIVE mode

先关闭数据库

shutdown immediate
SQL> shutdown immediate
ORA-01507: database not mountedORACLE instance shut down.

然后在root用户执行

fuser -k lkORCL

其中lkORCL 为自己设置oracle实例名的大写。
再执行fuser -u lkORCL没有任何输出即可
参考:ORA-01507: database not mounted (转)

这时再执行startup就可以了

SQL> startup
ORACLE instance started.Total System Global Area 1720328192 bytes
Fixed Size          2214056 bytes
Variable Size        1006634840 bytes
Database Buffers      704643072 bytes
Redo Buffers            6836224 bytes
Database mounted.
Database opened.
SQL> select * from v$version;BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0  Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - ProductionSQL> 

再执行其他查询语句测试一下即可

14、创建用户供远程连接

开放1521端口

firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
create user bigdata identified by bigdata;
grant connect, resource to bigdata;

利用连接数据库的工具就可以远程连接oracle,如DBeaver,然后建表,插入几条记录,查询测试一下,具体方法不再赘述。

参考资料

CentOS 7静默(无图形化界面)安装Oracle 11g