数据库管理员DBA 应该知道的命令, 大有帮助

1 运行SQLPLUS工具
sqlplus

2 以OS的默认身份连接
/ as sysdba

3 显示当前用户名
show user

4 直接进入SQLPLUS命令提示符
sqlplus /nolog

5 在命令提示符以OS身份连接
connect / as sysdba

6 以SYSTEM的身份连接
connect system/xxxxxxx@服务名

7 显示当然用户有哪些表
select * from tab;

8 显示有用户名和帐户的状态
select username,account_status from dba_users;

9 将SCOTT帐号解锁(加锁)
alter user scott account unlock(lock);

10 以SCOTT的身份连接并且查看所属表
connect scott/tiger
select * from tab;


11 查看EMP的表结构及记录内容
desc emp
select empno,ename from emp;

12 以OS的身份登看SGA,共享池,CACHE的信息
connect / as sysdba
show sga
select name,value/1024/1024 from v$sga;
show parameter shared_pool_size
select value/1024/1024 from v$parameter where name ='shared_pool_size';
show parameter db_cache_size
select value/1024/1024 from v$parameter where name ='db_cache_size';

13 查看所有含有SIZE的信息
show parameter size
bitmap_merge_area_size integer 1048576
create_bitmap_area_size integer 8388608
db_16k_cache_size big integer 0
db_2k_cache_size big integer 0
db_32k_cache_size big integer 0
db_4k_cache_size big integer 0
db_8k_cache_size big integer 0
db_block_size integer 4096
db_cache_size big integer 33554432
db_keep_cache_size big integer 0
db_recycle_cache_size big integer 0

NAME TYPE VALUE
------------------------------------ ----------- -------------
global_context_pool_size string
hash_area_size integer 1048576
java_max_sessionspace_size integer 0
java_pool_size big integer 33554432
large_pool_size big integer 8388608
max_dump_file_size string UNLIMITED
object_cache_max_size_percent integer 10
object_cache_optimal_size integer 102400
olap_page_pool_size integer 33554432
oracle_trace_collection_size integer 5242880
parallel_execution_message_size integer 2148

NAME TYPE VALUE
------------------------------------ ----------- -------------
sga_max_size big integer 143727516
shared_pool_reserved_size big integer 2516582
shared_pool_size big integer 50331648
sort_area_retained_size integer 0
sort_area_size integer 524288
workarea_size_policy string AUTO


14 显示SGA的信息
select * from v$sgastat;
POOL NAME BYTES
----------- -------------------------- ----------
fixed_sga 453532
buffer_cache 33554432
log_buffer 656384
shared pool subheap 46884
shared pool KGK heap 3756
shared pool KQR M PO 586792
shared pool KQR S PO 180232
shared pool KQR S SO 5128
shared pool sessions 410720
shared pool sql area 2144664
shared pool 1M buffer 2098176

POOL NAME BYTES
----------- -------------------------- ----------
shared pool KGLS heap 901756
shared pool parameters 8352
shared pool free memory 38687204
shared pool PL/SQL DIANA 420816
shared pool FileOpenBlock 695504
shared pool PL/SQL MPCODE 135692
shared pool library cache 2985576
shared pool miscellaneous 4889396
shared pool MTTR advisory 21164
shared pool PLS non-lib hp 2068
shared pool XDB Schema Cac 4966300

POOL NAME BYTES
----------- -------------------------- ----------
shared pool joxs heap init 4220
shared pool kgl simulator 563260
shared pool sim memory hea 44184
shared pool table definiti 1728
shared pool trigger defini 1896
shared pool trigger inform 1140
shared pool trigger source 448
shared pool type object de 69120
shared pool Checkpoint queue 282304
shared pool VIRTUAL CIRCUITS 265160
shared pool dictionary cache 1610880

POOL NAME BYTES
----------- -------------------------- ----------
shared pool KSXR receive buffers 1033000
shared pool character set object 323724
shared pool FileIdentificatonBlock 323292
shared pool message pool freequeue 834752
shared pool KSXR pending messages que 841036
shared pool event statistics per sess 1718360
shared pool fixed allocation callback 180
large pool free memory 8388608
java pool free memory 33554432

已选择42行。

