Linux安装Oracle和postgrepSQL数据库

一、安装Oracle

环境配置

1、安装Oracle所需要的依赖包,依赖包有:

binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
numactl-devel-0.9.8.i386
sysstat-7.0.0
fonts-chinese-3.02-9.6.el5.noarch.rpm
unixODBC-2.2.11
unixODBC-devel-2.2.11
[root@localhost ~]# rpm -qa|grep  binutils compat gcc glibc libaio libgcc  libstdc make sysstat unixODBC

注意:在安装elfutils-libelf-devel-0.125-3.el5.i386.rpm 需要elfutils-libelf-devel-0.125-3.el5.i386.rpm elfutils-libelf-devel-static-0.125-3.el5.i386.rpm 两个包同时装,两个包相互依赖,建议在图形化安装Oracle时认真查看安装所需要的依赖包,如果没装的,装完再安装:

# rpm -ivh elfutils-libelf-devel-0.125-3.el5.i386.rpm elfutils-libelf-devel-static-0.125-3.el5.i386.rpm

binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libaio-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
//以下的包需要安装
libaio-devel-0.3.106
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

2、内核参数调整

grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo

Oracle 11g 软件还需要 2.5GB的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB的可用空间。要检查系统上的可用磁盘空间,运行以下命令:

df -h

微调参数内核,如果省略此步骤,oracle在系统检测时会提示错误。

注意:

从 /proc/sys/fs/file-max中得到最大值:113825

则 fs.file-max = 512*processes得到fs.file-max = 512*113825=58278400

[root@localhost ~]#cat >>/etc/sysctl.conf <<EOF
fs.file-max = 58278400
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 900065500
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144
EOF

设置/etc/sysctl.conf配置文件使参数生效:

sysctl -p

3、修改系统资源使用限额

为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell 限定。

vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

修改/etc/pam.d/login,在文件末尾加入以下内容,使其它系统资源限额设置生效。

配置登录是加载限制文档:

[root@localhost ~]#cat>>/etc/pam.d/login<<EOF
session required/lib/security/pam_limits.so
session required pam_limits.so
EOF

4、关闭内核selinux选项

vi /etc/selinux/config
SELINUX=disabled

5、设置网卡静态IP地址

修改/etc/sysconfig/network-scripts/ifcfg-eth0,将网卡地址设置为静态IP地址。进入RAC安装时,此步骤一定不能省略BOOTPROTO=static必须在ifcfg-eth0配置文件中始终存在,否则Oracle将提示网络检查报告。

vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:ce:d7:3e
NETMASK=255.255.255.0
IPADDR=192.168.200.4
TYPE=Ethernet
USERCTL=yes
IPV6INIT=no
PEERDNS=yes

完成上述后,重启服务器。

oracle安装前的准备工作

1、创建Oracle用户及用户组,和Oracle安装目录及数据目录,并设置权限

[root@localhost ~]#groupaddoinstall
[root@localhost ~]#groupadddba
[root@localhost ~]#mkdir/opt/u01
[root@localhost ~]#mkdir/opt/oraInventory
[root@localhost ~]#useradd -goinstall -G dba -d /opt/u01/oracle   oracle
[root@localhost ~]#passwdoracle
[root@localhost ~]#chmod -R 775/opt/u01/oracle

2、修改RedHat发行版本,将RHEL 5.改为redhat-4,如果11g就不用了,10g默认只支持redhat-4

vi /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)

3、设置Oracle用户登录环境变量

根据oracle 用户的默认shell,对默认 shellstart-up文件作如下改变。

如果是Bourne, Bash, or Kornshell,修改环境变量/etc/profile文件如下:

[root@localhost ~]# 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

修改/home/oracle/.bash_profile配置文件,在文件末尾加上以下内容:

ORACLE_BASE=/opt/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=dbsvr
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOMEORACLE_SID PATH


#LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#export LC_CTYPE=en_US.UTF-8
#export  NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

然后执行:

$ source .bash_profile

使环境变量生效。

