当前位置:首页 » 操作系统 » linux的tnsnamesora

linux的tnsnamesora

发布时间: 2023-04-21 12:13:20

Ⅰ 在linux数据库上修改了tnsnames.ora后,需要重启数据库吗

不需闹敏要,
tnsnames.ora
和数液喊枝据库的客户端有关,和数据库的服务没有关系渗轮。

Ⅱ 如何修改Linux环境下的Oracle的IP地址配置

如何修改Linux环境下的Oracle的IP地址配置
新建配置文件tnsnames.orc,并将此文件放入

/usr/lib/oracle/11.2/client*****/network/admin下,具体文件配置信息如下:
#tnsnames.ora
Network
Configuration
File:
/usr/lib/oracle/11.2/client/network/admin/tnsnames.ora TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test) ) )
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) )
(CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
192.168.1.8标示字符串各自对应当前服务器的IP地址与全局数据库名

Ⅲ 如何在linux下安装oracle11g

一、修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

编辑完成后按Esc键,输入“:wq”存盘退出
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

session required /lib/security/pam_limits.so

session required pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

linux:~ # sysctl -p

net.ipv4.icmp_echo_ignore_broadcasts = 1

net.ipv4.conf.all.rp_filter = 1

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建Oracle用户和密码,输入命令:

useradd -g oinstall -g dba -m oracle

passwd oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/proct

8)更改目录属主为Oracle用户所有,输入命令:

chown -R oracle:oinstall /home/oracle/app

9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
?

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/proct/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

编辑完成后按Esc键,输入“:wq”存盘退出
二、安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

解压完成后 cd 进入其解压后的目录database
输入命令:
cd database
使用ls命令可以查看解压后database所包含的文件,

2)执行安装,输入命令:./runInstaller

装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中(或去D:\linux_oracle11g_Package)查找所缺的包,使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。

安装过程中86%可能会遇到报错如出错问题(error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile)按照如下步骤顺序执行。
上传安装镜像rhel-server-6.1-x86_64-dvd.iso,
然后将镜像文件挂,如/mnt

# mount -o loop rhel-server-6.1-x86_64-dvd.iso /mnt

# cd /mnt/Packages

# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm

# rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm

# rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm

# rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm

# rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm

# rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm

# rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm

# rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm

# rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm

# rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm

# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm

# rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm

# rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc,软件安装顺序不能错。

# rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm

# rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm

# rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm

注:以上是安装gcc-c++
根据这个方法解决了错误。
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/proct/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:

su – root

cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1

sh root.sh

cd /home/oracle/oraInventory

sh orainstRoot.sh

三、数据库建库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。

经过漫长的等待,当看到此界面,说明oracle建库完成
四、配置监听及本地网络服务
1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。

2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)

3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)

输入连接的oracle服务器的数据库的实例名

输入oracle服务器的ip地址

选中YES测试

点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK

看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)

为你所设置的本地网络服务名起个名字

这样oracle服务器安装配置基本就完成了
注意:

1、Linux oracle数据库listener.ora存放路径
cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1/network/admin/listener.ora
2、Linux oracle数据库tnsnames.ora存放路径
cd /home/oracle/app/oracle/proct/11.2.0/dbhome_1/network/admin/tnsnames.ora
3、ORACLE启动监听器
(1)切换至oracle安装用户(一般为oracle)
su - oracle
(2)启动监听器
lsnrctl start
(3)停止监听器
lsnrctl stop
4、启动测试oracle:
[oracle@oracle ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Proction on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> quit
测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。
5、Linux开放1521端口允许网络连接Oracle Listener

症状:
(1)TCP/IP连接是通的。可以用ping 命令测试。
(2)服务器上Oracle Listener已经启动。
lsnrctl status 查看listener状态
lsnrctl start 启动Oracle listener
(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时
这时,我们基本可以肯定是服务器没有开放1521端口(假设你用默认设置)

解决方法:
(1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭Linux的防火墙。
sudo service iptables stop
(2)编辑iptables, 开放1521端口:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
:wq

重启防火墙
sudo service iptables restart
保存配置,以便linux重启后依然有效
sudo service iptables save
查看防火墙规则:
sudo iptables -L –n
6、linux下创建oracle用户表空间

就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs;

Ⅳ 如何在linux下安装Oracle 客户端

linux下安装Oracle客户端步骤如下:
1、下载
从Oracle官方网站上下载客户端和sqlplus程序。
以root用户安装
rpm-ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm-ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm

2、配置
vim/etc/profile 添加
exportORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
exportORACLE_BASE=/usr/lib/oracle/11.1.0.1
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
exportNLS_LANG=AMERICAN_AMERICA.AL32UTF8
设置好环境变量需要重启机器!

3、创建配置文件
在ORACLE_HOME目录下创建以下目录network/admin,并创建文件tnsnames.ora,内容如下:

vim/usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File:/opt/oracle10g/u01/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
111 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = dmsdb)
)
)

