`
islong
  • 浏览: 16027 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

shell脚本执行数据库脚本

 
阅读更多

1、MySql

createDB.sql

create database Mysql_db;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ONMysql_db* TO dbUserName@'%' IDENTIFIED BY 'userPassword';
use Mysql1351_data;
--其中%表示dbUserName用户可以远程登录,如果是local则表示用户只能通过本地登录连接


createTable.sql

CREATE TABLE `tablename` (
`MOBILE` varchar(21) NOT NULL COMMENT '手机号码',
`STOCK_CODE` varchar(10) NOT NULL COMMENT '股票代码',
`MAX_PRICE` varchar(15) NOT NULL COMMENT '最高价',
`MIN_PRICE` varchar(15) NOT NULL COMMENT '最低价',
`TIME_PRICE` varchar(20) DEFAULT NULL COMMENT '行情价格',
`ORDER_TIME` varchar(21) DEFAULT NULL COMMENT '订购预警时间',
`ALARM_TIME` varchar(21) DEFAULT NULL COMMENT '发送预警时间',
`NOTICE_WAY` char(3) DEFAULT 'mms' COMMENT '通知方式,短信(sms)或彩信(mms)',
`DISABLED` char(1) DEFAULT '0' COMMENT '是否禁用',
PRIMARY KEY (`MOBILE`,`STOCK_CODE`),
UNIQUE KEY `Index_SAG_PAAS_STOCK` (`MOBILE`,`STOCK_CODE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='股票雷达预警表';


MySqlinstall.sh

#把用户脚本文件追加到 createDB.sql
cat /appfilepath/tablename.sql >> /createDB.sql
#追加退出MysqL
echo 'commit;' >>/createDB.sql
#执行脚本文件,并将结果输出到dblog
mysql -h IP -u root -pPassWord < /createDB.sql > /resultMysql/dblog


2、SqlServer(前提先安装FreeTDS)

SqlServerinstall.sh


#!/bin/ksh
#! @1--超级用户名
#!@2--超级密码
#!@3--数据库名
#!@4--表空间文件名
#!@5--表空间路径和名称
#!@6--表空间初始化大小
#!@7--表空间最大值
#!@8--表空间增长值--可以为百分比,或者带MB单位的固定值
#!@9--日志空间文件名
#!@a--日志空间路径和名称
#!@b--日志空间初始化大小
#!@c--日志空间最大值
#!@d--日志空间增长值--可以为百分比,或者带MB单位的固定值
#!@e--执行SQL脚本路径
#!@f--日志输出文件路径(配置+生成)
#! @g--创建的登录用户名
#! @h--创建的登录密码
tsql -S MyServer2k -U 1@ -P '2@' <<@@@ | grep "消息" >/dev/null 2>&1
CREATE DATABASE 3@
ON
(NAME=4@,
FILENAME='5@',
SIZE=6@MB,
MAXSIZE=7@MB,
FILEGROWTH=8@
)
LOG ON
(NAME=9@,
FILENAME='a@',
SIZE=b@MB,
MAXSIZE=c@MB,
FILEGROWTH=d@
)
go
use 3@ --指定数据库
go
exec sp_addlogin 'g@','h@' --添加登录
exec sp_grantdbaccess N'g@' --使其成为当前数据库的合法用户
exec sp_addrolemember N'db_owner', N'g@' --授予对自己数据库的所有权限
go
master.dbo.xp_cmdshell ' osql -U g@ -P h@ -d 3@ -i e@ -o f@ ' --用master.dbo.xp_cmdshell存储过程执行
go
exit
@@@
echo "done."


SqlServerUninstall.sh

#!/bin/ksh
#! @1--超级用户名(配置)
#!@2--超级密码(配置)
#! @3--创建的登录用户名(传参)
#!@4--数据库名(传参)
tsql -S MyServer2k -U 1@ -P '2@' <<@@@ | grep "消息" >/dev/null 2>&1
use master --指定数据库
go
exec sp_droplogin N'3@' --删除登录
DROP DATABASE 4@ --删除数据库
go
exit
@@@
echo "done."


3、Oracle

OracleInstall.sh

#!/bin/sh
#实例名
sid=1%
#新创建的数据库用户名
system=2%
#新创建的数据库密码
systemPass=3%
#log日志目录
logpath=4%
#log日志名
logfile=5%
#执行的sql名称
sqlfile=7%
#创建表空间的脚本目录
sqlspacepath=8%
#执行表空间的sql名称
sqlspacefile=9%
#dba数据库用户名
dbasystem=b%
#dba数据库密码
dbasystemPass=c%
#创建日志目录
mkdir $logpath 2>/dev/null
echo start install dbspace script ... >$logfile
#在数据库脚本末尾追加exit,保证脚本执行完成后退出
echo 'exit;' >>$sqlfile
#oracle环境变量
. /home/oracle/.bash_profile 2>>$logfile
#创建表空间和用户脚本
sqlplus $dbasystem/$dbasystemPass@$sid @$sqlspacepath/$sqlspacefile >>$logfile
echo start install db script >>$logfile
#执行数据库脚本
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK'
sqlplus $system/$systemPass@$sid @$sqlfile >>$logfile
export NLS_LANG=AMERICAN_AMERICA.utf8
echo end install db script. >>$logfile

OracleUnInstall.sh

