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