1、ORACLE实例启动、停止
SQL>startup; #启动ORACLE实例
SQL>shutdown immediate; #关闭ORACLE实例,常用。阻止新用户连接且阻止已连接用户建立新事务;回退未提交的事务;强制关闭用户连接、卸载数据库,并终止实例。
SQL>shutdown abort;# 建议immediate停止失败的情况下使用
2、ORACLE 监听启停
lsnrctl status 查看ORACLE监听状态
lsnrctl start 启动ORACLE监听
lsnrctl stop 关闭ORACLE监听
3、查看ORCLE实例和数据库状态
SQL>select status from v$instance;
SQL>select open_mode from v$database;
4、查看ORACLE版本
SQL>select * from v$version;
5、查看ORACLE相关参数
SQL>show parameter processes;
SQL> show parameter sga;
SQL> select name,value from v$parameter where name='processes';
6、修改ORACLE参数
SQL> alter system set processes=1500 scope=spfile; #重启ORACLE使修改参数生效
7、查看数据文件和大小
SQL>select bytes/1024/1024/1024 as "Size(G)",name from v$datafile order by bytes;
8、查看临时文件和大小
SQL> select bytes/1024/1024/1024 as "Size(G)",name from v$tempfile order by bytes;
9、创建、删除、解锁ORACLE用户和修改ORACLE用户密码
SQL> create user username identified by password default tablespace tablespace; #创建oracle数据库用户,
SQL> drop user username cascade; #删除oracle用户
SQL> alter user username account unlock; #解锁oracle用户
SQL>alter user username identified by new_password; #修改oracle用户密码
10、查看ORACLE执行计划、执行时间
SQL>set autotrace on; #打开跟踪SQL执行计划
SQL>select username from dba_users; #跟踪的SQL
SQL>set autotrace off;
SQL> set timing on; #打开执行时间统计
11、查看alter日志位置
SQL>show parameter background_dump_dest;
SQL>select name,value from v$parameter v where v.name like '%background%';
12、创建数据表空间、临时表空间、回滚表空间
SQL>create tablespace tablespacename datafile '/home/oracle/tablespace.dbf' size 1024M; #创建数据表空间
SQL>create temp tablespae temp tempfile '/home/oracle/temp.dbf' size 1024M; #创建临时表空间
SQL> create undo tablespace undotbs datafile '/home/oracle/undotbs.dbf' size 1024M; #创建回滚表空间
13、扩展数据表空间、临时表空间
SQL>alter tablespace tablespacename add datafile '/home/oracle/add_tablespacename.dbf' size 1024M; #增加数据文件方式,不允许自动增长
SQL> alter tablespace tablespacename add datafile '/home/oracle/add_tablespacename.dbf' size 1024M autoextend on next 5M maxsize 2048M; #增加数据文件方式且允许自动增长
SQL> alter database datafile '/home/oracle/tablespace.dbf' autoextend on next 5M maxsize 2048M; #允许已存在的数据文件自动扩展
SQL> alter database datafile '/home/oracle/tablespace.dbf' resize 2048M; # 改变当前数据文件大小
#调整临时表空间文件
SQL> alter tablespace temp add tempfile '/home/oracle/temp2.dbf' size 2048M; #扩展临时表空间大小,默认autoextend off
SQL> alter tablespace temp add tempfile '/home/oracle/temp2.dbf' size 1024M antoextend on next 128M maxsize 2048M; #扩展临时表空间大小
SQL> alter database tempfile '/home/oracle/temp.dbf' resize 2048M;
14、查看表空间文件大小
SQL> select sum(d.bytes)/1024/1024/1024 ||'G' as total_bytes,d.tablespace_name from dba_datafiles d where d.tablespace_name = 'UNDOTBS' group by d.tablespace_name;
15、ORACLE用户进程杀死,常用于drop数据库用户失败时查询进程
SQL> set line 120
SQL>col username for a30;
SQL>select sid,serial#,username,type from v$session;
or
SQL>select sid,serial# from v$session where username='USERNAME';
SQL>alter system kill session 'sid, serial#';
16、删除表空间
SQL> drop tablespace tablespacename including contents and datafiles;
17、查看ORACLE实例默认临时表空间
SQL>select property_name,property_value from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
SQL>alter database default temporary tablespace temp2;#修改oracle实例默认临时表空间,不能直接删除,需先创建新的临时表空间、修改后再删除
18、查看用户的默认表空间和默认临时表空间、用户状态(密码是否过期、用户是否被锁)
SQL>select username, default_tablespace, temporary_tablespace from dba_users;
SQL>select username,account_status from dba_users;
状态包括(0 OPEN、1 EXPIRED、2 EXPIRED(GRACE)、4 LOCKED(TIMED)、8 LOCKED),OPEN状态表示用户处于正常状态。LOCKED和LOCKED(TIMED)表示用户被锁定状态。EXPIRED和EXPIRED(GRACE)表示用户密码过期状态。
19、查看ORACLE补丁版本号
oracle$ $ORACLE_HOME/opatch lsinventory
20、查看用户表占用空间大小
SELECT SEGMENT_NAME TABLE_NAME,SUM(BYTES)/(1024*1024) "TABLE_SIZE[MB]"
FROM USER_SEGMENTS
WHERE SEGMENT_TYPE='TABLE' AND SEGMENT_NAME='TABLE_NAME'
GROUP BY SEGMENT_NAME;
SELECT SEGMENT_NAME TABLE_NAME,SUM(BYTES)/(1024*1024) "TABLE_SIZE[MB]"
FROM DBA_SEGMENTS
WHERE SEGMENT_TYPE='TABLE' AND SEGMENT_NAME='TABLE_NAME'
GROUP BY SEGMENT_NAME;
21、索引统计更新
SQL>ANALYZE TABLE OWNER.TABLE_NAME COMPUTE STATISTICS;
SQL>EXEC DBMS_STATS.GATHER_TABLE_STATS('OWNER','TABLE_NAME');