我有文件,文件中的字符串下面包含。
ALTER DATABASE RENAME FILE '/home/oracle/oradata/undotbs01.dbf' TO '/home/oracle/oradata/undotbs01.dbf';
使用bash方法,我希望将第二个"undotbs01.dbf“替换为另一个名称。当我使用grep和sed时,它会将文件中的所有undotbs01单词更改为新值。但是我只需要更改第二个撤销(位于" to“之后)。
我正在寻找一种方法来刷新撤消日志,这样UNDOTBS1就不会给我一个错误,说明我的表空间不够大。我尝试使用commit,但是没有成功,它仍然给了我不够大的UNDOTBS1表空间。
我知道一些类似检查点NUM的东西,它通常允许您在给定的NUM中刷新撤消日志。我想知道在PL/SQL中是否有类似的匿名块功能,因为我没有修改UNDOTBS1的权限。
SET serveroutput ON;
DECLARE
--Cursor declaration
CURSOR a_cur IS
SELECT * FROM aTable
FOR UPDAT
我们在两个不同的服务器上有Oracle11gR1 RAC两个实例,新的撤销表空间UNDOTBS20140508创建了30G,我想删除旧的UNDOTBSX02,我做了以下工作:
CREATE UNDO TABLESPACE UNDOTBS20140508 DATAFILE '+DATA/....../UNDOTBS20140508' SIZE 20G;
ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBS20140508;
DROP TABLESPACE UNDOTBSX02 INCLUDING CONTENTS AND DATAFILES;
当
我有一个存储的proc,它执行一个非常大的更新。有时作业由于错误ORA-30036 Unable to extend segment by 8 in undo tablespace 'undotbs2'而失败
但几个小时后,我们重新安排了工作,并成功地完成了。
我检查并发现undotbs2已经将AUTOEXTENSIBLE设置为YES,大小为3GB,因此我想撤销表空间已经有相当大的大小,并且已经打开了自动空间管理。
我的问题是,为什么在我们重新运行它之后,它会成功地完成呢?是因为同时使用undotbs2的其他事务吗?对于此错误,Oracle提到“另一种选择是等待活动事务提交”,
我有过
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF
C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSAUX.DBF
C:\ORACLEXE\APP\ORACLE\ORADATA\XE\UNDOTBS1.DBF
C:\ORACLEXE\APP\ORACLE\ORADATA\XE\U
你能告诉我如何减去数值吗?
SQL>
select SUM(bytes/1024/1024) from dba_data_files where TABLESPACE_NAME='UNDOTBS1'
2.
SUM(BYTES/1024/1024)
--------------------
7000
SQL>
select SUM(BYTES/1024/1024) from DBA_UNDO_EXTENTS where STATUS LIKE 'ACTIVE';
SUM(BYTES/1024/1024)
-----------
SQL> create user alois identified by alois
2 default tablespace example password expire;
create user alois identified by alois
*
ERROR at line 1:
ORA-00959: tablespace 'EXAMPLE' does not exist
下一步我该怎么做?
下一步如下所示:
create user alois identified by alois
default tablespace example pas
在执行返回数百万行的查询时,我会收到以下错误:
ORA-30036: unable to extend segment by 128 in undo tablespace 'UNDOTBS2'
错误告诉我溢出的撤销表空间的名称。
如何检查上面命名的撤销表空间的当前大小?
是否有一个PL/SQL命令返回有关给定撤消表空间的元数据?
我最近在RAC环境中将oracle数据库从11.2.0.1升级到11.2.0.4。安装成功,我检查了两个实例的日志。由于可撤销的表空间,直到Ora 30036产生之前,服务都很好。我在spfile上得到了关注
*undo_retention =108000
node11.undo_tablespace='UNDOTBS1'
node12.undo_tablespace='UNDOTBS2'
我有以下长时间运行的查询
1. EMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS()
2. #This query is for AWR a
我正在Oracle中执行一个大容量的insert-into-select-from语句,并且我的撤消空间即将耗尽(ORA-30036: unable to extend by 8 in undo tablespace 'UNDOTBS1')。
一般的共识似乎是删除目标表上的索引,然后在插入完成时重新创建它们。
只是禁用表上的索引/约束行吗?这与删除索引/约束有什么不同?
我正在尝试从多个表中执行删除操作。我正在删除近30个表格中的500 000份记录,每一份表格都可能有或可能没有与删除标准相抵触的记录。每个表都相当大,超过1GB。
BEGIN
---Criteria for deletion
q_query:='
SELECT a,
b,
c
FROM T,
GTY,
GRUP,
GART,
T_category
WHERE T.ID = GTY.ID
我是新来的神谕。我工作的甲骨文数据库12c版本。我必须查明以前的week.But是否禁用了表空间自动扩展状态,我可以查看表空间的当前自动扩展状态。是否有使用数据库视图查找表空间自动扩展状态的直接方法?
下面的输出显示当前表空间自动可扩展状态。
示例输出:
SQL> select TABLESPACE_NAME,AUTOEXTENSIBLE from dba_data_files;
TABLESPACE_NAME AUT
------------------------------ ---
SYSTEM NO
在创建数据库时,我一直收到相同的错误。看起来语法有问题。下面是我创建它的方法: CREATE DATABASE darkarmy
USER SYS IDENTIFIED BY admin
USER SYSTEM IDENTIFIED BY admin
LOGFILE GROUP 1 ('/u01/zdw07/logs/redo01a.log') SIZE 10M,
GROUP 2 ('/u01/zdw07/logs/redo02a.log') SIZE 10M,
GROUP 3 ('/u01/zdw07/logs/redo03a.log') S
我想编写一个SQL脚本来创建一个数据库。我想把它参数化,以便能够在将来的数据库中重用它。作为一个基础,我想使用Oracle文档页面中的脚本:
CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/mynewdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/or