首页 > 技术文章 > 4.oracle常用的命令

zmc60 2021-09-19 00:43 原文

1.前言

  这里主要写一些关于oracle的常用命令,且可能后续还有补充。。。

2.常用命令 

1.监听
    查看监听状态:lsnrctl status
    启动监听:lsnrctl start
    停止监听:lsnrctl stop
2.查看当前数据库的使用者
    show user;
3.查看当前使用的是哪个实例
    show parameter instance_name;
4.查看当前数据库是否是可用状态(open)
    select status from v$instance;
5.查看spfiile文件命令
  strings spile实例名.ora
6.利用spfile创建pfile
  create pfile from spfile
7.使用pfile启动数据库
  startup nomount pfile=?/dbs/initorcl.ora
8.利用pfile创建spfile
  create spfile from pfile
9.修改配置文件参数
  alter system set 参数名=值 scope=memory(当前实例,重启后失效)|spfile(修改参数文件,重启后生效)|both(同时修改spfile和实例)
10.查看数据文件路径
  select name from v$datafile
11.查看日志文件
  desc v$log;
  select group#,status from v$log;
12.切换日志
  alter system switch logfile;
13 查看表空间以及对应的数据文件信息
  select file_name,tablespace_name from dba_data_files;
  select file_name,tablespace_name from dba_temp_files;
14.查看spfile文件位置
  show parameter spfile;
15.查看Oracle数据库错误日志的位置和文件名
  show parameter background_dump_dest;

 

16.#数据库的大小:
   select ((select sum(bytes) from dba_data_files) +(select sum(bytes) from dba_temp_files)) as total_size from dual;
17.#查询某个段对象(表,索引)大小 -->当前user   这里的user_segments可以改为dba_segments
  select sum(bytes) from user_segments where segment_name="T";
18.#查询某个表空间的大小
  select sum(bytes) from dba_data_files where tablespace_name='users';
19.#查看日志文件的状态
  select group#,status from v$log;
20#查询事务阻塞
  select sid,type,lmode,request from v$lock where type in ("TM","TX") order by 1,2;
21.#查看所有表空间
  select * from Dba_Tablespaces
21.#查看当前用户使用的表空间
  select * from user_users;
22.#查看当前用户下所有的表
  select * from tabs;
23.查看归档日志状态以及路径
  archive log list;
  select name from v$asm_diskgroup;查看数据文件在asm上的路径
24.修改归档日志的路径
  alter diskgroup data_dg add idrectory '+data_dg/arch1'
  alter system set log_archive_dest_1='location=+data_dg/arch1' scope=spfile sid='实例名’ ##修改归档日志的位置信息
修改完之后再重启机器:
  shutdown immediate;
  startup;

 

oracle怎么查看用户对应的表空间?
查询用户
查看数据库里面所有用户,前提是你是有dba权限的帐号,如sys,system:
select * from dba_users;
查看你能管理的所有用户:
select * from all_users;
查看当前用户信息:
select * from user_users;
查询用户所对应的表空间:
select username,default_tablespace from dba_users;
为用户指定表空间:
alter user 用户名 default tablespace 表空间名字 ;
为用户指定临时表空间:
alter user 用户名 temporary tablespace 表空间名字;
删除用户:
drop user 用户名称 cascade;
删除表空间:
drop tablespace 表空间名字 including contents and datafiles cascade constraint;
查找工作空间的路径:
select * from dba_data_files;

 查询表空间的名称及大小

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;

查看表空间物理文件的名称及大小

SELECT tablespace_name,file_id,file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files ORDER BY tablespace_name;

 查看表空对于的文件号,状态,以及对于的数据文件

select a.name as tablespace,b.file#,b.status,b.name as datafile from v$tablespace a,v$datafile b where a.ts#=b.ts#;

 2022-01-30补充

-- 调整输出格式
set line222
col name for a20
set pagesize1000-- 调整输出格式

-- 切换归档
alter system switch logfile;
alter system archive log current;

-- 注册监听
alter system register;

-- 开库
startup nomount
alter database mount;
startup mount
alter database open read only;
alter database open read write;
startup

-- 增加表空间数据文件
alter tablespace 表空间名称 add datafile '数据文件路径' size 8G autoextend off;

-- 抓取报告
@?/rdbms/admin/awrrpt.sql
@?/rdbms/admin/ashrpt.sql
@?/rdbms/admin/addmrpt.sql
@?/rdbms/admin/awrsqrpt.sql

 3.查看所有参数(包含显性参数和隐藏参数)

set linesize 120
col name for a30
col value for a20
col PDESC for a50
select x.ksppinm name,y.ksppstvl value,x.KSPPDESC PDESC from SYS.X$KSPPI X,SYS.x$ksppcv y
where x.indx = y.indx and x.ksppinm like '%&par%';

4.几个比较常用的隐含参数:

_allow_resetlogs_corruption
_offline_rollback_segments 

 

  

推荐阅读