linux下oracle备份
㈠ 怎么在linux系统下查看oracle备份的时间是多长啊 就是备份一个用了多长时间 求高人指点
rman备份可以记录到日志
其它备份脚本也可以重定向到日志,加上起止时间即可
㈡ linux下怎么用命令导入oracle 备份.del格式文件
1、.del格式文件是DB2导出的定界ASCII文件:
db2 => EXPORT TO emp.del OF DEL SELECT * FROM emp
2、[db2inst1@server9 ~]$ vi emp.del
"000010","CHRISTINE","I","HAAS","A00","3978",19950101,"PRES ",18,"F",19630824,+0152750.00,+0001000.00,+0004220.00
"000020","MICHAEL","L","THOMPSON","B01","3476",20031010,"MANAGER ",18,"M",19780202,+0094250.00,+0000800.00,+0003300.00
3、如果你要在db2导入.del文件
db2 import from myfile.del of del insert into mytable
4、如果你要在oracle导入.del文件
你需要根据格式create table,用Toad for oracle 或者Navicat for oracle导入txt即可。
㈢ linux oracle 怎么备份
步骤如下:
一、编写备份数据库的shell
1、创建保存shell文件的文件夹,
2、文件内容为:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log
shell文件编写完毕
一、运行以上的shell文件
看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功
二、然后在此shell
文件的所在终端输入命令,将此文件授权让root用户可以执
㈣ 在java代码中怎么是实现Linux操作系统下oracle数据库的备份工作
这个你要懂得socket编程以及
系统编程
才行啊(系统编程不用很深入,知道怎么能够启动一个
系统进程
就可以了,主要还是调用一个备份用的shell)。
1.
首先要编写一个客户端,和服务端。(具体的编写过程就靠自己了)
2.
服务端部署在
linux服务器
上,客户端部署在本地电脑
3.
服务端监听某个端口,等待
客户机
发送的命令,并且能够启动系统进程进行备份。
㈤ linux下使用exp备份oracle是在哪里使用的
直接在终端命令行里面使用即可。
㈥ linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh;
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
mpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile [email protected]:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' [email protected]:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
㈦ 怎样在Linux系统中备份Oracle数据库
1导入dmp文件,报 IMP-00013: only a DBA can import a file exported by another DBA 的问题,解决方法
首先应该登陆编辑模式sqlpluse / as sysdba.修改当前的用户的权限
SQL>grant sysdba to user;
SQL>grant imp_full_database to user;
2在导入的时候可能以前的这个用户是存在的并且表也是存在的,那么在导入的时候会报错
我的解决方法是两中新建用户另一种就是把但前的用户下面的表和数据全部删掉。
㈧ linux下备份oracle的脚本怎么写
把下面的代码保存为服务器端的脚本,执行即可。PS:需要自己替换一下双引号中的内容
#!/bin/sh
. $HOME/.bash_profile
export ORACLE_SID="你的数据库的SID"
CutDATE=`date '+%Y-%m%d-%H%M'`
DATE=`date -d '-2 day' '+%Y-%m%d'`
export NLS_LANG="你的字符集设定"
exp "具有权限的账号"/"密码" file=/home/oracle/2014/"你的数据库的SID"_$CutDATE.dmp log=/home/oracle/2014/"你的数据库的SID"_$CutDATE.log owner=user1,user2
㈨ Linux7.8下静默安装oracle11.2
一、使用脚本初始化环境
脚本如下:(标红处修改对应的配置需求)
#!/bin/bash
#1.配置主机名/etc/hosts 并关闭防火墙及selinux
echo ' 172.168.0.xx linux.tk ' >> /etc/hosts
#注意修改为服务器的ip和主机名
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
#sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#2.安装相关软件包
yum -y install telnet vim lszrz gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel
elfutils-libelf-devel-static ksh lio lio-devel numactl-devel sysstat
unixODBC unixODBC-devel pcre-devel wget unzip
#3.配置内核参数
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf
sysctl -p
#4.oracle用户资源限制
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 4096" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
#5.登录配置
echo "session required /lib64/security/pam_limits.so" >> /etc/pam.d/login
echo "session required pam_limits.so" >> /etc/pam.d/login
#改授权
echo "if [ $USER = 'oracle' ];then" >> /etc/profile
echo "if [ $SHELL = '/bin/ksh' ];then" >> /etc/profile
echo "ulimit -p 16384" >> /etc/profile
echo "ulimit -n 65536" >> /etc/profile
echo "else" >> /etc/profile
echo "ulimit -u 16384 -n 65536" >> /etc/profile
echo "fi" >> /etc/profile
echo "fi" >> /etc/profile
source /etc/profile
#6.创建用户组和用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo 'oracle' | passwd --stdin oracle
#7.创建相关目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01/app
#8.配置oracle用户环境变量
echo "ORACLE_SID=ora; export ORACLE_SID" >> /home/oracle/.bash_profile
#sid指定为现场的sid
echo "ORACLE_BASE= /u01/app/oracle ; export ORACLE_BASE" >> /home/oracle/.bash_profile
echo "ORACLE_HOME=$ORACLE_BASE/ proct/11.2.0/dbhome_1 ; export ORACLE_HOME" >> /home/oracle/.bash_profile
echo "ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH" >>/home/oracle/.bash_profile
echo "ORACLE_TERM=xterm; export ORACLE_TERM" >> /home/oracle/.bash_profile
echo "TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN" >> /home/oracle/.bash_profile
echo "ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11" >> /home/oracle/.bash_profile
echo "PATH=.:${JAVA_HOME}/bin:${PATH}:$ORACLE_HOME/bin " >> /home/oracle/.bash_profile
echo "PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin " >> /home/oracle/.bash_profile
echo "export PATH " >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib" >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib " >> /home/oracle/.bash_profile
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib " >> /home/oracle/.bash_profile
echo "export LD_LIBRARY_PATH" >> /home/oracle/.bash_profile
echo "export LANG=en_US.UTF-8 " >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
echo "CLASSPATH=$ORACLE_HOME/JRE " >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib" >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib" >> /home/oracle/.bash_profile
echo "CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib" >> /home/oracle/.bash_profile
echo "export CLASSPATH" >> /home/oracle/.bash_profile
echo "THREADS_FLAG=native; export THREADS_FLAG" >> /home/oracle/.bash_profile
echo "nls_date_format='yyyy-mm-dd hh24:mi:ss' " >> /home/oracle/.bash_profile
echo "export nls_date_format " >> /home/oracle/.bash_profile
echo "export TEMP=/tmp " >> /home/oracle/.bash_profile
echo "export TMPDIR=/tmp " >> /home/oracle/.bash_profile
echo "umask 022 " >> /home/oracle/.bash_profile
source ~/.bash_profile
二、上传或者下载oracle安装包并解压,例如放置在/opt/目录下
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
直接在目录解压,会在当前目录中生成database目录
三、修改应答文件安装数据库软件
修改前建议先备份下
cp /opt/database/response/*.rsp /opt/database/rspbak
3.1、生成修改响应文件(/opt/database/response/db_install.rsp)
备注:清空源文件,复制粘贴如下内容(标红处需要修改对应的设置需求):
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME= linux.tk
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION= /u01/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME= /u01/app/oracle/proct/11.2.0/dbhome_1
ORACLE_BASE= /u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:10.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
3.2、开始安装
1)、用oracle用户登录操作
# su - oracle
$ cd /opt/database
$ ./runInstaller -silent -responseFile /opt/database/response/db_install.rsp
2)、在安装过程中可以新开会话,使用tailf 命令查看进度
# tailf /u01/app/oraInventory/logs/installActions2022-XX-XX_03-28-06PM.log
提示安装结束,需要在root用户执行两个脚本,如下:
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/proct/11.2.0/dbhome_1/root.sh
四、修改应答文件安装数据库实例(/opt/database/response/dbca.rsp)
安装实例前,需要新建一个实例存放的目录(/home/OracleData/),如下:
# mkdir /home/OracleData
# chown -R oracle:oinstall /home/OracleData/
4.1、修改应答文件
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "ora"
SID = "ora"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "***012"
SYSTEMPASSWORD = "***012"
DATAFILEDESTINATION = /home/OracleData/
RECOVERYAREADESTINATION = /u01/app/oracle/flash_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "2048"
4.2、建实例,登录oracle用户
# su - oracle
$ dbca -silent -responseFile /opt/database/response/dbca.rsp
此安装过程是有进度显示,不用tailf查看,不过也可以查看对应的log日志查看进度
4.3、删除实例
编辑应答文件
#vim /opt/database/response/del_dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "deleteDatabase"
[DELETEDATABASE]
SOURCEDB = "ora "
$ dbca -silent -responseFile del_dbca.rsp
五、启动监听,配置自启动等
5.1、启动监听
# su – oracle
$ lsnrctl start
查看状态 lsnrctl status
# netstat -tnulp | grep 1521
# ps -ef | grep ora_ | grep -v grep
5.2、设置自启动
修改vim /etc/oratab 如下
ora:/u01/app/oracle/proct/11.2.0/dbhome_1: Y
5.3、修改dbstart文件
vim /u01/app/oracle/proct/11.2.0/dbhome_1/bin/dbstart
将ORACLE_HOME_LISTNER=$1
修改为ORACLE_HOME_LISTNER=$ORACLE_HOME
5.4、将dbstart加入开机自启动,/etc/rc.d/rc.local中增加
su - oracle -lc /u01/app/oracle/proct/11.2.0/dbhome_1/bin/dbstart
赋权限 chmod +x /etc/rc.d/rc.local
5.3、登录数据库设置权限等
sqlplus / as sysdba
startup;
alter system register;
create user ora identified by ***012;
grant dba to ora;
exit
六、远程连接数据库
6.1、开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd –reload
firewall-cmd --list-ports
㈩ 请教linux下搭建oracle数据库服务器的详细步骤
1.检查安装所需要的软件包
Oracle 11g要求Red Hat Enterprise Linux 5(32-bit)必须要有的软件包:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
lio-0.3.106
lio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.1
#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc glibc gcc-c++ glibc-common glibc-devel glibc-headers lio lio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
如出现package unixODBC is not installed
package unixODBC-devel is not installed
则在系统光盘中找到相应的包上传并安装。
2.修改内核参数
#vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 4294967295 //默认配置比这里的值大则不需要修改
在文件最后添加以下内容
fs.file-max = 6553600 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144
修改完后需要使设置生效
#sysctl -p
3.创建Oracle用户和组
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle //创建oracle用户,使其默认组为oinstall,附加组为dba
#passwd oracle
4.为Oracle用户设置shell限制
#vi /etc/security/limits.conf
在文件最后添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login
在文件最后添加以下内容:
session required /lib/security/pam_limits.so
#vi /etc/profile
在文件最后添加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
所有修改完成后,重启linux系统
#reboot
5.为Oracle用户设置环境变量
#vi /home/oracle/.bash_profile
在文件最后添加以下内容:
ORACLE_SID=ixdba
ORACLE_BASE=/app/oracle
ORACLE_HOME=$ORACLE_BASE/proct/11.1.0/db_1
export ORACLE_SID ORACLE_BASE ORACLE_HOME
export ORA_NLS10=$ORACLE_HOME/nls/data
PATH=$PATH:/$ORACLE_HOME/bin:$HOME/bin
export PATH
#source /home/oracle/.bash_profile //使环境变量设置生效
6.创建和授权Oracle安装目录
#mkdir -p /app/oracle //-p目录若不存在则新建立目录
#chown -R oracle:oinstall /app
#chown -R oracle:onistall /app/oracle //-R用于改变目录及目录下文件
7.开始安装Oracle
由于Oracle的安装过程需要图形界面的支持,因此安装Oracle必须在Linux的Xwindow界面下完成。
注意 Oracle的安装过程必须在完全的Oracle环境下进行。所谓的"完全Oracle环境"是指,Oracle用户是通过Linux的Xwindow图形登录界面进入的,而不是在root或者其他用户下通过su的方式切换过来的。
#su oracle
$cd /app
$ls
linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip //zip包最好用FTP工具上传
$unzip linux_11gR2_database_1of2.zip
$unzip linux_11gR2_database_2of2.zip
$ls
database linux_11gR2_database_1of2.zip linux_11gR2_database_2of2.zip
$/app/database/runInstaller //调用图形界面安装
安装到最后,按要求执行两个脚本
#/app/oracle/oraInventory/orainstRoot.sh
#/app/oracle/proct/11.1.0/db_1/root.sh
至此安装完成
8.验证是否安装成功
#su oracle
$sqlplus / as sysdba
SQL>select instance_name,status from v$instance; //能正常执行则说明安装成功
9.安装中常见问题
1)./sqlplus: error while loading shared libraries: /app/oracle/proct/11.1.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
原因:selinux问题
使用cd命令切换当前目录到 /etc/selinux
使用vim打开config文件
找到里面的SELINUX条目,设置成disabled
重启系统
2)bash: sqlplus: command not found
原因:可能数据库安装好后未启动
#ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
#su - oracle
$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Proction on Mon May 11 12:51:24 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
3)数据库启动时报错could not open parameter file '/app/oracle/proct/11.1.0/db_1/dbs/initORCL.ora'
$ORACLE_BASE/admin/(dbname)/pfile目录下的init.ora(.01200923383)文件复制到$ORACLE_HOME/dbs目录下即可