15 显示PGA的信息
select * from v$pgastat;
NAME VALUE UNIT
---------------------------------------------------------------- ---------- ---------
aggregate PGA target parameter 16777216 bytes
aggregate PGA auto target 7640064 bytes
global memory bound 838656 bytes
total PGA inuse 8293376 bytes
total PGA allocated 13106176 bytes
maximum PGA allocated 22090752 bytes
total freeable PGA memory 0 bytes
PGA memory freed back to OS 0 bytes
total PGA used for auto workareas 0 bytes
maximum PGA used for auto workareas 4096 bytes
total PGA used for manual workareas 0 bytes

NAME VALUE UNIT
---------------------------------------------------------------- ---------- ---------
maximum PGA used for manual workareas 4096 bytes
over allocation count 0
bytes processed 8783872 bytes
extra bytes read/written 0 bytes
cache hit percentage 100 percent

已选择16行。

17 在$ORACLE_HOME/sqlplus/admin/glogin.sql中加入环境变量,以后每次启动生效
define _editor=vi
set line 2000


18 将当前命令随加到文件中
save c:a.sql append

19 将指定文件的命读出缓冲区
get c:a.sql

20 执行脚本语句
@ c:a.sql

21 将输入保存到指定文件中
spool c:O.LOG
select * from v$sga;
spool off

22 设定行大小
set linesize 2000

23 设定页大小
set pagesize 10

24 设定字符列格式
col ename format a30

25 设定数字列格式
col sal format 999,999.999

26 10G查看文件$ORACLE_HOME/install/protlist显示端口
http://127.0.0.1:5560/isqlplus
9i查看文件$ORACLE_HOME/Apache/Apache/ports.ini显示端口
http://127.0.0.1:7778/isqlplus
http://127.0.0.1:7778/isqlplusdba

27 启动Oracle 9i监听程序
Oracle的监听程序主要是为客户端的连接提供接口
$ lsnrctl start

28 关闭Oracle 9i监听程序
$ lsnrctl stop

29 启动Oracle Web Server
$ cd $ORACLE_HOME/Apache/Apache/bin
$ ./startJServ.sh
/database/oracle/product/9i/Apache/Apache/bin/apachectl start: httpd started

30 关闭Oracle Web Server
$ cd $ORACLE_HOME/Apache/Apache/bin
$ ./stopJServ.sh
/database/oracle/product/9i/Apache/Apache/bin/apachectl stop: httpd stopped

31 启动Oracle Web Server后默认的端口号是7777
unix
cd $ORACLE_HOME/Apache/Apache/bin/
htpasswd $ORACLE_HOME/sqlplus/admin/iplusdba.pw admin
windows
cd D:oracleora92ApacheApachebin
htpasswd D:oracleora92/sqlplus/admin/iplusdba.pw admin
New password: *****
Re-type new password: *****
Adding password for user admin

32 pfile: $ORACLE_BASE/admin/实例名/Pfile
spfile: $ORACLE_HOME/dbs
监听器配置文件:listener.ora: $ORACLE_HOME/network/admin/
tnsnames.ora: $ORACLE_HOME/network/admin/

33 指定用户的表空间
SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME='用户名'


34 当前用户
select user from dual;show user

35 当前用户的缺省表空间
SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME=(select user from dual);

37 显示正在使用的初始化参数文件
show parameter spfile

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string %ORACLE_HOME%DATABASESPFILE%
ORACLE_SID%.ORA
38 用SPfile转Pfile
create pfile='c:init.ora' from spfile;
create pfile from spfile;
UNIX将生成在$ORACLE_HOME/dbs目录下
WINDOWS将生成在$ORACLE_HOME/DATABASE目录下

39 显示cache的值
show parameter cache
前面两个下划线的是动态调整的参数
前面一个下划线的是内部参数

40 显示正在使用的参数和文本参数值
select * from v$parameter;
select * from v$spparameter;

41 显示动态性能视图的结构
desc v$parameter;
名称
NUM
NAME
TYPE
VALUE
ISDEFAULT
ISSES_MODIFIABLE
ISSYS_MODIFIABLE
ISMODIFIED
ISADJUSTED
DESCRIPTION
UPDATE_COMMENT

42 有条件的显示动态参数
select * from v$parameter where name like '%db_cache%';

43 修改参数语句
alter system set sga_max_size=256m scope=spfile; &&写入SPFILE,重启生效
alter system set sga_max_size=256m scope=memory; &&写入内存区,立即生效
alter system set sga_max_size=256m scope=both; &&即写入内存区,又写入SPFILE,默认为BOTH.

