一、简单后台执行。
nohup sqlplus Oracle/Oracle@orcl @sql.sql &
今天打算写个后台执行清理单张表和备份sql脚本。发现一直报错,网上也没有具体的修改方法。
后来到别的博客去看看,有别的办法可以解决:
二、编写shell脚本和数据库sql脚本
1、table_clear_data.sql和clear_data.sh上传到oracle用户,目录为/opt/oracle/
2、clear_data.sh 脚本内容:
#!/bin/sh
sqlplus myname/pass <<EOF
@/opt/oracle/tabel_clear_data.sql;
EOF
3、table_clear_data.sql数据库脚本内容:
--备份表
create table mytabel_all_201401
NOLOGGING
as (select * from mytabel);
--1、删除不要的数据
delete from mytabel t where t.start_time < to_date('2012-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss') ;
commit;
--备份清理后的数据
create table mytabel_201401
NOLOGGING
as (select * from mytabel );
--清空mytabel,释放空间--超过1千万的表,需要truncate才能释放表空间,提高查询更新等效率。delete没用,没有释放全部空间。
truncate table mytabel;
--导入刚刚备份的数据到mytabel
insert into mytabel select * from mytabel_201401;
commit;
三、上传文件并执行脚本
1、table_clear_data.sql和clear_data.sh上传到oracle用户主目录下的/opt/oracle/目录);
目录必须正确,因为clear_data.sh脚本指定了该目录。
2、赋予权限和转码
chmod 777 clear_data.sh table_clear_data.sql
dos2unix clear_data.sh table_clear_data.sql
3、用oracle用户登录,执行脚本命令
su - oracle
cd/opt/oracle/
nohup./clear_data.sh & --必须加&符号,数据量大的话后台执行。
4、可以用tail -f nohup.out 查看当前执行的情况。
在网上参考的.sh脚本有别的写法,有时间再试试。
http://blog.csdn.net/hj402555749/article/details/7328508
http://blog.sina.com.cn/s/blog_a97aa69e01015wwb.html
分享到:
相关推荐
"nohup.out"通常是Linux环境下后台运行命令的日志文件,记录了命令执行的过程和结果。"exportSql.sh"和"export.sh"可能都是Shell脚本,其中前者可能用于执行导出建表脚本的具体命令,而后者可能是更通用的数据导出...
在IT领域,Unix和Linux操作系统是企业级Oracle数据库服务器的常用平台。Oracle数据库管理系统是全球最广泛使用的数据库系统之一,尤其在大型企业和金融机构中。本文将深入探讨在Unix和Linux环境下如何有效地管理和...
### Linux环境下手动创建Oracle 10g数据库详细步骤与知识点解析 #### 一、环境配置与准备工作 在Linux系统中手动创建Oracle 10g数据库,不仅能够深入了解Oracle数据库的安装与配置流程,还能帮助更好地掌握数据库...
2. 初始化数据库实例,使用 `dbca`(Database Configuration Assistant)工具创建数据库,或手动执行SQL脚本。 3. 配置监听器,通过修改 `listener.ora` 文件并启动 `lsnrctl` 服务。 4. 创建数据库用户,分配权限,...
通常,这些脚本会包含SQL命令或操作系统级别的命令,如Linux的`sqlplus`和`svrmgrl`,或者Windows的`oradim`。 描述中提到“注意把全局数据库名称改为自己本机的”,这是非常关键的步骤。全局数据库名称(Global ...
使用`dbca`(Database Configuration Assistant)工具或手动执行SQL脚本来创建数据库。在这个阶段,你可以选择数据库类型(如通用、事务处理、数据仓库等),并配置存储、表空间、用户和角色等。 最后,启动Oracle...
11. **数据库维护**:了解DBMS_JOB或DBMS_SCHEDULER等后台任务调度,执行数据库的日常维护工作,如统计信息收集、表空间扩展等。 12. **数据库迁移**:学习如何将数据库从一个平台迁移到Linux,或在同一平台上的...
1. **稳定性**:Linux系统以其出色的稳定性和安全性著称,这使得在Linux上运行Oracle数据库能够提供更稳定的后台支持。 2. **成本效益**:由于Linux系统开源免费,与Oracle结合使用可以大大降低整体运营成本。 3. **...
SQL*Plus 是Oracle自带的一款命令行工具,用于执行SQL语句和PL/SQL脚本。 - **命令格式**: ```bash isqlplusctl start ``` - **注意事项**:`isqlplusctl` 命令并非官方文档推荐的标准命令,这里提到的是为了...
### Linux环境下Oracle 19C部署与管理 #### 一、Oracle 19C简介 ...通过以上步骤,在Linux环境下部署和管理Oracle 19C不仅可以充分发挥其强大的数据处理能力,还能确保系统的稳定运行,为企业提供坚实的后台支持。
在Oracle数据库中,实例是内存结构和后台进程的集合,它们与磁盘上的数据文件交互,提供对数据库的访问。每个实例都有一个唯一的服务名(SID),用于标识和区分不同的数据库实例。 在Linux环境下建立第二个ORACLE...
6. SQL*Plus与PL/SQL:SQL*Plus是Oracle提供的一个命令行工具,用于执行SQL和PL/SQL语句。PL/SQL是Oracle扩展的SQL语言,支持过程编程,常用于开发数据库应用程序。 7. 高可用性与备份恢复:Oracle10g提供了多种高...
在Linux Red Hat 5.6环境下安装Oracle 10g是一项技术性的工作,涉及到多个步骤和依赖包。本文将详细讲解这一过程中的关键知识点。 首先,Oracle 10g是Oracle公司的一款数据库管理系统,适用于企业级的数据存储和...
### 监控Oracle数据库的常用Linux Shell脚本 #### 一、前言 在现代企业环境中,Oracle数据库作为核心的数据管理工具,其稳定性和性能至关重要。对于DBA(数据库管理员)来说,日常维护工作中的一项重要任务就是...
1. **操作系统定时任务**:例如Linux的cron job或Windows的任务计划程序,可以设置定时执行命令行下的SQL脚本。 2. **数据库自带的事件调度器**:如MySQL的Event Scheduler,可以在预设的时间点执行存储过程或SQL...
### LinuxRHEL5下ORACLE10g从10.2.0.4.0升级到10.2.0.5.0的操作步骤 #### 一、文档更新记录与说明 - **文档目的**:本文档旨在为数据库管理员(DBA)提供一套标准化的流程,用于指导Oracle 10g从10.2.0.4.0版本升级至...
2. **配置Oracle实例**: Oracle数据库运行在称为实例的内存结构上,由后台进程和SGA(System Global Area)组成。在Unix/Linux中,配置包括设定初始化参数文件(init.ora或spfile),定义监听器(listener.ora)以...
- 或者,可以通过Oracle的后台进程`sqlplus /nolog`,然后`connect`到SYSDBA角色,再执行`startup`。 在整个过程中,安全是至关重要的。Oracle提供了本地操作系统认证,但更复杂的部署可能需要额外的安全配置,如...
- 支持单个脚本执行和批量执行。 ##### 5.3 变量类型 - 支持多种 Oracle 数据类型,如 NUMBER、VARCHAR2 等。 - 可以在测试脚本中定义和使用这些变量。 ##### 5.4 保存测试脚本 - 将测试脚本保存为文件以便后续...