ORACLE LINUX-7.7-安装ORACLE-11g

1.环境准备

1.1.安装oracle linux7.7

oracle11g下载网址:

https://www.cnblogs.com/zhangzhixi/p/15242962.html

oracle11g下载地址:

http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip

1.2.修改hosts

echo "192.168.0.51 fgedu51" >> /etc/hosts
cat /etc/hosts

1.3.关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

1.4.关闭selinux

setenforce 0
 vim /etc/selinux/config
  6 #     disabled - No SELinux policy is loaded.
  7 SELINUX=disabled
  8 # SELINUXTYPE= can take one of three values:
init 6

1.5.创建所需用户和组

groupadd dba
useradd oracle
passwd oracle
#密码:oracle P@ssword

#安装源

mkdir /mnt/linux
mount /dev/cdrom /mnt/linux
cd /etc/yum.repos.d
mkdir bk 
mv *.repo bk/
vim itpux.repo
[EL]
name =Linux 7.x DVD
baseurl=file:///mnt/linux
gpgcheck=0
enable=1
yum clean all
yum makecache

1.6.安装依赖

yum -y install autoconf automake binutils binutils-devel bison cpp dos2unix ftp gcc gcc-c++ lrzsz python-devel compat-db* compat-gcc-34 compat-gcc-34-c++ compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc-* glibc-*.i686 libXpm-*.i686 libXp.so.6 libXt.so.6 libXtst.so.6 libXext libXest.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 libXtst libstdc++-docs libgcc_s.so.1 libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio-devel libaio-devel.i686 ksh libXp libaio-devel numactl numactl-devel make sysstat unixODBC unixODBC-devel elfutils-libelf-devel redhat-lsb-core  
下载地址
http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm 
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

1.7.配置环境变量

su - oracle
echo "export LANG=en_US" >> ~/.bash_profile
echo "export ORACLE_BASE=/oracle/app/oracle">> ~/.bash_profile
echo "export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1">> ~/.bash_profile
echo "export ORACLE_UNQNAME=itpuxdb" >> ~/.bash_profile
echo "export ORACLE_SID=itpuxdb" >> ~/.bash_profile
echo "NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG" >> ~/.bash_profile
echo "export PATH=$PATH:/oracle/app/oracle/product/11.2.0/db_1/bin" >> ~/.bash_profile
source ~/.bash_profile
env |grep ORACLE

1.8.建立oracle专用盘

su - root
fdisk -l
fdisk /dev/sdb
n->p-w #按情况来选择
fdisk -l
mkfs.xfs -f /dev/sdb
parted -l /dev/sdx #查看分区文件类型
lsblk 或者 fdisk -l                #查看新的硬盘的情况
mkdir -p /oracle/app/oracle       #创建挂载的目录
mount /dev/sdb /oracle            #挂载磁盘

vim /etc/fstab                    #修改启动文件,添加挂载信息
/dev/sdb /oracle xfs defaults 0 2 
init 6                            #重启
mount | grep /oracle              #验证挂载信息
df -h                             #验证挂载信息
chown -R oracle:dba /oracle
chmod -R 775 /oracle

2.安装

2.1.解压

su - oracle
cd /oracle
unzip /mnt/hgfs/oracle\ soft/linux.x64_11gR2_database_1of2.zip
unzip /mnt/hgfs/oracle\ soft/linux.x64_11gR2_database_2of2.zip
#登录oracle用户,进入桌面,打开终端
cd /oracle/database
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0 

2.2.安装

弹出截面

image-20250321201017262

image-20250321201402573

image-20250321201454096

image-20250321201524856

image-20250321201558749

image-20250321201622228

image-20250321201754673

image-20250321201936921

image-20250321202001376

image-20250321202105272

image-20250321202120242

image-20250321202210167

image-20250321202301871

image-20250321202441928

image-20250321202605889

image-20250321202635295

image-20250321202659199

image-20250321202838118

image-20250321202912326

image-20250321202950424

image-20250321203026163

image-20250321203113868

#打开终端,切换到root