44 动态调整large_pool_size的语句
alter system set large_pool_size=16M;

45 当前正在使用的SGA的大小
select sum(bytes)/1024/1024 from v$sgastat;

46 设置db_cache_size的大小保存在SPFILE
alter system set db_cache_size=128m scope=spfile;

47 设置shared_pool_size的大小保存在SPFILE中
alter system set shared_pool_size=80m scope=spfile;

48 显示PGA的状态
select * from v$pgastat;
show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 16777216

49 带PFILE来启动资料库,?代表ORACLE的主目录
startup pfile=?databaseinitmydb.ora

50 显示当前数据库的状态,mount的状态下就可以查看数据库的状态
select open_mode from v$database;

51 显示当前实例 nomount状态下就可以查看实例
select * from v$instance;

52 显示 background_dump_dest的路径 ,
show parameter background_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_dump_dest string D:oracleadminthwerpbdump

53 显示当有用户的表
select * from user_tables;

54 显示当有用户可以访问表
select * from all_tables;

55 显示用户为SCOTT的表
select * from dba_tables where owner='SCOTT';

56 显示所有用户信息
select * from dba_users;

57 建立用户并指定密码
create user edpthw identified by edpthw;

58 给用户授权
grant connect,resource to edpthw;

59 建立一个表
create table a(a int);

60 显示数据字典中表名为USER开头的表名
select table_name from dict where table_name like 'USER%';

61 在UNIX下oerr ora 错误号查看错误的帮助信息.

62 在unix 查看日志中有哪些错误
grep ORA alert_PROD.log|tail -10

63 显示当前实例
SELECT * FROM V$INSTANCE;

64 显示当前数据库信息
SELECT * FROM V$DATABASE;

65 显示当前ORACLR资料的版本
SELECT * FROM V$VERSION;

66 显示当前的选项
SELECT * FROM V$OPTION;

67 显示当前实例的初始化参数
SELECT * FROM V$PARAMETER;

68 显示数据文件
SELECT * FROM V$DATAFILE;

69 显示日志文件
SELECT * FROM V$LOGFILE

70 显示控制文件
SELECT * FROM V$CONTROLFILE;

71 显示当有有哪些会话
SELECT * FROM V$SESSION;

72 显示当前有哪些进程
SELECT * FROM V$PROCESS;

73 显示当前后台进程
SELECT * FROM V$BGPROCESS;

74 显示SGA的大小
SELECT * FROM V$SGA;

75 显示SGA的统计数
SELECT * FROM V$SGASTAT;

76 显示PGA的统计数
SELECT * FROM V$PGASTAT;

77 显示有哪些控制文件
SHOW PARAMETER CONTROL_FILES;

78 增加一个控制文件一定要在NOMOUNT状态下进行.语句如下.
alter system set control_files='D:ORADATAMYDBCONTROL01.CTL',
'D:ORADATAMYDBCONTROL02.CTL',
'D:ORADATAMYDBCONTROL03.CTL',
'E:CONTROL04.CTL' SCOPE=SPFILE;

alter system set control_files='D:oracleoradatathwerpCONTROL01.CTL',
'D:oracleoradatathwerpCONTROL02.CTL',
'D:oracleoradatathwerpCONTROL03.CTL',
'D:oracleoradatathwerpCONTROL04.CTL' scope=spfile;

79 数据重新启动
STARTUP FORCE

80 显示当前控制文件
SELECT * FROM V$CONTROLFILE;
SHOW PARAMETER CONTROL

81 删除一个控制文件
alter system set control_files='D:ORADATAMYDBCONTROL01.CTL',
'D:ORADATAMYDBCONTROL02.CTL',
'D:ORADATAMYDBCONTROL03.CTL' SCOPE=SPFILE

82 显示当前使用的日志
SELECT * FROM V$LOG;

83 显示实例的归档模式
ARCHIVE LOG LIST;

84 显示重做日志文件
SELECT * FROM V$LOGFILE;

85 手工切换重做日志文件
ALTER SYSTEM SWITCH LOGFILE;

86 发出检查点
ALTER SYSTEM CHECKPOINT;

87 显示重做日期的历史记录
select * from v$log_history;

88 更改会语的日期格式
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

89 增加日志组
ALTER DATABASE ADD LOGFILE GROUP 4 ( 'D:ORADATAMYDBredo4.log') SIZE 10240K;

