当前位置:首页 » 编程软件 » linuxoracle脚本

linuxoracle脚本

发布时间: 2022-12-18 00:40:05

A. 高分求助!谁给我解释下这段linux中oracle备份脚本的意思,越详细越好,谢谢了!!

您好,我刚接触LINUX还没有接触到ORACLE去,我纯粹说一下这个脚本,半斤八两的嘎嘎。
ORACLE_HOME=/u/proct/oracle816; export ORACLE_HOME
LD_LIBRARY_PATH=/u/proct/oracle816/lib; export LD_LIBRARY_PATH
ORACLE_BASE=/u/proct; export ORACLE_BASE
ORACLE_SID=man; export ORACLE_SID
ORA_NLS33=/u/proct/oracle816/ocommon/nls/admin/data; export ORA_NLS33
PATH=$PATH:/u/proct/oracle816/bin; export PATH
CDPATH=$PATH:$ORACLE_HOME:/u; export CDPATH
NLS_LANG='traditional chinese_taiwan'.ZHT16BIG5; export NLS_LANG
#NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1;export NLS_LANG
NLS_DATE_FORMAT='DD-MM-YYYY HH24:MI:SS';export NLS_DATE_FORMAT
LD_ASSUME_KERNEL=2.4.0; export LD_ASSUME_KERNEL
这一段都是“;”前面声明变量,“;”后输出变量,输出的目的是可以传递给下一级的脚本(子进程)。
alias rman='/u/proct/oracle816/bin/rman'
这个就是给/u/proct/oracle816/bin/rman取一个别名rman,其好处再简单不过,名字太长当然希望用较短的代替很长的输入了。
extfile=`date '+%w_%p_%H_%M'`
这也是声明变量extfile,等号右边是一个命令替换,比如现在是2007年4月29日星期天,15:55那么这个extfile应该是0_PM_3_55 具体你看下date的MAN文档就是了。
%w是参数week,它是用0-6来表示星期日-星期六
%p 它是指用12小时制来表示一天的时间的时候上午或者下午AM or PM
%H 小时
%M 分钟

#rm -rf /www/exp/data/b735data*.*
这个是强制的删除/www/exp/data/下的以b735data开头并带有任意后缀的文件。但是被#号注释掉了,脚本里以#开头的都是注释。
exp foxmold/foxmold file=/www/exp/script/b735data.$extfile compress=y full=y log=n
这些是数据库里的东西了我不懂你去搜下exp命令的用法吧。
mv /www/exp/script/b735data.$extfile /www/exp/data/.
Mv 移动文件的命令。
#rcp /exp/data/data.$extfile 10.160.6.42:/backup/apple_backup
同样被注释掉了,rcp是远程复制命令。
sh DATAexport
执行脚本

重申因为我不懂oracle所以只纯粹说这个脚本哦 呵呵。

B. 菜鸟求助:linux下oracle数据库自动备份脚本,脚本可实现数据库自动备份功能,并删除三天前的备份

这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录 这个是以年月日来命名备份 删除的命令是
rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的

C. Linux第二次安装oracle需要跑脚本吗

执行root.sh脚本主要设置环境变量,如果第一次卸载没有修改环境变量第二次是不需要执行脚本的,如果无法确认,可以查一下环境变量是否包含,ORACLE_BASE或ORACLE_HOME环境变量。

D. 定时任务 oraclejob linux 脚本怎么写

linux下使用crontab命令被用来提交和管理用户的需要周期性执行的任务,示例如下:
crontab
-e
编辑
周期任务
30
21
*
*
*
/etc/init.d/smb
restart
每晚的21:30重启smb
crontab命令说明:
crontab命令被用来提交和管理用户的需要周期性执行的任务...

E. 谁来写一个linux下开机启动oracle的脚本

以root身份建立开机启动oracle服务的脚本:vi /etc/init.d/oracle,添加如下脚本:
#!/bin/sh
#chkconfig: 2345 20 80
#description: Oracle dbstart / dbshut
#以上两行为chkconfig所需
ORA_HOME=/opt/oracle/11g
ORA_OWNER=oracle
LOGFILE=/var/log/oracle.log
echo "#################################" >> ${LOGFILE}
date +"### %T %a %D: Run Oracle" >> ${LOGFILE}
if [ ! -f ${ORA_HOME}/bin/dbstart ] || [ ! -f ${ORA_HOME}/bin/dbshut ]; then
echo "Error: Missing the script file ${ORA_HOME}/bin/dbstart or ${ORA_HOME}/bin/dbshut!" >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
exit
fi
start(){
echo "###Startup Database..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbstart ${ORA_HOME}"
echo "###Done."
echo "###Run database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl start dbconsole"
echo "###Done."
}
stop(){
echo "###Stop database control..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/emctl stop dbconsole"
echo "###Done."
echo "###Shutdown Database..."
su - ${ORA_OWNER} -c "${ORA_HOME}/bin/dbshut ${ORA_HOME}"
echo "###Done."
}
case "$1" in
'start')
start >> ${LOGFILE}