#!/bin/sh
#实例名
sid=1%
#log日志目录
logpath=4%
#log日志名
logfile=5%
#删除表空间的脚本目录
sqlspacepath=8%
#删除表空间的sql名称
sqlspacefile=9%
#dba数据库用户名
dbasystem=b%
#dba数据库密码
dbasystemPass=c%
#创建日志目录
mkdir $logpath 2>/dev/null
echo start delete dbspace script ... >$logfile
#oracle环境变量
. /home/oracle/.bash_profile 2>>$logfile
#创建表空间和用户脚本
sqlplus $dbasystem/$dbasystemPass@$sid @$sqlspacepath/$sqlspacefile >>$logfile
echo end delete db script. >>$logfile






























































分享到:
评论

相关推荐

    Linux下清理数据库shell脚本

    综上所述,"Linux下清理数据库shell脚本"涉及了Linux系统管理、数据库备份策略、shell脚本编程、任务调度和错误处理等多个方面。通过编写这样的脚本,我们可以实现自动化运维,提高工作效率,同时保障数据的安全性和...

    shell连接oracle数据库执行SQL工具脚本-支持select+inset+update

    shell连接oracle数据库工具脚本:支持select/insert/update/delete 部署位置:/root/sysmonitor db:数据库文件夹 dbconfig.properties:数据库配置文件, dbConnectTest.sh:连接测试文件 dbExecurteSQL.sh:...

    并发数据库压力测试的shell脚本代码

    01-25 ##note: ##fun_num fun函数后台运行次数 ##sql_num 每个函数sql运行次数 ##********************************##数据库变量设置dbhost=192.168.1.182dbbase=rechargedbuser=infosmsdbpass=info

    shell 脚本对数据库定时备份

    本文将详细讲解如何使用Shell脚本实现对数据库的定时备份,以及涉及到的相关技术。 首先,Shell脚本是Unix/Linux操作系统中的一种强大的命令行解释器,它允许用户编写自动化任务,例如执行一系列命令、处理文件或...

    简单易懂shell脚本操作数据库demo

    简单shell脚本,供其他系统调用,也可以操作数据库,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    Linux—编写shell脚本操作数据库执行sql

    8. **脚本执行**:最后,通过在终端中运行`./test_sql.sh`命令,我们可以启动脚本执行过程,并观察`test_sql_sh.log`以查看脚本的输出和执行结果。 通过这种方式,开发人员可以编写可复用且灵活的Shell脚本,实现...

    linux shell 查询oracle数据库中的值 并返回

    在Linux环境中,shell脚本是一种强大的工具,可以用于自动化任务执行和系统管理。结合Oracle数据库,我们可以编写shell脚本来查询数据库中的数据,并将结果返回。这个特定的场景中,我们可能想要从Oracle数据库中...

    自动部署达梦数据库shell脚本,达梦8版本

    run.sh 步骤:请把脚本和达梦数据库iso包移动到 /opt下!接下来 source run.sh

    shell脚本生成.txt数据文件

    在IT行业中,Shell脚本是一种强大的工具,尤其在Linux或Unix操作系统中,它允许用户自动化执行一系列命令,处理文件和目录,甚至进行复杂的任务管理。在这个特定的场景中,我们关注的是如何使用Shell脚本来生成`.txt...

    linux下shell脚本实现数据的导出

    接下来,我们看看Java代码部分,这部分代码是用于执行shell脚本的: ```java String shfilepath = ServletActionContext.getServletContext().getRealPath("/"+"download/shell/backup.sh"); String exp = "sh " + ...

    109个shell脚本合集.pdf

    Shell脚本可以直接使用在Windows、Unix、Linux上面,并且可以调用大量系统内部的功能来解释执行程序。如果熟练掌握Shell脚本,可以让我们操作计算机变得更加轻松,也会节省很多时间。 以下是109个Shell脚本合集中...

    linux下批量执行oracle脚本的shell脚本

    本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关知识点。 首先,我们来看标题中的"linux下批量执行oracle脚本的shell脚本",这指的是在Linux操作系统中,通过编写shell脚本来自动化...

    shell脚本实现mysql从原表到历史表数据迁移

    总的来说,这个Shell脚本是数据库管理员和运维人员的一个实用工具,它简化了MySQL数据迁移的过程,提高了工作效率,同时保持了数据的完整性。正确理解和使用此类脚本,对于管理和维护复杂数据库环境至关重要。

    shell脚本和数据库测试.doc

    本文主要涉及的是两个关键领域:Shell脚本编程和Informix SQL数据库操作。 首先,我们来看看Shell脚本的测试题目: 1. **Shell脚本处理Df05话单** - 要求对用户话单进行处理,涉及到对日志文件的解析。在Shell中...

    shell脚本备份mysql数据库

    可以通过修改配置直接备份mysql中的所有数据库数据

    基于xtrabackup的MySQL数据库备份及还原Shell脚本.zip

    本教程将详细介绍如何使用`xtrabackup`结合Shell脚本来实现MySQL数据库的备份与还原。 首先,我们需要理解`xtrabackup`的工作原理。`xtrabackup`通过读取InnoDB的数据文件和Redo日志,生成一个完整的物理备份。由于...

    shell脚本编程100例

    shell脚本可以用于mysql备份、传输、删除,例如使用shell脚本编写一个mysql备份、传输、删除的程序,实现自动化数据库管理。 自动备份mysql库文件 shell脚本可以用于自动备份mysql库文件,例如使用shell脚本编写一...

    Shell脚本连接oracle数据库的实现代码

    在Linux环境中,使用Shell脚本连接Oracle数据库是自动化任务中常见的一种方式,特别是当需要定期执行查询或数据处理时。本文将详细介绍如何通过Shell脚本实现这一目标,并讲解相关的关键知识点。 首先,确保你的...

Global site tag (gtag.js) - Google Analytics