92 删除日志组
ALTER DATABASE DROP LOGFILE GROUP 4 ;


90 增加日志组成员
ALTER DATABASE ADD LOGFILE MEMBER 'D:ORADATAMYDBredo11.log' TO GROUP 1;

91 删除日志组成员
ALTER DATABASE DROP LOGFILE MEMBER 'D:ORADATAMYDBredo14.log' ;


92 显示系统表空间
select * from dba_tablespaces;

93 显示系统表空间所拥有的文件
select * from dba_data_files;

94 显示系统临时表空间
select * from dba_temp_files;

95 显示表空间的已被使用多少
select tablespace_name,sum(bytes)/1024/1024 m
from dba_data_files group by tablespace_name;

96 显示表空间还有多少没有使用
select tablespace_name,
sum(bytes)/1024/1024 m
from dba_free_space group by tablespace_name;

97 创建表空间
10G CREATE BIGFILE TABLESPACE "MYTBS1" DATAFILE 'D:ORADATAMYDBmytbs_01.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
9I CREATE TABLESPACE "MYTBS1" DATAFILE 'D:oracleORADATAthwerpmytbs_01.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
CREATE SMALLFILE TABLESPACE "MYTBS1" DATAFILE 'D:ORADATAMYDBmytbs_01.dbf' SIZE 100M , 'D:ORADATAMYDBmytbs02.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

98 在指字表空间里建表
create table t1 (a int) tablespace mytbs1;

99 在指字表空间里建索引
create index t1_ind on t1(a) tablespace mytbs1;

100 在指定表空间里增加数据文件
ALTER TABLESPACE "MYTBS1" ADD DATAFILE 'D:ORADATAMYDBmytbs03.dbf' SIZE 100M

100 修改表空间的大小
ALTER DATABASE DATAFILE 'D:ORADATAMYDBMYTBS_01.DBF' RESIZE 200M

101 表空间改文件的自动扩展
ALTER DATABASE DATAFILE 'D:ORADATAMYDBMYTBS03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED

102 删除表空间和表空间所属文件
drop tablespace mytbs1 including contents and datafiles;

103 建立临时表空间
CREATE SMALLFILE TEMPORARY TABLESPACE "MYTEMP" TEMPFILE 'D:oracleORADATAthwerpmytemp01.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M
CREATE TEMPORARY TABLESPACE "MYTEMP" TEMPFILE 'D:oracleORADATAthwerpmytemp01.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M

104 更改用户的临时表空间
ALTER USER "GARY" TEMPORARY TABLESPACE "MYTEMP"

105 设置成默认的表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "MYTEMP"

106 创建临时表空间组
ALTER TABLESPACE MYTEMP TABLESPACE GROUP MYTEMP_GROUP
ALTER TABLESPACE TEMP TABLESPACE GROUP MYTEMP_GROUP

107 创建重做表空间
CREATE UNDO TABLESPACE "MYUNDO" DATAFILE 'D:ORADATAMYDBmyundo01.dbf' SIZE 200M

108 显示重做参数
show parameter undo

109 回滚段的使用情况
select * from dba_rollback_segs;

110 更改重做表空间
alter system set undo_tablespace=myundo;

111 建立一个表
create table a tablespace users as select * from dba_objects;

112 插入一些记录
insert into a select * from a;

113 有条件查询表名放在哪个表空间
select * from dba_tables where table_name='A' and owner='SYS';

114 有条件查询段名放在哪个表空间
select * from dba_segments where segment_name='A' and owner='SYS';

115 查询有哪些段类型
select distinct segment_type from dba_segments;

116 查询段和表空间的对应关系
select * from dba_extents where segment_name='A' and owner='SYS';

117 建立一个16K表空间
CREATE TABLESPACE "MYTBS3" DATAFILE 'D:oracleORADATAthwerpmytbs3.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO BLOCKSIZE 16384;

118 指字参数建立表
create table b (a int,b varchar2(10)) tablespace users INITRANS 2 PCTFREE 5;

119 显示当前所使用的块大小
show parameter block_size;

120 释放表的高水位的空间
alter table a deallocate unused;

121 高水位前移.速度快
truncate table a;

122 分配空间给表
alter table a allocate extent (datafile 'D:ORADATAMYDBusers01.dbf' size 1m);

