Oracle 10,11,12c的Linux常用命令
程序员文章站
2022-07-13 15:12:10
...
日常开发中,常用的Oracle操作Linux下命令汇总
oracle 10g,11g 数据库启动,关闭
1、su - oracle
2、echo $ORACLE_SID 看当前实例名是不是想要的实例名,若不是执行 export ORACLE_SID=实例名,
然后再执行echo $ORACLE_SID看有没有修改当前实例名成功
3、sqlplus /nolog
4、conn / as sysdba
5、startup 启动 shutdown immediate 关闭
6、exit
查看监听
1、 lsnrctl status
启动监听:
1、lsnrctl start
关闭监听
1、lsnrctl stop
Oracle12c
前面操作类似
1,select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
用于查询seed和所有pdb库
2,alter session set container=XXX;
设置当前活动的pdb库
3,starup
打开当前活动的pdb库
shutdown immediate
关闭当前活动的pdb库
alter pluggable database all open;
打开所有的挂载库
alter pluggable database all close immediate;
关闭所有的挂载库
其他
4,select tablespace_name,file_id,file_name from dba_data_files;
查询当前库的表空间
查看机器,用户,连接数
select machine , osuser, count(*) as count from v$session group by machine , osuser order by count;
--数据库允许的最大连接数
select value from v$parameter where name ='processes';
--修改最大连接数:
alter system set processes = 300 scope = spfile;
查看当前实例
select instance_name from v$instance;
查看实例下有多少用户
select username from all_users;
删除一些trace文件,让出空间
Oracle的tarce文件是Oracle数据库在运行时产生的日志,该trace文件是可以删除的,对系统没有什么影响。
切换到oracle用户
cd $ORALCE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID
删除这些文件: find trace -ctime +30 | xargs rm -fr
再用df命令查看磁盘空间,已有空闲空间啦,问题解决。
# df -lh
启动提示
sqlplus /nolog;
connect/as sysdba;
Connected to an idle instance.
说明你的实例还没有被启动。
先startup
ORA-28000: the account is locked
alter user username account unlock
查看数据库默认的密码管理方式有效期
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
修改用户密码并设置数据库默认密码为永久有效
SQL> alter user xxx identified by xxx;
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
--查询表空间的free space
select tablespace_name,count(*) as extends,round(sum(bytes) / 1024 / 1024, 2) as MB,sum(blocks) as blocks from dba_free_space group by tablespace_name;
--查询表空间的总容量
select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;
lsnrctl status后即无任何反应,而sqlplus正常
oracle 10.2.0.1.0的一个4518443的bug导致的,这个bug会自动创建一个子监听器,当出现这种情况时,监听就会挂起
查看lsnr进程
杀死进程
之后重启监听
lsnrctl start
lsnrctl status
永久解决
vi $ORACLE_HOME/network/admin/listener.ora
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
#可以添加在最后一行
之后重启
参考链接
oracle查看允许的最大连接数和当前连接数等信息
lsnrctl status后即无任何反应,而SQL*Plus正常
Oracle10gLsnrctl没有反映无法连接数据库
oracle 10g,11g 数据库启动,关闭
1、su - oracle
2、echo $ORACLE_SID 看当前实例名是不是想要的实例名,若不是执行 export ORACLE_SID=实例名,
然后再执行echo $ORACLE_SID看有没有修改当前实例名成功
3、sqlplus /nolog
4、conn / as sysdba
5、startup 启动 shutdown immediate 关闭
6、exit
查看监听
1、 lsnrctl status
启动监听:
1、lsnrctl start
关闭监听
1、lsnrctl stop
Oracle12c
前面操作类似
1,select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
用于查询seed和所有pdb库
2,alter session set container=XXX;
设置当前活动的pdb库
3,starup
打开当前活动的pdb库
shutdown immediate
关闭当前活动的pdb库
alter pluggable database all open;
打开所有的挂载库
alter pluggable database all close immediate;
关闭所有的挂载库
其他
4,select tablespace_name,file_id,file_name from dba_data_files;
查询当前库的表空间
查看机器,用户,连接数
select machine , osuser, count(*) as count from v$session group by machine , osuser order by count;
--数据库允许的最大连接数
select value from v$parameter where name ='processes';
--修改最大连接数:
alter system set processes = 300 scope = spfile;
查看当前实例
select instance_name from v$instance;
查看实例下有多少用户
select username from all_users;
删除一些trace文件,让出空间
Oracle的tarce文件是Oracle数据库在运行时产生的日志,该trace文件是可以删除的,对系统没有什么影响。
切换到oracle用户
cd $ORALCE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID
删除这些文件: find trace -ctime +30 | xargs rm -fr
再用df命令查看磁盘空间,已有空闲空间啦,问题解决。
# df -lh
启动提示
sqlplus /nolog;
connect/as sysdba;
Connected to an idle instance.
说明你的实例还没有被启动。
先startup
ORA-28000: the account is locked
alter user username account unlock
查看数据库默认的密码管理方式有效期
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
修改用户密码并设置数据库默认密码为永久有效
SQL> alter user xxx identified by xxx;
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
--查询表空间的free space
select tablespace_name,count(*) as extends,round(sum(bytes) / 1024 / 1024, 2) as MB,sum(blocks) as blocks from dba_free_space group by tablespace_name;
--查询表空间的总容量
select tablespace_name, sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;
lsnrctl status后即无任何反应,而sqlplus正常
oracle 10.2.0.1.0的一个4518443的bug导致的,这个bug会自动创建一个子监听器,当出现这种情况时,监听就会挂起
查看lsnr进程
ps -ef|grep lsnr
杀死进程
kill -9 pid
之后重启监听
lsnrctl start
lsnrctl status
永久解决
vi $ORACLE_HOME/network/admin/listener.ora
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
#可以添加在最后一行
之后重启
参考链接
oracle查看允许的最大连接数和当前连接数等信息
lsnrctl status后即无任何反应,而SQL*Plus正常
Oracle10gLsnrctl没有反映无法连接数据库
上一篇: 原始因子数据分析与处理