Oracle安装

1、解压文件

[oracle@localhost tmp]$ unzip linux_11gR1_database_1013.zip
[oracle@localhost tmp]$ cd database/
[oracle@localhost database]$ ls
README doc install runInstaller stage welcome.html

[root@localhost data]chown -Roracle:oinstall database
[root@localhost opt]chown -Roracle:oinstall u01
[root@localhost opt]chown -Roracle:oinstall oraInventory

2、开始安装

以oracle用户进入,必须在图形界面下安装,如果启动级别是3则$startx启动图形界面  分辨率必须是1024*768以上:

$ xhost +
$ su - oracle
[oracle@localhost database]$ ./runInstaller

注意:$ xhost +这个一定要执行,否则会报Can't connect to X11 window
server,启动不了图形化界面。

去掉复选框选择,点击next,会弹出对话框如下:

点击yes:

选择第2项 install database soft onliy,点击next:

选择第1项 single instance database installation,点击next:

选择语言 simplifed Chinese,点击next:

选择数据库类型,我们选择企业版 Enterprise Edition(3.95G),点击next: 

为了配置oracle的安装目录,配置值应该如图所示,直接点击next:

为了配置oracle的管理组,配置值应该如图所示,直接点击nex:

为了配置oracle的用户权限,配置值应该如图所示,直接点击next: 

自动安装: 

安装完成后,点级再次检查"Check Again":

点击ignore,点击Finash开始安装: 

安装完成后弹出下图:

 

3、安装监听器

执行命令:

# netca

进入图形化配置:

直接默认下一步,到最后完成,其中你也可以修改监听去的名称,协议,端口。

确定监听程序名:

确定监听程序的协议:

确定监听程序使用端口:

是否配置另外一个监听程序:

监听程序配置完成: 

监听程序配置-欢迎界面,点击完成。

4、创建Oracle数据库

执行命令:

# dbca

欢迎使用数据库配置程序:

选择创建数据库,点击【下一步】:

选择定制数据库,点击【下一步】 :

输入数据库名称,点击【下一步】 :

配置Enterprise Manager,点击【下一步】 :

设置管理口令,点击【下一步】: 

选择数据库的存储机制,点击【下一步】 :

指定要创建的数据库文件的位置,点击【下一步】 :

不指定数据库的恢复选项,点击【下一步】 :

只保留Enterprise Manager组件,点击【下一步】: 

点击标准数据库组件,去除所有选项,点击确定,再点击【下一步】 :

设置数据库初始化参数,选择默认内存设置:

设置数据库初始化参数,选择默认块大小及进程设置: 

设置数据库初始化参数,选择中文相关语言及字符集:

设置数据库初始化参数,选择数据库连接模式:

选择数据库Oracle默认安全设置,点击【下一步】:

选择数据库Oracle启用自动维护任务,点击【下一步】 :

选择数据库Oracle数据库存储默认设置,点击【下一步】 :

选择【创建数据库】,点击【完成】 :

确定定制数据库常用选项,点击【确定】: 

开始创建及配置数据库实例(大约需要10-20分钟) 

创建及配置数据库实例(进行中):

创建及配置数据库实例(完成) :

创建及配置数据库实例(完成),确认【口令管理】后,点击【退出】 

创建及配置数据库实例(完成),确认【口令管理】,点击确定:

5、启动、停止及开机自动启动Oracle数据库 

vi /home/oracle/.bash_profile

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
ORACLE_OWNER=oracle
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"

启动或关闭数据库(oracle用户)

su – oracle

第一种启动方式:

sqlplus /nolog
sql>connect system/passwd as sysdba
sql> startup
Or
sql> shutdown immediate

第二种启动方式:

cd /u01/app/oracle/product/11.1.0/db_1/bin
./lsnrctl start
Or
./lsnrctl stop

6、创建及修改自动启动或关闭数据库相关文件

vi /etc/oratab
xe:/u01/app/oracle/product/11.1.0/db_1:Y
vi /etc/init.d/oracle-xe