su - root
/tmp/CVU_11.2.0.1.0_oracle/runfixup.sh

#点击OK,会再次检测

image-20250321203431591

#切换到root用户,看看安装的包的情况

#如果没有找到类似,则需要安装,如此类推
rpm -qa | grep libio
libaio-devel-0.3.109-13.el7.x86_64
libaio-devel-0.3.109-13.el7.i686
libaio-0.3.109-13.el7.i686
libaio-0.3.109-13.el7.x86_64

#解决 包:pdksh-5.2.14 警告

这个警告,我猜测直接忽略就行了。因为本机已经安装了ksh-20120801-142.el7.x86_64。yum search pdksh 中搜索没的搜索到它。只能手动安装了

#查看是否有类似的安装包
rpm -qa | grep pdksh
#下载安装包
wget  http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
#安装
rpm -ivh /mnt/hgfs/iso/pdksh-5.2.14-37.el5.x86_64.rpm 
警告:/mnt/hgfs/iso/pdksh-5.2.14-37.el5.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
错误:依赖检测失败:
    pdksh 与 (已安裝) ksh-20120801-139.0.1.el7.x86_64 冲突
#卸载冲突
rpm -e ksh-20120801-139.0.1.el7.x86_64
#重新安装
rpm -ivh /mnt/hgfs/iso/pdksh-5.2.14-37.el5.x86_64.rpm
#再检测,显示消失

#接着安装

image-20250321205705703

image-20250321205757617

image-20250321205844472

image-20250321210231164

#上面这个点继续

image-20250324135933896

cd $ORACLE_HOME/sysman
cd lib
cp ins_emagent.mk ins_emagent.mk.bak
vim ins_emagent.mk
改:
187 #===========================
188 
189 $(SYSMANBIN)emdctl:
190         $(MK_EMAGENT_NMECTL)
191 
192 #===========================
为:
187 #===========================
188 
189 $(SYSMANBIN)emdctl:
190         $(MK_EMAGENT_NMECTL) -lnnz11
191 
192 #===========================

#然后回到安装界面点击继续或者重新尝试
image-20250324164116460

image-20250324164144984

#启动路径
/oraclef/app/oracle/product/11.2.0/db_1/dbs/spfileitpuxdb.ora
image-20250324164403150

#切换root用户运行以上两个脚本,运行正常后,启动oracle测试

image-20250325000812786

3.首次启动的步骤

#切换到oracle用户
su - oracle

#连接数据库-linux
sqlplus "/as sysdba"

#查看数据库状态-ORACLE
select status from v$instance;
select instance_name,status from v$instance;

#显示如下状态才是正常
INSTANCE_NAME     STATUS
---------------- ------------
itpuxdb      OPEN

4.关闭数据的步骤

关闭数据库的步骤
#查看数据库状态-ORACLE
select status from v$instance;
select instance_name,status from v$instance;

#关闭数据库-ORACLE
shutdown immediate;

#关闭监听-LINUX
lsnrctl stop

5.启动数据库的步骤

#启动数据库-ORACLE
startup
#查看数据库状态-ORACLE
select status from v$instance;
select instance_name,status from v$instance;

#退出-ORACLE
exit

#启动监听
lsnrctl start

切记,关闭系统前,先关闭数据库,再关闭监听,最好再关闭系统,不然系统很容易出错

6.相关日志须知

日志路径

select * from v$diag_info;
#找到下面信息
INST_ID NAME
---------- ----------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
     1 Diag Trace
/oracle/app/oracle/diag/rdbms/itpuxdb/itpuxdb/trace

     1 Diag Alert
/oracle/app/oracle/diag/rdbms/itpuxdb/itpuxdb/alert

     1 Diag Incident
/oracle/app/oracle/diag/rdbms/itpuxdb/itpuxdb/incident

警告日志路径

cd /oracle/app/oracle/diag/rdbms/itpuxdb/itpuxdb/trace
ls -lsa al*
36 -rw-r----- 1 oracle oracle 33204 Mar 25 00:18 alert_itpuxdb.log
tail -200f alert_itpuxdb.log
#报错可以从这个文件看到,一般以“ora”开头