123 指定参数建立表
create table C (a int) tablespace system pctfree 10 pctused 60 storage(freelists 2);
CREATE TABLE "SYS"."D" ( "A" VARCHAR2(10)) TABLESPACE "SYSTEM" PCTFREE 5 PCTUSED 60 INITRANS 2 MAXTRANS 100 STORAGE ( FREELISTS 2)
124 生成一个测试表
create table a tablespace users as select * from dba_objects;

125 查看表行的物理地址
select rowid form a;

126 用包的命令查看表行的物理地址
select DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID),DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID),DBMS_ROWID.ROWID_ROW_NUMBER(ROWID) FROM A

127 建立表索引
CREATE INDEX A_IND ON A(OBJECT_NAME) TABLESPACE MYTBS2;

128 查看表的索引
SELECt * FROM DBA_INDEXES WHERE TABLE_NAME='A';
SELECT * FROM DBA_SEGMENTS WHERE SEGMENT_NAME='A_IND';

129 移动重组表空间
ALTER TABLE A MOVE TABLESPACE USERS;

130 重建表索引
ALTER INDEX A_IND REBUILD;

131 设置行可以内部移动属性
ALTER TABLE A ENABLE ROW MOVEMENT;

132 在原地进行行的移动
ALTER TABLE A SHRINK SPACE;

133 查看表所存储的信息
SELECT BYTES FORM DBA_SEGMENTS WHERE SEGMENT_NAME='A';
SELECT OWNER,SEGMENT_NAME,BYTES FROM DBA_SEGMENTS WHERE SEGMENT_NAME='A';

134 截取表
TRUNCATE TABLE A;

135 删除表
DROP TABLE A CASCADE CONSTRAINTS;

136 显示垃圾桶(10G才有)
show recyclebin
SELECT * FROM DBA_RECYCLEBIN;
SELECT * FROM USER_RECYCLEBIN;

137 恢复已删除的表
flashback table a to before drop;

138 恢复较早已前的已删除的表
flashback table "BIN$hWrBq1irS0COp10n22NZJg==$0" to before drop rename to a1;

139 查询指定表的索引
select * from dba_indexs where table_name='A';

140 清除垃圾桶
PURGE RECYCLEBIN;
PURGE DBA_RECYCLEBIN;

141 删除表并清除垃圾桶(10G)
DROP TABLE A PURGE;

142 删除表的列
ALTER TABLE A DROP COLUMN COMMENTS CASCAGE CONSTRAINTES CHECKPOINT 1000;


143 重命名列
ALTER TABLE A RENAME COLUMN HIRE_DATE TO START_DATE;

144 标记不可使用的列
ALTER TABLE A SET UNUSED COLUMN COMMENTS CASCADE CONSTRAINTS;

145 删除不再使用的的列
ALTER TABLE A DROP UNUSED COLUMNS CHECKPOINT 10000;

146 继续列的删除操作
ALTER TABLE A DROP COLUMNS CONTINUE CHECKPOINT 10000;

147 增加表的主索引
ALTER TABLE A ADD PRIMARY KEY (OBJECT_ID);

148 删除表的主索引
ALTER TABLE A DROP PRIMARY KEY;

149 索引表的主索引并指定索引所使用的表空间
ALTER TABLE A ADD PRIMARY KEY (OBJECT_ID) USING INDEX TABLESPACE USERS;

150 建立一个普通索引
CREATE INDEX A_NAME_IND ON A(OWNER,OBJECT_NAME);

151 建立一个函数索引
SELECT /*+ INDEX(A A_NAME2_IND) */ * FROM A WHERE UPPER(OBJECT_NAME)='A';

152 建立一个位图索引
CREATE BITMAP INDEX A_NAME_BT ON A(OWNER);

153 查询数据库的信息
SELECT /*+ INDEX(A A_NAME_BT) */ * FROM A WHERE OWNER='SYS' OR OWNER='SYSTEM';
SELECT /*+ FULL(A) */ * FROM A WHERE OWNER='SYS' OR OWNER='SYSTEM';

154 生成一个脚本来建立索引重整
SELECT 'ALTER INDEX '||INDEX_NAME||' COALESCE;' FROM DBA_INDEXES WHERE TABLE_NAME='A' AND OWNER='SYS'
SELECT 'ALTER INDEX '||INDEX_NAME||' REBUILD ONLINE;' FROM DBA_INDEXES WHERE TABLE_NAME='A' AND OWNER='SYS'

155 显示所有用户的信息
SELECT * FROM DBA_USERS;