#!/bin/sh
# chkconfig: 345 90 10
# description: Oracle auto start-stop script
#
ORA_HOME=/u01/app/oracle/product/11.1.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart $ORA_HOME"
;;
'stop')
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut $ORA_HOME"
;;
esac
chmod 755 /etc/init.d/oracle-xe

安装oracle数据库11g时报错:提示ins_ctx.mk编译错误

centos7安装oracle 11g时碰到这个报错,看了很多博客,各种方法都试了,包括下面这种,都没什么用。

后来发现我的路径跟博主的不一样,怪不得不能用,然后更改路径后,按照提示修改下面两个文件就OK了。

提示ins_ctx.mk编译错误,解决方法:

ORACLE_HOME:/u01/app/oracle/product/11.2.0/dbhome_1
该软件包包含一个静态链接库:/usr/lib64/libc.a
在oracle用户下修改/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将

修改/u01/app/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 (11行)

添加完成后点击继续会继续报错:

”Error in invoking target ‘agent nmhs’ of makefile
‘/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk.’

解决方法:在makefile中添加链接libnnz11库的参数
修改/u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将
(MKEMAGENTNMECTL)修改为:(MKEMAGENTNMECTL) 修改为:(MK_EMAGENT_NMECTL) -lnnz11(190行)
点击Retry继续安装。

最后安装成功!

oracle提示框展开不全 

./runInstaller -jreLoc /usr/java/jdk1.8.0_91/

二、安装postgrepSQL

1、下载postgrep安装包

PostgreSQL: File Browser

2、解压安装包

[root@VM-0-3-centos local]# tar -zxvf postgresql-12.4.tar.gz

3、编译安装

新建安装目录,在/usr/local 下新建pgsql(目录名字自己取,比如postgresql):

[root@VM-0-3-centos local]#mkdir pgsql

5.进入解压目录,进行编译文件到安装目录pgsql

[root@VM-0-3-centos postgresql-12.4]# ./configure --prefix=/usr/local/pgsql

4、安装readline-devel

运行步骤5的时候会出现如下图的情况,这时候需要安装,安装命令如下:

[root@VM-0-3-centos postgresql-12.4]#yum install readline-devel

5、 安装zlib开发包

继续执行步骤5的命令,如果出现如下图的情况,需要安装zlib开发包,安装命令如下:

[root@VM-0-3-centos postgresql-12.4]#yum install zlib-devel

6、继续执行步骤5的命令

继续执行步骤5的命令,直到不报错。

可以看到提示创建了config.status配置文件。

7、继续安装

分别执行下面语句:

[root@VM-0-3-centos postgresql-12.4]#make && make install

8、添加用户和组

[root@VM-0-3-centos postgresql-12.4]#groupadd postgres
[root@VM-0-3-centos postgresql-12.4]#useradd -g postgres postgres

接下来需要设置权限,将postgres的数据目录全部赋权给postgres用户(此处我将postgres的数据目录指定在在/usr/local/pgsql/data目录下):

chown -R postgres:postgres /usr/local/pgsql/

9、创建postgresql数据库的数据主目录并修改文件所有者

这个数据库主目录是随实际情况而不同,这里我们的主目录是在/pgsql/data目录下:

[root@VM-0-3-centos local]# cd pgsql
[root@VM-0-3-centos pgsql]# mkdir data
[root@VM-0-3-centos pgsql]#chown postgres:postgres data
[root@VM-0-3-centos pgsql]#ls -al

10、配置环境变量

进入home/postgres目录可以看到.bash_profile文件

[root@VM-0-3-centos pgsql]# cd /home/postgres
[root@VM-0-3-centos postgres]# ls -al

编辑修改.bash_profile文件。

[root@VM-0-3-centos postgres]# vi .bash_profile

添加以下内容:

export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin

保存,退出vi。执行以下命令,使环境变量生效:

[root@VM-0-3-centos postgres]## source .bash_profile 

11、切换用户到postgres并使用initdb初使用化数据库

