使用.rmp文件在redhat7.9安装oracle19c

19c开始,oracle提供了rmp安装包。感觉安装更方便一些了。记录一次测试环境安装。不可用于生产环境。

1,创建交换空间(使用分区或者文件)

  1. Oracle官方给出的文档说明是内存和交换空间的关系。
  2.  

  3. 没有使用大页,所以4G内存设置4G交换空间,因为是云服务器,所以使用文件设置交换空间。
  4. root用户下:
  5. dd if=/dev/zero of=/dir/myswapfile bs=1024 count=number_blocks_needed
    1. dir 是有权在其中添加交换空间的目录。
    2. myswapfile 是要创建的交换文件的名称。
    3. bs=1024 这代表一块大小为1KB。
    4. number_blocks_needed 是要创建的 1024 字节块的数量。如4GB=4096000
  6. ls -l /dir/myswapfile (确认文件是否创建成功)
  7. mkswap /dir/myswapfile  (初始化新的交换空间)
  8. swapon -a /dir/myswapfile  (启动 -a:自动启动所有SWAP装置(停止命令是swapoff /dir/myswapfile))
  9. swapon -s 或者 free-m (查看是否添加成功)
  10. vim /etc/fstab
    1. 编辑文件添加一行(注意空格) /dir/myswapfile swap swap defaults 0 0 
    2. 这样可以保证服务器重启交换空间依然生效。

2,下载oracle 19c必要文件(oracle官网下载需要注册帐号,可以用下载工具下载后再上传到服务器)

  1,https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c   (主安装包)  

      

   2,https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

     

      下载oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm

3,安装

  1,安装前需要在/etc/hosts中为主机名加入主机的本地地址,不能用127.0.0.1,配置时会报错。   

        

  2,安装依赖

  • yum -y localinstall oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm

  3,安装文件 

  • yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

 

    

    安装主目录完成,需要配置。

  4,初始化(要在root用户下配置)

  •  /etc/init.d/oracledb_ORCLCDB-19c configure

    这个过程需要十几分钟。

    

     配置完成!

    这个过程结束后,会自动创建一个用户名是oracle的用户。

  5,修改环境变量。

  • cd /home/oracle  #进入到oracle用户
    vim .bashrc     #修改oracle用户的环境变量                    

      

    i键插入

  • export  ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
    export  PATH=$PATH:${ORACLE_HOME}/bin
    export  ORACLE_SID=ORCLCDB

    

    ESC退出编辑,:wq保存退出。

  6,登陆

    切换到oracle用户,

  • su oracle
    sqlplus / as sysdba  

    

  7,navicat使用system用户登陆数据库

    a,修改system用户密码

    

    查看密码过期时间 

  • SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

    

    180天  改为不限制。

  • ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    

    修改后

    

     变成无限制UNLIMITED

    b,查看当前PDB    

  • show pdbs;

    

 

    c,注意服务名为ORCLPDB1  

      

 

    d,注意

      使用sqlplus创建PDB用户,那么这个用户只能连接当前指定的PDB。

      JDBC连接PDB,URL为 jdbc:oracle:thin:@IP:1521/ORCLPDB1    1521后面冒号变为斜杠

      sqlplus切换到PDB容器

  • SQL> alter session set container=ORCLPDB1;
    Session altered.
    
    SQL> conn system/oracle;
    Connected.

    e,开启自启动

      1,oracle19c,依然使用/opt/oracle/product/19c/dbhome_1/bin中

             lsnrctl start/stop  启动/关闭监听

             dbstart        启动实例

      2,修改/etc/oratab文件内容。环境中只有一个实例,因此只有一行配置语句。

        这行语句第一个区域的值是sid,第二个区域的值是数据库主目录,

        第三个区域的值Y或N代表你是否想要以dbstart和dbshut脚本启动并关闭数据库。

        (作用是能不能用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut来启动和关闭数据库)

        将ORCLCDB:/opt/oracle/product/19c/dbhome_1:N

        改为ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y

      3,修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut这两个文件

        因为初始化状态没有配置环境变量。

        这两个文件是启动和关闭数据库实例

        将ORACLE_HOME_LISTNER=$1

        改为ORACLE_HOME_LISTNER=$ORACLE_HOME

      4,配置监听(按照需求配置)(/opt/oracle/product/19c/dbhome_1/network/admin/listener.ora)

        listener.ora文件中添加以下配置,表示一个CDB为ORCLCDB,一个PDB为ORCLPDB1。  

        如果要在SQL plus中使用pdb需要配置/opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora      

-- listener.ora     
 SID_LIST_LISTENER =           (SID_LIST =              (SID_DESC =                (GLOBAL_DBNAME = ORCLCDB)               (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)                (SID_NAME = ORCLCDB)              )             (SID_DESC =                 (GLOBAL_DBNAME = ORCLPDB1)                 (SID_NAME = ORCLCDB)             )           )

-- tnsnames.ora
ORCLPDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = loser)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCLPDB1)
    )
  )

      5,设置PDB自启动。默认状态每次数据库重启,PDB会取消挂载状态。        

sqlplus / as sysdba

        开启名字为ORCLPDB1的PDB        

alter pluggable database ORCLPDB1 open;

        其实这句意思是保存当前PDB状态。保存ORCLPDB1的状态。     

alter pluggable database ORCLPDB1 save state;

        使用PDB       

alter session set container = ORCLPDB1;

      6,配置/etc/rc.d/rc.local

        加入      

su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start"
su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/dbstart"

        为rc.local授权      

chmod 755 rc.local

      7,注意防火墙要开启1521端口。

      8,基本上一个测试环境就可以用了,但是要用于生产环境还远远不够,还有很多配置需要改变。

 

posted @ 2022-02-24 12:11  一只大猫呢  阅读(514)  评论(0编辑  收藏  举报