一. 准备工作
-
首先在oracle官网下载linux版本的两个安装包
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip -
通过xftp将压缩包传送到linux服务器上
-
修改linux中的空间资源 因为linux是为小文件准备的,而oracle数据库需要占用较多的资源,因此要把各项参数调大,使用
vi编辑/etc/sysctl.conf
,将下面的插入到文档最后,点击i进行插入操作 ,然后:wq保存退出
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=1048576
net.ipv4.tcp_wmem=262144 262144 262144
net.ipv4.tcp_rmem=4194304 4194304 4194304
- 修改limits.conf
进入文件vi /etc/security/limits.conf
在文件的末尾添加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
- 重启系统
reboot
- 执行一系列操作 以普通用户登录 然后在切换到root用户进行操作,密码是root的密码(千万不要用root登录)
切换到root 用户 su root
6.1. 创建组dba
groupadd dba
6.2. 创建oracle用户并且添加到dba组 输入以下命令
useradd oracle
6.3. 将oracle用户添加到dba组
usermod -g dba oracle
6.4. 给用户添加一个密码 密码要好记别管他提示(说的是密码安全系数低 不用管他)
passwd oracle密码
6.5. 修改密码 输入passwd oracle命令按提示输入 写入修改后的密码 - 创建目录 将下面的
mkdir -p /u01/app/oracle
chown -R oracle:dba /u01/app/oracle
chmod -R 777 /u01/app/oracle
su oracle//切换到oracle用户 - 配置概要文件
输入以下命令
cd /home/oracle
vi .bashrc
插入以下内容
umask 002
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_HOME
ORACLE_SID=localhost.localdomain
export ORACLE_SID
PATH=/usr/bin:/bin:usr/local/bin:/usr/bin/X11:/usr/bin/X11R6
PATH=$PATH:$ORACLE_HOME/bin
export PATH
-
添加/etc/hosts中的dns解析
切换到 root用户下输入以下命令
vim /etc/hosts
192.168.11.3 主机名字
192.168.11.3 localhost
退出 -
root用户下
vi /etc/pam.d/login
添加下面参数
session required /lib/security/pam_limits.so
session required pam_limits.so
准备工作完毕 重启系统
二.安装oracle
- 创建安装目录并将其属组修改为Oracle
获取root权限执行以下命令
su root ----获取root权限
mkdir /u01/app/oraInventory
chown -R oracle:dba /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
- 解压oracle安装文件
首先将oracle安装程序拷贝到一个目录下(我解压到tmp的oracle目录下,在外面复制在文件夹里面粘贴)
cd /tmp/
mkdir oracle//创建oracle文件夹
然后将导入到linux的两个安装程序复制粘贴到该文件夹下 注意使用root用户进行操作 非root用户无法访问
然后在tmp下使用欧冠终端执行以下命令
chown -R oracle:dba oracle/
chmod -R 775 oracle/
-
进入oracle用户下进行解压
su - oracle
cd /tmp/oracle/
unzip linux.x64_11gR2_database_1of2.zip --解压第一软件包
unzip linux.x64_11gR2_database_2of2.zip_–解压第二软件包 -
切换到root 用户下
su - root
cd /media/CentOS_6.8_Final/Packages/
执行先决条件
rpm -ivh binutils-2.20.51.0.2-5.44.el6.x86_64.rpm
rpm -ivh libstdc+±4.4.7-17.el6.x86_64.rpm
rpm -ivhlibaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh make-3.81-23.el6.x86_64.rpm
rpm -ivh sysstat-9.0.4-31.el6.x86_64.rpm
上面的先决条件可能会有提示无该安装包的,所以还需要通过yum进行安装
yum install binutils compat-libstdc++ -33 compat-libstdc++ -33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc+±devel make sysstat unixODBC unixODBC-devel -y
-
切换到oracle的根目录下
本机安装xmanager软件
打开xmanager里面的xmanager-passive
su - oracle
cd /tmp/oracle/database/
export DISPLAY=主机ip:0.0 注意这里是window的ipv4 不是虚拟机的ip
执行
xhost+ 点击确定
继续输入
export LANG=en_US.UTF-8 确定
在window界面等待安装界面
在system Class
下选择server Class
install Type
选择Advanced install(高级安装)
database identifiers
下将oracle service identifier改为orcl
schema passwords下选择 use the same password for all accounts
设置密码
以上没写的步骤全部选择next
在prerequisite checks下会出现如下错误
这里选择ignore all百度的博客上面说这些是32bit的安装包 选择忽视所有然后选择next
这里等待进程安装的时候可能会一直停在 Oracle Database configuration
这里,百度的结果就是那个确认的界面被覆盖了 按alt+tab
找到界面点击ok
就可以了 擦 在这里等了好久 以为安装失败
-
在终端继续输入以下命令
/u01/app/oracle/product/11.2.0/root.sh
直接 回车 -
打开oracle的监听服务
切换到oracle用户下
su - oracle
lsnrctl status //查看监听状态 如果 发现没开的话
输入lsnrctl start 开始监听服务
三.测试oracle
-
oracle 用户下
输入
sqlplus /nolog
conn /as sysdba
startup
出现下面情况 是因为找不到initlocalhost.localdomain.ora文件,其实该文件在其他的位置只需要改名字讲台放到 /u01/app/oracle/product/11.2.0/dbs/下
退出oracle
输入 exit
切换到root用户登录 进行文件的修改
/u01/app/oracle/admin/orcl/pfile路径下找到该文件
复制该文件到 /u01/app/oracle/product/11.2.0/dbs/ 路径下
然后重命名为initlocalhost.localdomain.ora -
用普通账户登录
切换到 oracle用户下
su - oracle 密码是你界面安装时设置的密码
sqlplus /nolog
conn /as sysdba
startup
出现如下 存储位置不支持该系统 网上的原因存储位置空间占用较大
解决方案:
a. 查看是否空间不足
df -h /dev/shm
已经占用53% 而且大小就495M明显不够 切换到root用户下进行操作
su - root
输入密码:b. 更换 /dev/shm 默认为2G
vi /etc/fstaba
defaults后面添加,size=2048M
保存退出 `:wq
c: 继续执行
umount /dev/shm 不要管下面的错误提示
mount /dev/shm
df -h 内存大小已经修改
-
切换到oracle 用户下
su - oracle
sqlplus /nolog
conn /as sysdba
startup 继续出现如下错误
解决方案:
退出数据库 exit
reboot
切换到oracle用户下
su - oracle
监听服务打开
lsnrctl start
查看监听服务
lsnrctl status
重新登录数据库
sqlplus /nolog
conn /as sysdba
startup //每次操作都要开启 不然连接不上数据库
//连接scott账户
conn /scott/tiger
出现的错误表示 账户已经被锁定了 因此需要解锁用户
alter user scott account unlock;
输入 conn /scott/tiger 就可以在linux上面进行操作数据库了
四.Windows通过ip访问linux上面的数据库
- 首先将linux的防火墙关闭 在root 用户下操作
service iptables stop - 在windows打开连接数据库的编辑器 我用的是idea
启动连接数据库
连接成功
至此完毕 同理在购买的云服务器上面部署也是这样的
记录两个文件
/u01/app/oracle/product/11.2.0/network/admin下的
listener.ora 监听端口的文件
tnsnames.ora 查看数据库sid的文件