156 显示当前数据库的用户
SELECT USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE FROM DBA_USERS;

160 建立一个新用户
create user edpthw identified by "123456"
default tablespace users
temporary tablespace temp
quota unlimited on users
quota 10m on mytbs2;

161 查询限额信息
select * from dba_ts_quotas;
select * from user_ts_quotas;

162 用户改密码
alter user edpthw identified by edpthw;

163 锁用户
alter user edpthw account lock;

164 使密码过期,迫使改下一次进入改密码
alter user edpthw password expire;

165 取消限额
alter user edpthw quota unlimited on mytbs2;

166 删除用户
drop user hmtong cascade;

167 授权用户
grant create session,create table,create view to edpthw;

168 分别授权
GRANT CREATE ANY TABLE TO "hmtong"
GRANT CREATE TABLE TO "hmtong"
GRANT DROP ANY TABLE TO "hmtong"
GRANT SELECT ANY TABLE TO "hmtong"

169 折消授权
REVOKE UNLIMITED TABLESPACE FROM "hmtong"

170 对象授权
GRANT SELECT ON "hmtong"."A" TO "edpthw"

171 折消对象授权
REVOKE SELECT ON "hmtong"."A" FROM "edpthw"

172 取消进入系统直接用默认密码,而一定要自己输入密码才可以进入
unix $ORACLE_HOMENETWORKADMINSQLNET.ORA
windows D:oracleproduct10.1.0Db_1NETWORKADMINSQLNET.ORA
SQLNET.AUTHENTICATION_SERVICES= (NTS,NONE)
修改$ORACLE_HOME/network/admin/sqlnet.ora文件
  将原有的:SQLNET.AUTHENTICATION_SERVICES= (NTS)
  改为:SQLNET.AUTHENTICATION_SERVICES= (NONE)
  或者直接注释:#SQLNET.AUTHENTICATION_SERVICES= (NTS)

173 查询Pwfile中存放的用户信息
select * from v$pwfile_users;

174 授权sysdba给指定用户
grant sysdba to hmtong;

175 取消指定用户的sysdba权限
revoke sysdba from hmtong;

176 修改系统的授权的属性
alter system set remote_login_passwordfile=exclusive; 能sysdba登录,能授权
alter system set remote_login_passwordfile=shared scope=spfile; 只能sysdba登录,不能授权
alter system set remote_login_passwordfile=NONE; 取消

177 重建口令文件
orapwd file=PWDmydb.ora password=itpub

178 创建一个用户
create user hmtong identified by abcdefg;

179 授权连接给指定用户
GRANT "CONNECT" TO "hmtong";
GRANT UNLIMITED TABLESPACE,CONNECT,RESOURCE TO HMTONG;

180 创建表
create table t1(a int);
create table t2(a int);

181 查看系统特权
select * from user_sys_privs;

182 查看对象特权
select * from user_tab_privs;

183 查看被授予的角色
select * from user_role_privs;

184 查看角色的有什么权限
select * from role_sys_privs;

185 查看角色的有哪些表
select * from role_tab_privs;

186 查看当前会话的权限
select * from session_privs;

187 监听器的状态
lsnrctl start
$ORACLE_HOME/network/admin/listener.ora

188 监听器的启动和关闭
lsnrctl start [名字]
lsnrctl stop [名字]

189 监听器的状态和服务信息
lsnrctl stat
lsnrctl service

190 配置监听器的工具
netca
netmgr

192 动态注册监听器
alter system register;

193 配置监听器的两个参数
show parameter local_listener
show parameter remote_listener

194 追加设置一个服务名,服务名可以多个对应一个实例
alter system set service_names=mydb,appdb

195 客户连接配置文件
$ORACLE_HOME/network/admin/tnsname.ora

196 检查指定的监听器是否存在
TNSPING MYDB


197 将SQLNET.ORA配置好就可以connect system/[email protected]:1521/testdb1方式连接
SQLNET.AUTHENTICATION_SERVICES= (NTS,NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES,EZCONNECT)

198 快速重启资料库
shutdown immediate

199 将资料库开启到mount的状态
startup mount

200 显示数据库的归档还是非归档模式
archive log list
数据库日志模式 存档模式
自动存档 禁用
存档终点 D:oracleora92RDBMS
最早的概要日志序列 64
下一个存档日志序列 69
当前日志序列 69

