分类: Oracle
2020-03-09 22:33:31
第一步: 去官网下载oracle 11g
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
下载这两个文件。
第二步:修改主机名
以root权限登录虚拟机,打开终端输入命令行,将主机名改为oracledb:
[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb
第三步:修改网络连接方式
这一步是必须要做的!因为在安装centOS(网络连接选的是桥接,不要选择NAT,否则外网无法访问你的虚拟机)的时候我们都是动态获取IP,但是在安装Oracle的时候是需要更改的,我们必须要使用静态IP,可以这样理解,装上Oracle,你的虚拟机就是提供数据访问的服务器了,IP就像你的身份证,如果你的每次都变换身份,谁能找得到你!
0 修改桥接模式,因为我的电脑是连接到路由器的,所以可以分配到多个网址,可以这么设置
虚拟机菜单---虚拟机(M)---设置---硬件---网络适配器选择为桥接模式bridge,勾选已连接。确定。
1.修改网卡配置:
用root用户登录,在终端输入命令行:#ifconfig可以查看网卡信息,其中inet addr是IP地址的意思。
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置信息如下:
DEVICE="eth0"
BOOTPROTO="static"
BROADCAST=192.168.0.255
HWADDR=00:0C:29:5E:3A:55
IPADDR=192.168.0.118
IPV6INIT="yes"
ONBOOT="yes"
TYPE=Ethernet
UUID=14ce5705-a99f-4e79-aa67-b244fc4b8857
NETMASK=255.255.255.0
NETWORK=192.168.0.1
GATEWAY=192.168.0.1
DNS1=218.85.157.99
文件各行意思如下:
DEVICE="eth0" #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0,修改前就有,复制过来就行。
BOOTPROTO="static" #(这是需要修改的,由原来的dhcp改为static!)设置网卡获得ip地址的方式,可能的选项为static,dhcp;分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址
BROADCAST=192.168.0.255 #(如果没有的话是需要自己添加的,最后一位必须是255,前面和你的外边物理机的网络ip是一致的)对应的子网
HWADDR=00:0C:29:5E:3A:55 #对应的网卡物理地址,修改前就有,复制过来就行。
IPADDR=192.168.0.118 #(自己手动添加的,必须和外部本地IP同一个网段,即前三位192.168.0和外部本机IP一致)如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT="yes"
ONBOOT="yes"
TYPE=Ethernet
UUID=14ce5705-a99f-4e79-aa67-b244fc4b8857 #原来修改前就有,复制过来就行
NETMASK=255.255.255.0 #(需要自己添加的,都是255.255.255.0)网卡对应的网络掩码,与外面物理机的一致
NETWORK=192.168.0.1 #(需要自己添加的,和网关GATEWAY保持一致即可)网卡对应的网络地址
GATEWAY=192.168.0.1 # (需要自己添加的,和外部物理机网关一致即可)
DNS1=218.85.157.99 DNS与物理机一致
贴一张外部物理机的网址:
(图三01)
2.修改网关配置
修改#vim /etc/sysconfig/network文件 修改后如下:
NETWORKING=yes
HOSTNAME=oracledb
GATEWAY=192.168.0.1
意思如下:
NETWORKING=yes (表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
HOSTNAME=oracledb (设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.0.1 # (需要自己添加的,设置本机外部物理机连接的网关的保持一致。)
3.修改DNS 配置
逐步进入/etc/resolv.conf文件 修改后如下:
# Generated by NetworkManager
domain domain.name
search domain.name
nameserver 218.85.157.99
nameserver 218.85.152.99
nameserver(需要自己添加的)即是DNS服务器IP地址,第一个是首选,第二个是备用,和外部DNS物理机保持一致。
4.重启网络服务
root执行命令:
service network restart 或 /etc/init.d/network restart
出现错误:
弹出界面 eth0: 错误:没有找到合适的设备:没有找到可用于连接 'System eth0' 的设备。【失败】
解决:
[root@localhost home]# cd /etc/udev/rules.d/
[root@localhost rules.d]# cp 70-persistent-net.rules 70-persistent-net.rules_bak
[root@localhost rules.d]# vim 70-persistent-net.rules
(图三02)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
(图三03)
将物理地址改成上面70-persistent-net.rules里面刚复制的地址。
重启网络服务
root执行命令:
service network restart 或 /etc/init.d/network restart
(图三04)
就看到网络重启成功了。
在windows物理机下ping 192.168.0.118也成功了。
(图三05)
下面 linux中ping 也通。
(图三05_1)
第四步:添加主机名与IP对应记录
[root@oracledb ~]# vi /etc/hosts
其实就是在文件里添加上一行:
192.168.0.118 oracledb
(图三06)
第五步:关闭防火墙Selinux(PS:我安装linux时就没有开启防火墙)
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0
第六步:安装依赖包
[root@oracledb ~]# yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel
第七步:创建用户和组
[root@oracledb ~]# sysctl -p
[root@oracledb ~]# groupadd -g 200 oinstall
[root@oracledb ~]# groupadd -g 201 dba
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle
[root@oracledb ~]# passwd oracle
更改用户 oracle 的密码 。 ( 都输123456)
新的 密码:
无效的密码: 过于简单化/系统化
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@localhost rules.d]#
第八步:修改内核参数
[root@oracledb ~]# vi /etc/sysctl.conf #末尾添加如下 (注:建议新手还是逐步找到相应的文件,直接在文件末尾粘贴下面的参数信息)
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
保存并退出。
第九步:修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf #末尾添加如下 (注:建议新手到文件里面进行手动添加)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@oracledb ~]# vi /etc/pam.d/login (注:建议新手到文件里面进行手动添加)
session required pam_namespace.so #这行文件中有,下面添加一条pam_limits.so
session required pam_limits.so
[root@oracledb ~]# 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
#注意上面$USER = "oracle" 这里等号的两边都有一个空格,之前没有空格用root登录时 报如下错误:
#-bash: [: root: unary operator expected
第十步:创建安装目录及设置权限,命令行输入:
[root@localhost opt]# cd /opt
[root@localhost opt]# mkdir oracle
[root@localhost opt]# chmod 777 oracle
[root@oracledb ~]# mkdir /opt/oracle/app/
[root@oracledb ~]# mkdir /opt/oracle/oradata/
[root@oracledb ~]# chmod 755 /opt/oracle/
[root@oracledb ~]# chmod 775 /opt/oracle/app/
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/
第十一步:(很重要,第二遍安装差点让它搞砸)设置环境变量!
#su oracle
[oracle@localhost ~]$ cd $HOME
[oracle@oracledb ~]$ vi ~/.bash_profile (注:~/表示的是当前登录用户的根目录的意思)
#for oracle
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=orcl
以上信息如果命令行没法修改,我们依然需要进行找到文件进行手动添加信息,但是你会发现找不到!!!因为.开头的文件都是隐藏文件!!!所以这时候你需要进入oracle用户的文件系统,按CTRL+H即可让所有的隐藏文件都现身,然后再进行添加信息!!!
[oracle@localhost ~]$ source .bash_profile
这里我们看到主机名还是localhost,没有改成oracledb,所以我们用下面命令重启一下。
#su - root
#reboot
这样机子名称就变成oracledb了。如下:
[bill@oracledb ~]$
第十二步 将下载好的两个oracle压缩文件复制到/home/oracle目录里面。
第十三步:解压oracle文件:
[oracle@oracledb ~]$ cd $HOME
[oracle@oracledb ~]$ ls
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
[oracle@oracledb ~]$ unzip -d oracle11g linux.x64_11gR2_database_1of2.zip
[oracle@oracledb ~]$ unzip -d oracle11g linux.x64_11gR2_database_2of2.zip
[oracle@oracledb ~]$ su root
[root@oracledb oracle]# chmod 777 oracle11g
[root@oracledb oracle]# cd oracle11g/
[root@oracledb oracle11g]# chmod 755 database/
[root@oracledb oracle11g]# su oracle
[oracle@oracledb oracle11g]$ su - oracle
密码:
[oracle@oracledb ~]$ cd oracle11g/
[oracle@oracledb oracle11g]$ cd database/
[oracle@oracledb database]$ pwd
/home/oracle/oracle11g/database
[oracle@oracledb database]$ ./runInstaller
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 120 MB。 实际为 75390 MB 通过
检查交换空间: 必须大于 150 MB。 实际为 8191 MB 通过
检查监视器: 监视器配置至少必须显示 256 种颜色
>>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过 <<<<
未通过某些要求检查。必须先满足这些 要求,
然后才能继续安装,
是否继续? (y/n) [n]
[root@oracledb ~]# export DISPLAY=:0
[root@oracledb ~]# xhost +
No protocol specified
xhost: unable to open display ":0"
哈哈,这里出错了,把mv /root/.Xauthority /root/.Xauthority_bak删除,reboot,重新进入,然后就都ok了。
[root@oracledb ~]# export DISPLAY=:0
[root@oracledb ~]# xhost +
access control disabled, clients can connect from any host
有这个提示就正确了。
再开一个终端:
[bill@oracledb ~]$ su - oracle
密码:
[oracle@oracledb ~]$ cd oracle11g/
[oracle@oracledb oracle11g]$ cd database/
[oracle@oracledb database]$ pwd
/home/oracle/oracle11g/database
[oracle@oracledb database]$ LANG=en_US ./runInstaller
然后就可以了。
但是没加LANG=en_US的话,启动的界面是乱码。
(图十三01)
解决办法:关掉它重新开。[oracle@oracledb database]$ LANG=en_US ./runInstaller
(图十三02)
2.选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件,然后next
(图十三03)
3.选择服务器版本,如图,点击next
(图十三04)
4.单例数据库,如图,点击next
(图十三05)
5.高级模式安装,如图,点击next
(图十三06)
6.添加支持的语言,如图,点击next
(图十三07)
7.选择要安装的版本,如图,点击next
(图十三08)
8.安装数据库目录,如图,点击next
(图十三09)
9.创建详细目录
(图十三10)
10.选择配置类型
(图十三11)
11.数据库与服务名
(图十三12)
12.开启自动内存管理(如果512m太大,我是默认744,会出现提示,减少一些就可以),然后先不要点击next,而是点击Memory旁边的Charactor sets标签选项。
(图十三13)
13.设置默认编码为UTF8
(图十三14)
14.启用oracle企业管理控制台OEM
(图十三15)
15.选择数据库文件目录
(图十三16)
16.自动备份设置
(图十三17)
17.设置数据库用户名和密码,他是有一个密码建议的,否则会提示错误,密码建议是包含大写和小写字母,总长度不能低于8位。我是12345678
(图十三18)
弹窗
(图十三19)
选YES。
18.授权的组
(图十三20)
19.检查oracle一些安装要求,
(图十三21)
全失败了。
开个终端用root登录.
#su - root
#yum -y install glibc
[root@oracledb ~]# yum -y install libaio
#yum -y install binutils compat-libstdc++-33
#yum -y install libgcc
#yum -y install libstdc++
#yum -y install libstdc++-devel
都可以看到已安装了,点击back---next 还是会有点。 我们勾选ignore all
(图十三22)
20.点finish开始安装(速度比较慢,耐心等待,喝杯咖啡)
(图十三23)
(图十三24)
安装过程会有弹窗:
(图十三25)
还有弹窗
(图十三26)
点OK。
21安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本
(图十三27)
再开个终端用root用户
[root@oracledb ~]# /opt/oracle/oraInventory/orainstRoot.sh
[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/oracle/app/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: 点击回车
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
22再点击图形安装界面的OK。出现以下界面提示The installation of Oracle Database Control was successful .就安装成功了。
(图十三28)
第十五步:命令行进入数据库,畅爽oracle吧!
(注:如果在输入命令开启数据库的时候,提示bash:XXX command not found的时候很有可能是你没有在oracle用户下输入命令行,这时候用su oracle试一下,如果还是不行可以到/opt/oracle/app/product/11.2.0/dbhome_1/bin目录下,确认一下此命令是否存在!!!
[root@oracledb ~]# su – oracle
[oracle@oracledb ~]# lsnrctl start
开启监听服务。
查询监听状态:[oracle@oracledb ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 24-JAN-2020 17:52:51
Copyright (c) 1991, 2009, Oracle. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
登录
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jan 24 17:54:05 2020
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动实例
SQL> startup
ORA-01081: cannot start already-running ORACLE - shut it down first
#至此数据库已经开启,然后就可以操作数据库了!
SQL> select * from tab; #查看所有表
SQL> select name from v$datafile ; #查看数据库存放目录
SQL> show parameter service #查看服务名
SQL> select * from v$instance; #查看实例名
SQL> select name from v$database; #查看数据库名
SQL> select * from dba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * from v$pwfile_users; #查看具有sysdba权限的用户
SQL> select * from dba_ustats; #查看当前用户信息
SQL> select * from user_sys_privs; #查看当前用户系统权限
SQL> select * from user_role_privs; #查看当前用户角色
SQL> select * from dba_sys_privs; #查看指定用户所具有的系统权限
SQL> select * from v$version; #查看oracle版本
SQL> select * from user_views; #查看视图信息
SQL> shutdown immediate #关闭数据库实例
SQL> startup
ORACLE instance started.
Total System Global Area 776646656 bytes
Fixed Size 2217384 bytes
Variable Size 478153304 bytes
Database Buffers 289406976 bytes
Redo Buffers 6868992 bytes
Database mounted.
Database opened.
转:https://blog.csdn.net/wangzhengshun/article/details/81364555
https://blog.csdn.net/fengqing5578/article/details/83545928
xuebabybaby2020-03-25 09:54:59
xuebabybaby:上面这个网络自己也试过了。可以ping得通物理机和路由器,但是ping不通猫和外网。 不知道该怎么弄。
如果有大神知道的话,请留言告诉我。 谢谢
这个问题解决了。看文章最后一段
回复 | 举报xuebabybaby2020-03-15 22:45:18
上面这个网络自己也试过了。可以ping得通物理机和路由器,但是ping不通猫和外网。 不知道该怎么弄。
如果有大神知道的话,请留言告诉我。 谢谢