欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

tar部署Oracle数据库步骤教程

程序员文章站 2022-07-01 22:56:45
手上有个项目可能需要停机维护,并且很有可能主机故障无法启动,防止万一需要做个临时备份,由于数据量巨大,TB级别的无法使用常规方式备份,因此考虑存储拷贝的方式,验证了下使用tar方式...

手上有个项目可能需要停机维护,并且很有可能主机故障无法启动,防止万一需要做个临时备份,由于数据量巨大,TB级别的无法使用常规方式备份,因此考虑存储拷贝的方式,验证了下使用tar方式部署的方案。

虽然冷备份使用场景非常有限而且貌似被不少人不齿没有技术含量,但是在没有开启归档而且数据巨大的情况,使用常规迁移的方式是无法忍受的,在用存储和千兆带宽的情况下,直接拷贝不失为一种选择。

环境为Linux 5 + Oracle 10201

0. 停应用和数据库

emctl stop dbconsole

shutdown immediate;

lsnrctl stop listener

1. 打包

tar -zcpf u01.tar.gz u01 #/u01为oracle安装目录

2. 传输

scp u01.tar.gz root@192.168.56.102:u01.tar.gz

3. 解压

tar -zxf u01.tar.gz -C /

4. 权限

打包包含了权限,也可以手工修改权限

chown -R oracle:oinstall /u01

5. 执行脚本

/u01/oracle/oraInventory/orainstRoot.sh

/u01/oracle/product/10.2.0/db_1/root.sh

6. oracle用户环境变量

scp .bash_profile oracle@192.168.56.102:.bash_profile

source .bash_profile

7. 配置oratab

默认情况下在执行上述脚本后自动会创建,如果没有手工添加即可。

cat /etc/oratab

GT10G:/u01/oracle/product/10.2.0/db_1:N

8. 修改监听地址和tns地址

如果使用了主机名称记得要修改这两者的地址为本机。

vi $ORACLE_HOME/network/admin/listener.ora

vi $ORACLE_HOME/network/admin/tnsnames.ora

9. 启动实例打开数据库

startup

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装oracle软件的时候,如果操作系统一样,可以直接把软件tar过来。

需要注意的是,要确保系统的小版本都一样才能tar。

可以直接tar /oracle 目录,这样环境变量就不用设了,需要的话改个sid就OK。

解压完之后,记得要在oracle用户下执行 relink all。

然后执行:sh $ORACLE_HOME/install/changePerm.sh

再切换到root用户下,执行$ORACLE_HOME 下的 root.sh

如果以后还要升级,则还需要设置个东西:

nbzwdb#[/var/opt/oracle]more /var/opt/oracle/oraInst.loc

inventory_loc=/oracle/oraInventory

inst_group=dba

记得是root用户,注意权限:

nbzwdb#[/var/opt/oracle]ll ora*

-rwxrwxr-x   1 root       sys             50 Sep 17 22:51 oraInst.loc

这样就OK了。