7.卸载oracle

#进入桌面命令行
dbca
image-20250325100546975

image-20250325100607026

image-20250325100658672

image-20250325100950282

#切换到root用户
rm -rf /
ls /etc/o*
rm -rf /etc/oraInst.loc 
rm -rf /etc/oratab
userdel oracle
ps -ef | grep 端口号
kill -9 
#如果关不了端口,就直接重启

8.数据表的基本操作

1.查看实例itpuxdb的

#用于查询Oracle数据库中所有数据文件的名称。
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/oracle/app/oracle/oradata/itpuxdb/system01.dbf
/oracle/app/oracle/oradata/itpuxdb/sysaux01.dbf
/oracle/app/oracle/oradata/itpuxdb/undotbs01.dbf
/oracle/app/oracle/oradata/itpuxdb/users01.dbf
--------------------------------------------------------------------------------
在Oracle数据库中,v$datafile是一个动态性能视图,包含了数据库中所有数据文件的详细信息。通过执行select name from v$datafile命令,可以获取到数据库中所有数据文件的名称。这对于数据库管理员来说是非常有用的信息,可以帮助他们了解数据库的物理存储结构,进行故障排查或优化数据库性能。

具体来说,v$datafile视图包含了以下信息:

NAME:数据文件的名称。
TABLESPACE_NAME:数据文件所属的表空间名称。
BYTES:数据文件的大小(以字节为单位)。
STATUS:数据文件的状态(如ONLINE、OFFLINE等)。
RELATIVE_FNAME:相对于表空间的文件名。
通过查询这个视图,数据库管理员可以获取到每个数据文件的详细信息,从而更好地管理和维护数据库。
#创建表空间
SQL> create tablespace fgedu datafile '/oracle/app/oracle/oradata/itpuxdb/fgedu01.dbf' size 10m;

#或者
CREATE TABLESPACE fgedu
DATAFILE '/oracle/app/oracle/oradata/itpuxdb/fgedu01.dbf'   -- 实例下的存放路径
SIZE 50M  -- 初始大小为50MB,可以根据需要调整大小
AUTOEXTEND ON  -- 允许文件自动扩展
NEXT 50M  -- 每次自动扩展增加50MB
MAXSIZE UNLIMITED;  -- 文件最大无限制

#确认是否创建
SQL> select * from dba_tablespaces; #查看所有表空间的基本信息
SELECT * FROM dba_tablespaces WHERE tablespace_name = 'FGEDU';  #查看表空间是否有被创建

#增加新的表空间
ALTER TABLESPACE fgedu ADD DATAFILE '/oracle/app/oracle/oradata/itpuxdb/fgedu02.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
#创建用户
SQL> create user fgedu identified by fgedu default tablespace fgedu;

#解释
CREATE USER fgedu: 这部分命令用于创建一个名为fgedu的新用户。
IDENTIFIED BY fgedu: 这部分指定了用户fgedu的密码。在这个例子中,用户的密码也被设置为fgedu。在实际使用中,出于安全考虑,建议使用更复杂的密码。
DEFAULT TABLESPACE fgedu: 这部分指定了新用户fgedu的默认表空间。在Oracle数据库中,表空间是存储数据库对象(如表、索引等)的逻辑单元。这里,用户的所有对象(如表、索引等)在没有明确指定表空间时,将默认存储在名为fgedu的表空间中
#授权
SQL> grant dba to fgedu;

#在Oracle数据库中,DBA(Database Administrator)权限是最高级别的权限,拥有这些权限的账户可以对数据库进行全面的管理和维护。
#登录到用户
SQL> conn fgedu/fgedu;

#创建表
SQL> create table itpuxt1(id number(12) primary key,name varchar(20));

#插入数据
SQL> insert into itpuxt1 values(2,'fgedu2');
SQL> insert into itpuxt1 values(1,'fgedu1');
SQL> commit;

#查看已经创建好的数据表
SQL> select * from itpuxt1;

    ID NAME
---------- --------------------
     2 fgedu2
     1 fgedu1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注