4、测试
到ORACLE_HOME/bin目录下,执行命令:
[yleesun@centosbin]$ ./sqlplus zxd/zxd@111

SQL*Plus: Release 11.2.0.3.0 Proction on Mon Jul 9 19:14:25 2012

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>
测试成功!

注:
如果出现以下错误:

sqlplus:error while loading shared libraries: libsqlplus.so: cannot open shared objectfile: No such file or directory
说明环境变量没有生效!

Ⅳ 帆软 linux 如何配置链接oracle

一、oracle服务器安烂野装与配置:
操作系统:凳烂win7 32位 旗舰版
oracle版本:11g R2
安装基本上不会出现什么问题,如果之前装过最好卸载掉,卸载步骤:
1. 在服务中停止所有的oracle相关服务;
2. 删除注册表中以下三个位置的枣历漏oracle相关文件夹
HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
3. 在环境变量中path中,删除oracle信息;
4. 在系统盘的Windows、Program Files、Program Files(x86)文件夹下,删除oracle文件夹和oraodbc.ini文件;
5. 删除oracle安装目录,重启机器。
二、oracle linux client安装与配置
1.安装oracle-instantclient12.1-basic-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-devel-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-sqlplus-12.1.0.1.0-1.i386.rpm
2.在/etc/ld.so.conf中添加/usr/lib/oracle/12.1/client/lib路径后执行ldconfig,也可以在LD_LIBRARY_PATH
中添加路径
3.在~/.bashrc中添加export ORACLE_HOME=/usr/lib/oracle/12.1/client
export TNS_ADMIN=/usr/lib/oracle/12.1/client/network/admin,然后重新登录
4.在/usr/lib/oracle/12.1/client目录下添加network/admin/ntsnames.ora,如下
# tnsnames.ora Network Configuration File: F:\oracle\proct\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVER = DEDICATED)
)
)
5.先运行./sqlplus username/[email protected]:1521/orcl,可以的话说明安装没问题,然后运行
./sqlplus username/passwd@orcl,不能连上就看看tnsnames.ora有没问题

至此linux oracle client安装配置OK

Ⅵ 请linux oracle高手帮忙 ora 12154

今天,从上周就捆饶我的问题终于在下班前被我搞定!小得意了一下.
我的电脑上之前安装了Oracle 10g database,配置完数隐清变量用PL/SQL操作一切OK .当又安装完Oracle 10g client后,问题出现了,用PL/SQL登陆时反复提示:ORA-12154: TNS: could not resolve the connect identifier specified
对于初学者,我反复的在携喊"Oracle - OraDb10g_home3"下的"配置和移植工具"中的"Net Manager"中查找问题所在.请教高手,也没有召见问题的原因.我郁闷了,随后自己决定来搞定这个问题.
我做了大量的反复的资料查看和自我检查,灵感在下班的时候出现,我突然意识到我的"环境变量"一直被忽视.
打开后我发现我当前的环境变量这样设置的:
path == E:\oraclient_2;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\薯前Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
问题出现了.随后我该成如下:
path == E:\oracle;E:\oracle\oradata\bin;E:\oracle\bin;E:\Program Files\Java\jdk1.5.0_04\bin;E:\Tomcat5028\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem

OK !!! 问题在最后的关头被我解决了!!!不错.
这就是: "不抛弃 不放弃"

Ⅶ 如何在linux下安装Oracle 客户端

