千家信息网

Oracle日常巡检维护中常用的一些STUFF

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,查看oracle版本select banner from sys.v_$version;-------------------------------------查看不同用户的连接数select us
千家信息网最后更新 2026年11月01日Oracle日常巡检维护中常用的一些STUFF

查看oracle版本

select banner from sys.v_$version;

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

查看不同用户的连接数

select username,count(username) from v$session where username is not null group by username;

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

查询oracle的并发连接数
select count(*) from v$session where status='ACTIVE';

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

Oracle数据库中表的导入导出操作:

以Windows下的数据库为例(用cmd方式):

导出表:

1.导出整个数据库

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' full=y

2.导出单表或多表

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' tables=t1[(t1,t2,t3)]

3.导出数据库中一个或多个用户下的表

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' owner=(system,sys)

4.将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' tables=(table1) query=\" where filed1 like '00%'\"

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

导入表:

将E:\xxx.dmp 中的数据导入某数据库中。

imp 导表的用户名/密码@实例名 file=e:\xxx.dmp

imp 导表的用户名/密码@实例名 full=y file=e:\xxx.dmp ignore=y

在后面加上 ignore=y 忽略导入的报错,直接导入。

2 将e:\xxx.dmp中的表table1 导入

imp 导表的用户名/密码@实例名 file=e:\xxx.dmp tables=(table1)

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

Linux的话直接exp,imp根据提示操作,效果也是一样的。如果通过语句,可以现在emedit上写好直接复制黏贴即可。

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

数据库中查看版本:

select * from v$version;

Linux下查看ORACLE版本信息:

file $ORACLE_HOME/bin/oracle

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

数据库服务器查看字符集:

select * from nls_database_parameters;

其中NLS_CHARACTERSET下面的就是该数据库服务器的字符集

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

查看表空间xxx使用情况:(需sysdba权限):

select /*+ ordered use_merge(a,b) */

a.tablespace_name 表空间名,

total/(1024*1024) 表空间大小,

(total-free)/(1024*1024) 表空间使用大小,

free/(1024*1024) 表空间剩余大小,

round((total-free)/total,4)*100 "使用率%"

from (select tablespace_name,sum(bytes) free from dba_free_space

group by tablespace_name) a,

(select tablespace_name,sum(bytes) total from dba_data_files

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name

and a.tablespace_name = 'xxx';

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

查看当前用户下的表空间:(非sysdba)

select

a.bytes/1024/1024 "used(MB)",

b.bytes/1024/1024 "free(MB)",

a.bytes/1024/1024+b.bytes/1024/1024 "total(MB)"

from user_ts_quotas a,user_free_space b

where a.TABLESPACE_NAME=b.TABLESPACE_NAME and a.TABLESPACE_NAME='XXX';

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

查看当前角色XXX所具有的权限:

select * from dba_sys_privs where grantee='XXX';

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

查看当前用户所具有的角色:

select * from user_role_privs;

select * from session_privs;

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

查看当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs;

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

查看哪些用户具有sysdba或sysooper权限:

select * from V$PWFILE_USERS;

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

查看用户为XXX的表空间配额。(-1为不受限制)

select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='XXX';

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

设定用户mc的表空间配额限为100M:

alter user mc quota 100M on tablespacname;

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

设定用户mc的表空间配额为无限制:

alter user mc quota unlimited on tablespacname;

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

赋予用户mc配置表空间无限额的权限:

grant unlimited tablespace to mc;

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

查看当前数据库的实例名:

select instance_name from v$instance;

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

修改用户表空间和临时表空间:

ALTER USER SCOTT DEFAULT TABLESPACE USERS;

ALTER USER SCOTT TEMPORARY TABLESPACE TEMP;

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

查看当前用户缺省的表空间:

select username,default_tablespace from user_users;

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

查看归档是否开启;开启/关闭归档:

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

查看归档:

sqlplus>archive log list;

开启归档

sqlplus>shutdown immediate;(启动归档前先要停止数据库)

sqlplus>startup mount;(数据库以mount方式启动)

sqlplus>alter database archivelog;(启动数据库归档)

sqlplus>alter system set log_archive_dest_1="/arch"(改变路径,使用盘符)

sqlplus>alter database open;(打开数据库)

sqlplus>archive log list;(查看归档是否已经打开)

关闭归档

alter database noarchivelog;

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

查看归档日志使用情况:

select * from v$flash_recovery_area_usage;

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

查看用户账户状态:

select username,account_status from dba_users where username in ('DBSNMP','SYSMAN');

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

查看REDO日志位置、状态,以及添加、删除REDO日志组方法:

位置:

select * form v$logfile;

状态:

select group#,thread#,bytes/1024/1024,status from v$log;

:添加

alter database add logfile group 1|2|3|4('/u01/oracle/oradata/mcocp/redo01|02|03|04') size 100m;

删除:

alter database drop logfile group 1|2|3|4;

注:oracle11g默认的redo logsize为50M

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

用户 数据 数据库 空间 实例 密码 用户名 权限 大小 日志 版本 状态 配额 位置 字符 字符集 情况 方式 服务器 角色 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 广州为想互联网科技有限公司 互联网是不是新科技 互联网络科技有限公司 奇酷互联网科技公司 成都互联网科技公司 智慧科技互联网 科技互联网创业计划书 甘肃拓世互联网科技有限公司 青海省互联网新科技 互联网大会黑科技排名 健康食品互联网创新科技园项目 燊美集互联网科技有限公司 允成互联网科技有限公司融资 河南住房之家互联网科技 互联网时代的科技公司 有人说阿里系是互联网科技企业 南京一网一红互联网科技有限公司 银川新华互联网科技学校是国营吗 陕西彩京云互联网科技有限公司 科技信息互联网 北京互联网科技 杭州互联网科技公司 迪茉互联网科技 汇久创客互联网科技 互联网金融和金融科技 互联网科技公司做什么 从那以后互联网科技有限公司 珠海东科互联网科技有限公司 张家口科技产业互联网平台
0