oracle正确维护归档,oracle日常维护

Oracle日常维护

1.增加表空间大小

查询表空间文件路径

select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;

增减表空间文件

ALTER TABLESPACE USERS ADD DATAFILE '/data/oradata/orcl/users02.dbf' SIZE 10240M;

修改表空间大小

alter database datafile '/data/orcl/users02.dbf' resize 50m;

修改表空间大小自增

alter database datafile '/data/orcl/users02.dbf' autoextend onnext 50m maxsize 500m;

- onnext 50m每次增加的大小

- maxsize 500m最大文件大小

2.必须加上表名才能查询

问题:

用户查询表一定要加上表空间名的问题

ORACLE 10G 创建了一个测试用的用户TEST,打算这个用户只有查询的权限,缺省的表空间指向THGE的这个表空间,给这个用户赋予了connect 和resource的角色,权限为SELECT ANY TABLE

查询一个表, 这样写就没错

SELECT COUNT(*) FROM THGE.KTYLOG;

这样写就说这个表或视图没找到

SELECT COUNT(*) FROM KTYLOG;

解决:

我们都知道,在oracle中对用户的管理是使用权限的方式来管理的,也就是说,如果我们想使用数据库,我们就必须得有权限,但是如果是别人将权限授予了我们,我们也是能对

数据库进行操作的,但是我们必须要已授权的表的名称前键入该表所有者的名称,所以这就是比较麻烦的,遇到这种情况,我们该怎么办呢?创建个同义词吧!这样我们就可以直

接使用同义词来使用表了。

创建同义词的具体语法是:create [public] SYNONYM synooym for object;其中synooym表示要创建的同义词的名称,object表示表,视图,序列等我们要创建同义词的对象的名

称。

CREATE PUBLIC SYNONYM public_emp FOR jward.emp; -- jward 用户名

删除同义词

使用DROP SYNONYM语句删除不再需要的同义词 要想删除私有同义词 就省略 PUBLIC 关键字 要想删除公共同义词 就要包括PUBLIC 关键字

DROP SYNONYM emp; --删除名为emp 的私有同义词

DROP PUBLIC SYNONYM public_emp; --删除名为public_emp的公有同义词

3.ASM磁盘空间不足

查询ASM磁盘空间

SQL> select group_number,name,total_mb,free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME TOTAL_MB FREE_MB

------------ ------------------------------ ---------- ----------

1 CRS 51136 50739

2 DATA368616 336503

3 REDO 81917 77947

4.归档日志已满

现象:

SQL> conn trade

Enter password:

ERROR:

ORA-00257: archiver error. Connect internal only, until freed.

Warning: You are no longer connected to ORACLE.

解决:

查看使用情况

# 查看归档日志路径

SQL> show parameter log_archive_dest;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest string

log_archive_dest_1 string

log_archive_dest_10 string

log_archive_dest_11 string

log_archive_dest_12 string

log_archive_dest_13 string

log_archive_dest_14 string

log_archive_dest_15 string

log_archive_dest_16 string

log_archive_dest_17 string

log_archive_dest_18 string

# 查看ASM磁盘使用空间情况

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE

-------------------- ------------------ -------------------------

NUMBER_OF_FILES

---------------

CONTROL FILE .46 0

1

REDO LOG 5.26 0

4

ARCHIVED LOG 93.77 0

101

# 查询最大限制

SQL> show parameter recover;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_recovery_file_dest string +REDO

db_recovery_file_dest_size big integer 30G

recovery_parallelism integer

方法1:删除无用的日志#检查一些无用的archivelog

RMAN>crosscheck archivelog all;

#删除过期的归档

RMAN>delete expired archivelog all;

#删除截止到前一天的所有archivelog

delete archivelog until time 'sysdate-1' ;

方法2:增加archivelog空间大小#强制关闭数据库

SQL>shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>startup mount;

ORACLE instance started.

Total System Global Area 2087780352 bytes

Fixed Size 2214936 bytes

Variable Size 1308623848 bytes

Database Buffers 771751936 bytes

Redo Buffers 5189632 bytes

Database mounted.

#查看归档日志信息

SQL>archive log list;

Database log mode Archive Mode

Automatic archival Enabled

Archive destination USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence 60

Next log sequence to archive 0

Current log sequence 61

#增加归档到30G

SQL>alter system set db_recovery_file_dest_size=30G scope=both;

System altered.

#开启数据库

SQL>alter database open;

Database altered.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值