[root@VM-0-3-centos postgres]# su - postgres
[postgres@VM-0-3-centos ~]$ initdb

初始化成功结果如下图:

可以看到 /pgsql/data已经有文件了。

 

12、修改/pgsql/postgresql/data目录下的两个文件。

postgresql.conf   配置PostgreSQL数据库服务器的相应的参数。  

pg_hba.conf        配置对数据库的访问权限。

在当前用户下访问data目录:

[postgres@VM-0-3-centos ~]$ cd /usr/local/pgsql/data
[postgres@VM-0-3-centos data]$ ls
[postgres@VM-0-3-centos data]$ vi postgresql.conf

【其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。】

[postgres@VM-0-3-centos data]$ vi pg_hba.conf 

找到最下面这一行 ,这样局域网的人才能访问。红色为新添加内容。

# IPv4 local connections:
host    all             all             0.0.0.0/0                  trust
host    all             all             127.0.0.1/32            trust

 

13、开放端口

切换到root用户下:

[root@VM-0-3-centos ~]# firewall-cmd --zone=public --add-port=5432/tcp --permanent
[root@VM-0-3-centos ~]# firewall-cmd --reload
[root@VM-0-3-centos ~]# service firewall start(开启防火墙)

14、启动数据库

由于我们设置了环境变量,所以已经指定了数据目录PGDATA,-l表示日志文件目录,通常需要指定,所以我们在/usr/local/pgsql根目录下再创建一个log目录用来存放日志文件(注意别忘记赋予可写的权限最好是777权限), 手动新建即可。

最后运行pg_ctl start -l /usr/local/pgsql/log/pg_server.log即可启动数据库,看到如下提示就说明启动成功了:

[root@VM-0-3-centos ~]# su - postgres
[postgres@VM-0-3-centos ~]$ pg_ctl start -l /usr/local/pgsql/log/pg_server.log

15、登录重置密码

启动成功后我们就可以通过postgresql自带的客户端工具psql来进行连接,直接输入psql看到版本信息则说明连接成功:

[postgres@VM-0-3-centos ~]$ psql

接下来要做的第一件事就是设置postgres用户的密码(默认为空),用psql连接成功后直接输入\password即会提示输入两次密码,如下图:

16、设置开机启动

PostgreSQL的开机自启动脚本位于PostgreSQL源码目录(解压的那个文件夹)的contrib/start-scripts路径下。

linux文件即为linux系统上的启动脚本

1. 修改linux文件属性,添加X属性

[root@VM-0-3-centos /]# cd /usr/local/postgresql-12.4/contrib/start-scripts/
[root@VM-0-3-centos contrib]# cd start-scripts/
[root@VM-0-3-centos start-scripts]# chmod a+x linux

2. 复制linux文件到/etc/init.d目录下,更名为postgresql

[root@VM-0-3-centos start-scripts]# cp linux /etc/init.d/postgresql

3. 修改/etc/init.d/postgresql文件的两个变量

[root@VM-0-3-centos /]# cd /etc/init.d/
[root@VM-0-3-centos init.d]# vi postgresql

prefix设置为postgresql的安装路径:

usr/local/pgsql/

PGDATA设置为postgresql的数据目录路径:

usr/local/pgsql/data

 

4. 设置postgresql服务开机自启动

[root@VM-0-3-centos init.d]# chkconfig --add postgresql

5. 查看开机自启动服务设置成功。

[root@localhost init.d]# chkconfig
postgresql         0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭

6. 执行service postgresql start,启动PostgreSQL服务。

[root@VM-0-3-centos init.d]# service postgresql start
Starting PostgreSQL: ok

 

导入数据

向tbl_site_view 表中导入500个数据的命令,windows的路径需要用两个斜杠,C://:

psql -U postgres -d webdb
set search_path to public;
SELECT setval('tbl_site_view_id_seq', (SELECT MAX(id) FROM tbl_site_view)+1)
webdb-# \copy tbl_site_view from '/home/a.csv' with csv header delimiter ',' encoding 'UTF8';

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/126251805