以root用户安装 rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm配置vim /etc/profile 添加 export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64 export ORACLE_BASE=/usr/lib/oracle/11.1.0.1 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHexport NLS_LANG=AMERICAN_AMERICA.AL32UTF8设置好环境变量需要重启机器! 创建配置文件在ORACLE_HOME目录下创建以下目录network/admin,并创建文件tnsnames.ora,内容如下:vim /usr/lib/oracle/11.1.0.1/client64/network/admin/tnsnames.ora # tnsnames.ora Network Configuration File: /opt/oracle10g/u01/network/admin/tnsnames.ora # Generated by Oracle configuration tools.111 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.15.111)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = dmsdb) ) )测试到ORACLE_HOME/bin目录下,执行命令:[yleesun@centos bin]$ ./sqlplus zxd/zxd@111 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Proction With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>测试成功!注:如果出现以下错误:sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory 说明环境变量没有生效!

Ⅷ linux下配置Oracle出现问题

1、你先确定linux系统版本,按文档安装oracle依赖包。例如gcc/glibc/lio/libstdc/libgcc/openmotif/compat-libstdc/elfutils-libelf/compat-libstdc
2、准备系统环境参数,创建oracle分组及用户,修改系统文件,例如:/etc/sysctl.conf,/etc/security/limits.conf,/etc/profile,/etc/pam.d/login,~/.bash_profile
3、静默方式安装oracle数据库
./runInstaller -ignoreSysPrereqs -silent -responseFile ~/ee.rsp
4、创建实例
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname testdb -sid testdb -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 40 -sysDBAUserName sys -sysDBAPassword 123456(不启动em)
增加-emConfiguration none(启动em)
dbca静默删除数据库
dbca -silent -deleteDatabase -sourceDB mydb -sysDBAUserName sys -sysDBAPassword db123456
5、启动监听lsnrctl start;
6、启动数据库
sqlplus /nolog
SQL>conn /as sysdba
SQL>startup;
7、关闭数据库
sqlplus /nolog
SQL>conn /as sysdba
SQL>shutdown immediate
8、netca是创建listener.ora或tnsnames.ora的工具,这两个文件手动编辑或创建即可,没有也不影响数据库启动。不需要借助此命令。

Ⅸ linux下怎么把oracle的监听变成主机名

1. 修改监听器配租禅置文件 Linux下Oracle监听器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora, 如: /bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora 修改并配置要监听SID的相关信息,如: #listener.ora Network Configuration File: /bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /bank/oracle/oracle10g/proct/10.2.0) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL DBNAME = bkserver) (SID_NAME = bkserver) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521)) ) ) 2. 启动监听器 (1). 切换至oracle安装用户(一般为oracle) su - oracle (2). 启动监弊晌尘听器 lsnrctl start 另:停止监听器 lsnrctl stop 3. 测试监听器是否运行正常 在客户端修改tnsnames.ora配置文件就访问Oracle数据库,如: BKSERVER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = BKSERVER) ) ) 通过命令tnsping测试是否能访问到监听器,如: M:\>tnsping bkserver TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Proction on 12-8月 - 2010 17:11:04 Copyright (c) 1997, 2005, Oracle. All rights reserved. 已使用的参数文件: D:\oracle\谨晌proct\10.2.0\client_1\network\admin\sqlnet.ora 已使用 TNSNAMES 适配器来解析别名 Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 10.7.13.242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC E_NAME = BKSERVER))) OK (20 毫秒) 注意: 监听器是否能被tnsping通跟数据库的开启/关闭无关,所以就算可以tnsping通监听器但未必能连接到数据库,这时请检查listener.ora文件配置信息是否正确,还有数据库是否已经被开启。

Ⅹ linux环境下oracle数据库冷备份问题

1. 复制旧的数据库文件

(1) 用SQLPlus连接数据库:sqlplus 用户名/密码 as sysdba
(2) 关闭DB :shutdown immediate;
(3) 复制文件到其他地方存储实现备份
1)复制三个文件夹admin;oradata(datafile,controlfile,redo【注:数据文件, 控制文件,redo】);flash_recovery_area三个文件夹。2)dbhome_1下的内容database(PWDfile、pfile);dbs(spfile);NETWORK/ADMIN(listener.ora、tnsnames.ora)。

2. Oracle重新建库恢复

(1)创建一个和原来一样的数据库。(安装路径和数据库名必须和原来一致)
(2)停止数据库shutdown immediate;
(3)复制安装目录下的admin、oradata、flash_recovery_area覆盖,复制database(PWDfile、pfile) 覆盖
(4)启动数据库startup;

