linux数据库脚本
Oracle自动备份数据库不外乎以下三种方式WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron
1、生成脚本文件,如backup.rcv 假定文件内容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来
⑵ linux下怎样运行oracle数据库建库脚本
你说的是数据建库脚本? 如果是这样的话,直接在sqlplus中执行就可以了。
我感觉你想要表达的是如何建立数据库吧? 如果是这样的话,在oracle的安装的目录下的bin文件下,有DBCA的shell,运行这个就可以了。 然后就在图形界面上操作了。
⑶ 在Linux下数据库中怎样设定一个时间自动执行一个shell脚本文件,例如:auto.sh
Linux数据库应该是无法执行shell脚本的,应该是Linux系统下执行shell脚本吧。
直接在linux下输入crontab -e,然后配置一段代码如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh
前五位没记错的话应该分别对应分钟,小时,日,月,星期。
如果你希望保存日志的话可以用输出重定向,如下:
01 8 * * * /bin/bash path(你的文件目录)/auto.sh > /tmp/auto.log 2 > &1 &
这样如果文件执行错误的话,你可以去/tmp目录下去查询错误日志,便于程序的优化。
关于crontab的详细介绍给你个传送门:
http://www.jb51.net/LINUXjishu/19905.html
我也是菜鸟,共同学习共同进步,祝好。
⑷ Linux数据库:mysql下如何执行sql脚本_第2页
同样,可以手动执行sql文件,具体步骤如下:
1、使用root帐户登录到MySQL服务器;
2、执行source命令:
mysql>
source
c:/test.sql
注意:文件路径中建议使用“/”,如果使用“\”,要首先进行转义即“\\”,否则可能会出现错误。
另外还有一个load命令可以批量插入数据,但是这个对文件中数据格式的要求比较严格,否则容易出现错误,很少使用。
mysql
查看所有用户的语句
输入指令select
user();
例:(项目来源:尚学堂)struts_training_itemmgr.sql内容如下:
Sql代码
DROP
TABLE
t_items;
DROP
TABLE
t_data_dict;
CREATE
TABLE
t_items
(
item_no
varchar(20)
not
null
key,
item_name
varchar(20)
not
null,
spec
varchar(20),
pattern
varchar(10),
category
varchar(20),
unit
char(20)
);
CREATE
TABLE
t_data_dict
(
id
varchar(5)
not
null
key,
category
varchar(20),
name
varchar(30)
);
#
t_data_dict的初始化数据
INSERT
INTO
t_data_dict(id,category,name)
values('B01','item_category','精通Spring2.X
Java
Web开发');
INSERT
INTO
t_data_dict(id,category,name)
values('B02','item_category','Java语言与面向对象程序设计');
INSERT
INTO
t_data_dict(id,category,name)
values('B03','item_category','2B铅笔');
INSERT
INTO
t_data_dict(id,category,name)
values('B04','item_category','HOTROCK
notebook');
INSERT
INTO
t_data_dict(id,category,name)
values('C01','item_unit','本');
INSERT
INTO
t_data_dict(id,category,name)
values('C02','item_unit','支');
INSERT
INTO
t_data_dict(id,category,name)
values('C03','item_unit','箱');
⑸ Linux下如何将数据库脚本文件从sh格式变为sql格式
1. sh文件内容
本文中的文件名为example.sh,其内容如下:
#!/bin/bash
function Init()
{
if [ -f"example.sql" ]
then
echo"example.sql is exits and is deleting it,then recreate it"
rm -fexample.sql
else
echo"example.sql no exits and is creating it"
fi
echo " usezxdbp_166 ">>example.sql
echo " go">>example.sql
}
function CreateTable()
{
cat>>example.sql<< EOF
create table tb_employeeinfo
(
employeeno varchar(20) not null, -- 员工工号
employeename varchar(20) not null, -- 员工姓名
employeeage int null -- 员工年龄
);
create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);
create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);
print 'create table tb_employeeinfo ok'
go
EOF
}
## Execute function
Init
CreateTable
说明:
(1) 本文件用于创建tb_employeeinfo表,生成的脚本文件名为example.sql。
(2) Init函数用于在屏幕上输出信息,CreateTable函数用于创建数据表。
(3) 在sh文件的结尾,要按顺序将本文件所包含的所有函数罗列出来,如本文件包括的函数是Init和CreateTable。
2. 生成sql文件的过程
(1) 上传sh文件
使用FTP工具(如filezilla)将example.sh文件上传到Linux的对应目录下。
(2) 使用dos2unix命令修改文件格式
由于example.sh文件是在本地的Windows操作系统下编写的,因此要先转换为Linux下的格式才能使用。如果上传后直接使用,会出现“Permissiondenied”的报错信息。
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的。其使用的格式为:dos2unix file,如果一次转换多个文件,把这些文件名直接跟在dos2unix之后(dos2unixfile1 file2 file3 …)。
在这里,命令执行如下:
zhou@linux:~/sql> dos2unix example.sh
dos2unix: converting file example.sh to UNIX format ...
(3) 使用chmod命令修改文件的权限
在执行了dos2unix命令之后,还是不能立马生成文件,还需要修改文件的权限。
chmod命令是Linux系统中最常用到的命令之一,用于改变文件或目录的访问权限。若想了解有关该命令的更多信息,请上网查询。
在这里,命令为:chmod 777 example.sh
(4) 生成sql文件
直接运行带后缀的sh文件名,即可生成sql文件。命令如下:
zhou@linux:~/sql> example.sh
example.sql no exits and is creating it
表示example.sql文件之前不存在,这是第一次生成。
再次执行命令:
zhou@linux:~/sql> example.sh
example.sql is exits and is deleting it,then recreate it
表示example.sql文件已经存在了,现在删除后重新生成。
3. sql文件内容
生成的sql文件名为example.sql,文件内容如下:
use zxdbp_166
go
create table tb_employeeinfo
(
employeeno varchar(20) not null, -- 员工工号
employeename varchar(20) not null, -- 员工姓名
employeeage int null -- 员工年龄
);
create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);
create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);
print 'create table tb_employeeinfo ok'
go
在实际的软件开发项目中,跨平台操作是常有的事情。作为一名合格的软件开发工程师,一定要熟练掌握不同操作系统下的操作流程及命令。
⑹ Linux下如何运行sql脚本
Linux运行sql脚本的具体操作步骤如下:
1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的操作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。