'stop')
stop >> ${LOGFILE}

'restart')
stop >> ${LOGFILE}
start >> ${LOGFILE}

esac
date +"### %T %a %D: Finished." >> ${LOGFILE}
echo "#################################" >> ${LOGFILE}
echo ""
使用如下命令将 /etc/init.d/oracle 置为可执行文件:
chmod a+x /etc/init.d/oracle
至此,可使用如下命令对oracle进行启动和关闭
/etc/init.d/oracle start #启动oracle(包括数据库实例、监听器、EM)
/etc/init.d/oracle stop #关闭oracle
/etc/init.d/oracle restart #重启oracle
将 oracle 添加到 chkconfig中:
chkconfig --add oracle
可使用如下命令查看和设置oracle服务的开机启动级别:
chkconfig | grep oracle #查看oracle服务的开机启动级别
chkconfig --level 24 oracle off #修改oracle服务的开机启动级别
chkconfig --level 35 oracle on
至此可使用如下命令对oracle的启动或关闭进行管理
service oracle start #启动
service oracle stop #关闭
service oracle restart #重启
建立连接:
ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle #关机执行
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #重启执行

F. 求一个Linux环境的oracle数据库利用imp语句导数的shell脚本

这是一个先删除用户,再重建用户,然后赋权的脚本,可以放到crontab中定时执行

sql">source/opt/.bash_profile
DATE=$(date+%Y%m%d)
sqlplus/nolog<connect/assysdba;
DROPUSERWAPUSERCASCADE;
DROPUSERJLTGAMECASCADE;
CREATEUSER"WAPUSER"PROFILE"DEFAULT"
IDENTIFIEDBY"123456"DEFAULTTABLESPACE"JLTGAME"
TEMPORARYTABLESPACE"TEMP"
ACCOUNTUNLOCK;
CREATEUSER"JLTGAME"PROFILE"DEFAULT"
IDENTIFIEDBY"JLTGAME123"DEFAULTTABLESPACE"JLTGAME"
TEMPORARYTABLESPACE"TEMP"
ACCOUNTUNLOCK;
GRANTCREATEVIEWTOJLTGAME;
GRANTCREATETABLETOJLTGAME;
GRANTALTERANYTYPETOJLTGAME;
GRANTCREATESESSIONTOJLTGAME;
GRANTCREATESYNONYMTOJLTGAME;
GRANTCREATETRIGGERTOJLTGAME;
GRANTALTERANYINDEXTOJLTGAME;
GRANTALTERANYTABLETOJLTGAME;
GRANTCREATEANYTYPETOJLTGAME;
GRANTCREATEANYVIEWTOJLTGAME;
GRANTCREATESEQUENCETOJLTGAME;
GRANTCREATESNAPSHOTTOJLTGAME;
GRANTALTERTABLESPACETOJLTGAME;
GRANTCREATEANYINDEXTOJLTGAME;
GRANTCREATEANYTABLETOJLTGAME;
GRANTCREATEPROCEDURETOJLTGAME;
GRANTALTERANYTRIGGERTOJLTGAME;
;
;
;
;
exit
EOF
impuserid=jltgame/JLTGAME123file=/backup/52backup/jltgame$DATE.dmpfull=ylog=/opt/logjltgame$DATE.dmp

G. linux下怎样运行oracle数据库建库脚本

你说的是数据建库脚本? 如果是这样的话,直接在sqlplus中执行就可以了。
我感觉你想要表达的是如何建立数据库吧? 如果是这样的话,在oracle的安装的目录下的bin文件下,有DBCA的shell,运行这个就可以了。 然后就在图形界面上操作了。

H. 在Linux/Unix下安装Oracle最后用Root执行的两个脚本是做什么用的谢谢你。

用来在Linux系统中生成一系列与Oracle相关的目录和配置文件,并设置适当的权限。
其实你直接去看这两个脚本的内容,就可以了解到了。

I. 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

热点内容
锐龙哪个配置最高画质 发布:2025-07-13 18:22:34 浏览:196
压缩机工作原理图 发布:2025-07-13 18:10:15 浏览:39
黑暗追求者安卓怎么联机 发布:2025-07-13 18:10:07 浏览:617
北大保安自学编程 发布:2025-07-13 18:09:58 浏览:858
java递归排列 发布:2025-07-13 18:02:43 浏览:473
轻量云服务器如何换成d盘 发布:2025-07-13 17:58:45 浏览:931
重置腾讯云服务器时间 发布:2025-07-13 17:54:55 浏览:326
aes256java加密 发布:2025-07-13 17:54:46 浏览:710
mc开服务器的电脑 发布:2025-07-13 17:46:47 浏览:195
事件linux 发布:2025-07-13 17:45:51 浏览:143