201 在数据库mount的状态下更改数据库的归档模式
alter database archivelog; 归档
alter database noarchivelog; 非归档

202 打开数据库
alter database open;

203 查看归档的路径的
SQL> show parameter log_archive_dest_x

204 动态的配置归档路径在两个不同的目录下同时归档
alter system set log_archive_dest_1='location=e:archive';
alter system set log_archive_dest_2='location=d:archive';

205 切换系统的下一个日志文件
alter system switch logfile; (10G就会产生归档文件)

206 定义自动归档
alter system set log_archive_start=true scope=spfile; (9i)(10G不用设)

207 查看数据库的归档的信息
select * from v$log;

208 查看曾经做过哪些归档及路径
select * from v$archived_log;

209 查看有哪还没有做归档的信息
select * from v$archive;

210 设置归档路径2暂时不归档和启用归档
alter system set log_archive_dest_state_2=defer;
alter system set log_archive_dest_state_2=enable;

211 查看最少路径归档数目的参数
show parameter log_archive_min_succeed_dest

212 查看归档路径的文件名格式参数
show parameter log_archive_format

213 查改归档文件名的格式
alter system set log_archive_format='mydb_%s_%r_%t.log' scope=spfile;

214 显示出快速恢复区的大小和路径
show parameter db_recovery_file_dest
show parameter db_recovery_file_dest_size

215 更改归档路径到到快速恢复区
alter system set log_archive_dest_1='location=use_db_recovery_file_dest';

216 更改快速恢复区的路径
alter system set db_recovery_file_dest='e:recover';

217 查看快速恢复区的使用情况
select * from v$recovery_file_dest;

218 更改快速恢复区的大小
alter system set db_recovery_file_dest_size=10g;
219 查看数据库的归档模式
select log_mode from v$database;
archive log list

220 查看归档文件的归档路径
show parameter log_archive_dest
select * from v$archive_dest;

221 查看归档文件
select * from v$archive;

222 查看曾经归档过的记录
select * from v$archived_log;

223 启动在线备份表空间
alter tablespace users begin backup;

224 查询指定表空间的文件路径
select file_name from dba_data_files where tablespace_name='USERS';

225 在SQL状态上暂时离开返回到SHELL
host ocopy user*.dbf e:backup

226 结束生成备份表空间
alter tablespace users end backup;

227 备份数据库的控制文件
alter database backup controlfile to 'e:backupcontrol01.ctl';

228 生成创建控制文件的脚本
alter database backup controlfile to trace as 'e:backupcontrol01.sql';

229 查询哪个文件需要恢复
select * from v$recover_file;

230 查询指定文件号的详细信息
select * from v$datafile where file#=6;

231 查询有哪些需要归档
select * from v$recovery_log;

232 恢复指字的数据文件
recover datafile 6;

233 创建一个例子表
create table a11 tablespace mytbs3 as select * from dba_objects;

233 查询有没有指定的文件
select * from dba_extents where file_id=6;

224 自动找到归档日志恢复相应数据文件
recover AUTOMATIC datafile 6;

225 将一个表空间设置成不可用
ALTER TABLESPACE USERS OFFLINE IMMEDIATE

226 恢复指定表空间
RECOVER TABLESPACE USERS;

227 将指定的表文件设置成不可用
ALTER DATABASE DATAFILE 6 OFFLINE;

228 将指定的表文件设置成在线
ALTER DATABASE DATAFILE 6 ONLINE;

229 创建一个测试表
CREATE TABLE TEST (A DATE);

230 插入当前系统日期
INSERT INTO TEST VALUES(SYSDATE);

231 查询TEST的值
SELECT * FROM TEST;

232 在注册表里的设置日期格式
NLS_DATE_FORMAT=YYYY-MM-DD HH24:MI:SS

233 恢复到指定的时间点
RECOVER DATABASE UNTIL TIME '2006-11-26 10:49:43';

234 打开资料库并重置重做日志
alter database open resetlogs;

235 恢复控制文件
RECOVER DATABASE using backup controlfile UNTIL cancel;

236 追加临时表空间
alter tablespace temp add tempfile 'd:oradatamydbtemp01.dbf' size 10m reuse;

237 Rman的连接
connect target /

238 显示要备份的数据库文件
report schema;

239 在RMAN的指定位置来备份文件
run {
allocate channel ch1 type disk format 'e:rman%U.bak' maxpiecesize=2g;
backup database;
}

