我想在我的数据库oracle上删除arhcivelog。
RMAN> list backup of archivelog all;
specification does not match any backup in the repository
看起来他们一个也没有。
但恢复区并不是空的。
SELECT * FROM V$RECOVERY_FILE_DEST;
name space_limit space_used space_reclaimable number of files
/opt/oracle/rec
我有一个Oracle表,当我到达2000行数据时,我想不时地清理它:
CREATE TABLE AGENT_HISTORY(
EVENT_ID INTEGER NOT NULL,
AGENT_ID INTEGER NOT NULL,
EVENT_DATE DATE NOT NULL
)
/
当表到达2000行时,如何从表中删除最老的行?
我对运行在openSuSE 11.2上的Oracle10gXE版本10.2.0.1有问题。RMAN显示,即使在成功的完全备份之后,也需要备份所有数据文件:
RMAN> report need backup;
using target database control file instead of recovery catalog
RMAN retention policy will be applied to the command
RMAN retention policy is set to redundancy 2
Report of files with less than
我正在注意创建一个触发器,它在删除表中的行之前检查列END_DATE是否为null,如果它为null,则该行不是删除行,而是用sysdate替换该值,如果不为null,则行不会被删除。
CREATE OR REPLACE TRIGGER TRANSFER_DATA
BEFORE DELETE ON CLUBS
FOR EACH ROW
BEGIN
IF :old.END_DATE IS NULL
THEN UPDATE CLUBS SET END_DATE = SYSDATE;
ELSE
RAISE_APPLICATION_ERROR(-20033, 'No
最近,我的代码中出现了一个非常奇怪的异常:
XXX.WrappedSqlException: ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
while executing create table ST_UTEST2_DATE (value varchar(100) not null unique,replacement varchar(100) not null)
at XXX
Caused by: java.sql.SQLExce
我有一个Oracle 10g服务器,它每晚运行一个bash脚本,它提取每个数据文件并创建一个rman脚本,这个脚本是从bash脚本本身启动并进行备份的。
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/archivelogs/autobackup_control_file%F';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
CROS
我在Oracle 10g的SQL命令行上创建了这个触发器,并成功地创建了它。今天是星期二,我试着在我的雇员表中插入一行。但是没有引发错误,而是插入了行。
create or replace trigger myt1 before insert or delete or update on employee
begin
if upper(to_char(sysdate,'DAY')) = 'TUESDAY' then
raise_application_error(-20101,'TABLE IS SECURED
数据库:Oracle
简化版本:
表T有一列:D (日期类型)
现在桌子是空的。
INSERT INTO T
(D) VALUES (sysdate);
现在这个表有一行,包含22-8月14日。
为什么是下面的WHERE子句false?
SELECT * FROM T
WHERE D = sysdate;
=> 0行
以下查询起作用:
SELECT * FROM T
WHERE TO_CHAR(D, 'DD/MM/YYYY') = TO_CHAR(sysdate, 'DD/MM/YYYY');
=> 1行
我猜想有一个与时间有
我试过很多次了,但我解决不了.
我正在执行Oracle SQL查询:
SELECT
TRUNC(months_between(sysdate, DateofBirth) / 12) AS "age"
FROM players
group by age
HAVING COUNT
(TRUNC(months_between(sysdate, DateofBirth) / 12)) > 30;
第4行中的错误: ORA-00904:“年龄”:无效标识符
有什么想法吗?
我在oracle中有一张表,我想研究在线上的更新。
id number,
title varchar2(10),
modify_date date
我已经创建了一个触发器来提供modify_date:
create or replace
TRIGGER schema.name_of_trigger
BEFORE UPDATE ON schema.name_of_table
FOR EACH ROW
BEGIN
:new.modify_date := sysdate;
END;
但是,当我从另一个表进行大的更新时,我希望modify_date只更新具有新值的行,而不是所有行。
updat
我正在研究一个Oracle存储过程。我需要对表的行进行迭代。我可以用:
FOR eachrow IN table_name
LOOP
END LOOP;
但我需要table_name是动态的。例如,表名存储在其他表中。所以,我可以在那个表上做FOR循环,在循环中,我想迭代新表的行。
请建议我如何做到这一点。
谢谢,
背带