这个问题你可能通过查询oracle的系统表,例如all_all_tables,用这些对象的列表生成一批数据库删除对象的语句,然后将这些语句存到文件,用sqlplus的文件参数执行这一批语句。
方法一、适合所有格式的mysql数据库,通过对数据库导出导进写个脚本定时执行:
1导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > /存放路径/wcncsql
2导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc users> /存放路径/wcnc_userssql
3导出一个数据库结构 mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >/存放路径/wcnc_dbsql
定义:
-d 没有数据
--add-drop-table 在每个create语句之前增加一个drop table
4导入数据库 常用source 命令 进入mysql数据库控制台:
如mysql -u root -p mysql>use 数据库
方法二、针对mysql数据表格式为MyISAM的
假如数据文件在/var/lib/mysql
那么直接写个脚本
cp -r /var/lib/mysql /备份到的文件夹路径
隔机备份用rsync增量,或定时完整备份。
思路如下:
首先把你的查询写成一个sql文件如xxxsql
然后在你的shell里运行isql 去执行这个sql, 把结果输出到一个文件里,如:
isql -Sserver_name -Uuser_name -Ppassword -ixxxsql > resultlog
假设你的查询最后只有一个数值, 那它在resultlog文件里的格式应该是很简单的,如:
column_name
------------------
100
你可以通过sed和cat命令从文件里获取'100'这个内容并赋给变量,如:
sed -e '1,2d' resultlog --删除文件前两行
VALUE=$(cat resultlog)--获取文件内容到变量
以上就是关于怎么样用shell做一个连接oracle数据库的脚本全部的内容,包括:怎么样用shell做一个连接oracle数据库的脚本、shell脚本中执行db2数据库 *** 作,不知道哪里错了、刚接触shell,问一个shell与sybase数据库的问题。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)