240 在RMAN的显示威者默认设置
show all;

backup database;

241 配置缺省的路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'E:RMAN%U.BAK' MAXPIECESIZE 2G;

242 清除缺省配置
CONFIGURE CHANNEL DEVICE type DISK clear;

243 配置并行数
CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

244 配置自动备份控制文件
CONFIGURE CONTROLFILE AUTOBACKUP on;

245 配置有益度
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;

246 配置可以恢复到7天内的保留窗口
CONFIGURE RETENTION POLICY TO recovery window of 7;

247 备份表空间
backup tablespace users;

248 备份数据文件
backup datafile 6;

249 备份前一天的重做日志
backup archivelog until time 'sysdate-1';

250 备份SP文件
backup spfile;

251 备份当前的控制文件
backup current controlfile;

252 列出所有的备份集
list backupset ;

253 列出所有的汇总备份集
list backupset summary;

254 列出具体的备份信息
list backupset 16

255 删除备份集13
delete backupset 13;

256 不提示删除所有的备份集
delete noprompt backupset;

257 凡是USERS的备份都删除
delete backup of tablespace users;

258 列出哪些不需要的备份集
report obsolete ;

259 边备份边压缩数据库
backup as compressed backupset database;

260 增量备份时的0级备份一个表空间
backup incremental level 0 tablespace users;

261 2级备份累积备份
backup incremental level 2 cumulative tablespace users;

262 删除指定日期的归档日志
DELETE ARCHIVELOG UNTIL TIME 'SYSDATE-1/24';


263 在RMAN恢复指定表空间
RUN {
SQL 'ALTER TABLESPACE USERS OFFLINE IMMEDIATE';
RESTORE TABLESPACE USERS;
RECOVER TABLESPACE USERS;
SQL 'ALTER TABLESPACE USERS ONLINE';
}

264 在RMAN的恢复控制文件
STARTUP NOMOUNT
RESTORE CONTROLFILE FROM AUTOBACKUP;
ALTER DATABASE MOUNT;
RESTORE DATABASE VALIDATE;
RECOVER DATABASE ;
ALTER DATABASE OPEN RESETLOGS;

265 查询数据库的字符集
select * from database_properties where property_name like 'NLS_CHA%';
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 

266 导出数据到一个文件中
exp userid=system/oracle file=full.dmp full=y
exp userid=system/oracle file=full1.dmp,full2.dmp,full3.dmp filesize=2g full=y direct=y log=full.log feedback=10000

267 导出指定用户的表
exp userid=system/oracle file=gary.dmp owner=gary,wei direct=y log=gary
exp userid=system/oracle file=gary.dmp owner=gary direct=y log=gary.log

268 导出指定表
exp userid=system/oracle file=gary_a.dmp tables=gary.a direct=y log=gary

269 导出指定表
exp userid=system/oracle file=gary_a1.dmp tables=gary.a query='where owner=''GARY''' log=gary.LOG

270 查看导出的帮助信息
exp -help

271 删除gary的用户
drop user gary cascade;

272 重建用户GARY
CREATE USER "GARY" PROFILE "DEFAULT" IDENTIFIED BY "GARY" ACCOUNT UNLOCK

273 授权用户GARY
GRANT UNLIMITED TABLESPACE,CONNECT,RESOURCE TO "GARY";

274 导入用户GARY的数据
imp userid=system/oracle fromuser=gary touser=gary show=y
imp userid=system/oracle fromuser=gary touser=gary file=full.dmp log=imp.log
imp userid=system/oracle fromuser=gary touser=wei file=gary.dmp log=imp.log

275 查询状态
select object_name,object_type,owner from dba_objects where status='INVALID';

EXEC UTL_RECOMP.RECOMP_PARALLEL

276 建立对象,允许可以用这个目录来导入导出
create directory mydir as 'e:expdata';

277 授权用户的权限
grant read,write on directory mydir to gary;

278 导出数据
expdp userid=gary/gary dumpfile=gary directory=mydir PARALLEL=2 schemas=gary job_name=gary_job
expdp userid=gary/gary attach=gary_job

268 查询任务
SELECT * FROM V$DATAPUMP_JOB;

269 导入数据
impdp userid=system/oracle dumpfile=gary directory=mydir job_name=gary_job

 转载自脚本之家的文章, 希望对大家有帮助

猜你喜欢

转载自blog.csdn.net/xingyue0422/article/details/108875877