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<
- 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
完成上述后,重启服务器。
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
使环境变量生效。
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
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继续安装。
最后安装成功!
./runInstaller -jreLoc /usr/java/jdk1.8.0_91/
1、下载postgrep安装包
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';