[Oracle] Oracle数据库服务监听、登录方式、密码修改、归档日志查看清除

前面是日常维护使用基础操作,需要参考归档日志清除请直接跳到目录四。

一、Oracle 服务、监听启动与关闭

**Oracle 启动:**

su - oracle
sqlplus /nolog
connect /as sysdba;
startup;
exit
lsnrctrl start ##开启监听
**Oracle关闭:**

su - oracle
lsnrctrl stop  ##首先关闭监听(让远程客户端无法再连进来);
sqlplus /nolog
connect /as sysdba;
shutdown 参数;
参数列表:

Normal 需要等待所有的用户断开连接; 
Immediate 等待用户完成当前的语句; **(常用)**
Transactional 等待用户完成当前的事务; 
Abort 不做任何等待,直接关闭数据库; 
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接; immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接;  
transactional在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库;  
abort 执行强行断开连接并直接关闭数据库。

注: shutdown immediate后,如果是比较繁忙的数据库,可能正在执行的事务很多,发出关闭命令,会出现回滚的情况,这有可能会等很长时间,一般可以在2步骤之前先杀掉这些会话,可以在数据库里面杀,也可以在系统级别杀(如果是linux、unix系统的话)
例如:

ps -ef |grep LOCAL=NO|grep -v grep|awk '{print $2}'|xargs kill -9

二、Oracle 登录方式

1、#使用指定用户连接:

   sqlplus test/test123

2、#使用sysdba连接:

sqlplus /nolog
SQL> connect /as sysdba;

3、 #使用PLSQL工具连接异地oracle数据库:

   用户密码正常输入
   数据库:IP:1521/实例名
   connect as 为Normal

三、密码更改

Oracle提示错误消息 ORA-28001: the password has expired,是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天(即6个月),如果超过180天用户密码未做修改则该用户无法登录,如果oracle 用户密码过期会导致业务无法访问,可以修改为原密码。

1、 #使用sys用户查看数据库下全部用户的状态(是否锁定过期)

select username,account_status from dba_users;

2、#先更改密码周期策略为无限期:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

3、#重启数据库服务;


4、#使用sysdba 修改oracle用户密码:

   alter user 用户名 identified by 密码;

5、#解锁oracle用户:

   alter user 用户名 account unlock;

四、Oracle归档日志查看清除

1、#列归档日志,查看归档日志存放路径:

archive log list;  

2、 #开启归档日志:

conn / as sysdba --(以DBA身份连接数据库)

shutdown immediate; --(立即关闭数据库)

startup mount; --(启动实例并加载数据库,但不打开) 启动数据库到mount状态

alter database archivelog; --(更改数据库为归档模式)

alter database open; --(打开数据库)

alter system archive log start; --(启用自动归档)

3、 #查看归档日志设置大小:

show parameter db_recovery_file_dest_size;

4、#查看归档日志使用情况:

select * from v$recovery_file_dest;

NAME:存放路径
SPACE_LIMIT:该区域的大小是多少;
SPACE_USED:已经使用了多少空间;
SPACE_RECLAIMABLE:删除一些垃圾数据之后可以回收的空间大小(如obsolete,redundant、low priority);
NUMBER_OF_FILES:该区域目前存在有多少文件。


5、#查看归档日志占有率:

select * from v$flash_recovery_area_usage;

注:如果 ARCHIVED LOG 超过90%,Oracle随时有宕机的危险


6、#清除归档日志:

进入rman,连接实例connect target /

#校验日志的可用性(同步控制文件的信息和实际物理文件的信息):

RMAN> crosscheck archivelog all;

#列出所有失效的归档日志:

RMAN> list expired archivelog all;

#删除15天前所有归档日志:

RMAN> delete archivelog all completed before ‘sysdate-15; 

#删除15天到现在的归档 :

RMAN> DELETE ARCHIVELOG FROM TIME 'SYSDATE-15';  

#删除所有过期归档日志:

RMAN> delete expired archivelog all;

#清除所有归档日志(慎用!!!):

RMAN> delete noprompt archivelog all completed before ‘sysdate';

注:

如果是oracle集群多数据库架构清理oracle归档日志前,需要在节点上切换到指定数据库:

su - oracle
ps -ef | grep test   ##主要看实例名后面的数字,这里设置操作的数据库是test
*注意:此处会看到如oracleTEST1,记录oracle后的部分,最后一位数字一并记录*
export ORACLE_SID=test1   ##这里是设置环境变量为test1,要操作test1

到这一步后,进入sqlplus查看归档日志和rman清理归档日志都是针对test1数据库做操作。


END

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值