备注:

无归档模式:将备份文件拷贝回原来的目录即可,然后启动数据库。
归档模式:
①将数据文件、控制文件拷贝回原来目录
②SQL>startup mount;
SQL>recover database using backup controlfile;
③将相应的归档日志和联机日志拖到CMD命令窗口进行跑日志。
④SQL>alter database open resetlogs;

3. 软件重装恢复

此时,操作系统重装,如果做冷备恢复,要保证相同操作系统,相同的数据库版本。形势如同异机恢复。

A、不创建实例:(源机上的数据库名字为orcl)

(1)恢复oradata/orcl目录

在目标机上的oradata目录下建立orcl文件夹,然后进行数据覆盖。

包括数据文件、参数文件、控制文件、日志文件、pwd文件,放在与原系统相同的目录。如果目录有所改变,则需要另外建立控制文件,修改pfile。(2) 恢复admin/orcl目录在目标机上的admin目录下建立orcl文件夹,然后在orcl里面再建立amp、bmp、cmp、ump、dpmp、pfile六个文件夹
(3) 建立服务把源机的密码文件拷贝到目标机的database目录下。使用oradim命令在cmd下oradim -new -sid orcl表示建立一个服务,sid为orcl(最好名字和源机备份的数据库名字一致,就不需要重建密码文件)。如果是在linux下,不需要此步。(4) 重建创建参数文件、控制文件拷贝源机的pfile到目标机的一个目录下,修改pfile里面相关文件的路径。然后通过SQL>create spfile from pfile=‘文件路径'来创建参数文件。重建控制文件命令:SQL>alter database backup controlfile to trace;然后会在ump文件夹下产生一个追踪文件,打开文件找到如下一段,复制到文本中,修改相应路径然后保存为:createctl.sql文件(sql脚本文件),复制到目标机上。注意:SQL>alter database backup controlfile to trace as 'F:/DB_RECOVERY/CONTROL_FILE_TRACE.TXT';复制的原始导出txt中的,相应代码片段如下:修改oracle_homeoradataorcl下及相关文件的路径

(6) TNSNAMES设置在networkadmin下的tnsnames.ora中添加如下片段

123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))


(7) 建立监听用net configuration为orcl实例新建监听至此,冷备份恢复成功。即使你现在用oem打开数据库时发现提示找不到sid ,但实际上你已经成功了,此时只需要重启一下的你的服务器就可以。

B、创建实例方式(实例SID与源机数据库SID一致)

(1) 替换和覆盖oradataorcl目录删除目标机的oradataorcl底下的所有文件,把源机的所有data文件、redo文件拷贝到此目录下
(2) 密码文件覆盖删除目标机的密码文件,拷贝源机密码文件到目标机下。
(3) 控制文件恢复在源机上重建目标机的控制文件:SQL>alter database backup controlfile to trace;然后会在ump文件夹下产生一个追踪文件,打开文件找到上面那段,复制到文本中,修改相应路径然后保存为:createctl.sql文件(sql脚本文件),复制到目标机上。
复制代码代码如下:

12345 c:>sqlplus"/as sysdba"SQL>@c:createctl.sql;SQL>shutdown immediate;SQL>startup;SQL>alterdatabaseopenresetlogs;


(4) 在networkadmin下的tnsnames.ora中添加如下片段
复制代码代码如下:

123456789 ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))

(5) 用net configuration为orcl实例新建监听

若是初学Linux的话建议看看《Linux就该这么学》这本书。

热点内容
宝塔数据库备份 发布:2025-05-18 02:14:18 浏览:192
安卓商店下载的光遇是什么服 发布:2025-05-18 02:13:38 浏览:31
网页挖矿源码 发布:2025-05-18 02:13:34 浏览:307
centosftp服务器设置参数 发布:2025-05-18 02:12:55 浏览:216
账号密码保存在浏览器哪里 发布:2025-05-18 01:56:43 浏览:833
ftp不输入密码 发布:2025-05-18 01:54:27 浏览:671
压缩旗袍 发布:2025-05-18 01:52:58 浏览:198
海上传奇南昌 发布:2025-05-18 01:40:31 浏览:131
php怎么访问地址 发布:2025-05-18 01:29:43 浏览:321
fbe加密 发布:2025-05-18 01:16:34 浏览:251