发牌SO 发表于 2018-9-11 10:45:55

收集的Oracle操作常用命令

  1、运行SQLPLUS工具
  sqlplus
  2、以OS的默认身份连接
  / as sysdba
  3、显示当前用户名
  show user
  4、直接进入SQLPLUS命令提示符
  sqlplus /nolog
  5、在命令提示符以OS身份连接
  conn / as sysdba
  6、以SYSTEM的身份连接
  conn system/xxxxxxx@服务名
  7、显示当然用户有哪些表
  select * from tab;
  8、显示有用户名和帐户的状态
  select username,account_status from dba_users;
  9、将SCOTT帐号解锁(加锁)
  alter user scott account unlock(lock);
  10、以SCOTT的身份连接并且查看所属表
  conn 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>  14、显示PGA的信息
  select * from v$pgastat;
  15、在$ORACLE_HOME/sqlplus/admin/glogin.sql中加入环境变量,以后每次启动生效
  define _editor=vi
  set line 2000
  16、将当前命令随加到文件中
  save c:a.sql append
  17、将指定文件的命读出缓冲区
  get c:a.sql
  18、执行脚本语句
  @ c:a.sql
  19、将输入保存到指定文件中
  spool c:O.LOG
  select * from v$sga;
  spool off
  20、设定行大小
  set linesize 2000
  21、设定页大小
  set pagesize 10
  22、设定字符列格式
  col ename format a30
  23、设定数字列格式
  col sal format 999,999.999
  24、10G查看文件$ORACLE_HOME/install/protlist显示端口
  http://127.0.0.1:5560/isqlplus
  25、9i查看文件$ORACLE_HOME/Apache/Apache/ports.ini显示端口
  http://127.0.0.1:7778/isqlplus
  http://127.0.0.1:7778/isqlplusdba
  26、启动Oracle 9i监听程序
  Oracle的监听程序主要是为客户端的连接提供接口
  $ lsnrctl start
  27、关闭Oracle 9i监听程序
  $ lsnrctl stop
  28、启动Oracle Web Server
  $ cd $ORACLE_HOME/Apache/Apache/bin
  $ ./startJServ.sh
  /database/oracle/product/9i/Apache/Apache/bin/apachectl start: httpd started
  29、关闭Oracle Web Server
  $ cd $ORACLE_HOME/Apache/Apache/bin
  $ ./stopJServ.sh
  /database/oracle/product/9i/Apache/Apache/bin/apachectl stop: httpd stopped
  30、启动Oracle Web Server后默认的端口号是7777
  unix
  cd $ORACLE_HOME/Apache/Apache/bin/
  htpasswd $ORACLE_HOME/sqlplus/admin/iplusdba.pw admin
  windows
  cd Dracleora92ApacheApachebin
  htpasswd Dracleora92/sqlplus/admin/iplusdba.pw admin
  New password: *****
  Re-type new password: *****
  Adding password for user admin
  31、pfile: $ORACLE_BASE/admin/实例名/Pfile
  spfile: $ORACLE_HOME/dbs
  监听器配置文件:listener.ora: $ORACLE_HOME/network/admin/
  tnsnames.ora: $ORACLE_HOME/network/admin/
  32、指定用户的表空间
  SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME='用户名'
  33、当前用户
  select user from dual;show user
  34、当前用户的缺省表空间
  SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME=(select user from dual);
  35、显示正在使用的初始化参数文件
  show parameter spfile
  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  spfile string %ORACLE_HOME%DATABASESPFILE%
  ORACLE_SID%.ORA
  36、用SPfile转Pfile
  create pfile='c:init.ora' from spfile;
  create pfile from spfile;
  UNIX将生成在$ORACLE_HOME/dbs目录下
  WINDOWS将生成在$ORACLE_HOME/DATABASE目录下
  37、显示cache的值
  show parameter cache
  前面两个下划线的是动态调整的参数
  前面一个下划线的是内部参数
  38、显示正在使用的参数和文本参数值
  select * from v$parameter;
  select * from v$spparameter;
  39、显示动态性能视图的结构
  desc v$parameter;
  40、有条件的显示动态参数
  select * from v$parameter where name like '%db_cache%';
  41、修改参数语句
  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.
  42、动态调整large_pool_size的语句
  alter system set large_pool_size=16M;
  43、当前正在使用的SGA的大小
  select sum(bytes)/1024/1024 from v$sgastat;
  44、设置db_cache_size的大小保存在SPFILE
  alter system set db_cache_size=128m scope=spfile;
  45、设置shared_pool_size的大小保存在SPFILE中
  alter system set shared_pool_size=80m scope=spfile;
  46、显示PGA的状态
  select * from v$pgastat;
  show parameter pga
  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  pga_aggregate_target big integer 16777216
  47、带PFILE来启动资料库,?代表ORACLE的主目录
  startup pfile=?databaseinitmydb.ora
  48、显示当前数据库的状态,mount的状态下就可以查看数据库的状态
  select open_mode from v$database;
  49、显示当前实例 nomount状态下就可以查看实例
  select * from v$instance;
  50、显示 background_dump_dest的路径 ,
  show parameter background_dump_dest
  NAME TYPE VALUE
  ------------------------------------ ----------- ------------------------------
  background_dump_dest string Dracleadminthwerpbdump
  51、显示当有用户的表
  select * from user_tables;
  52、显示当有用户可以访问表
  select * from all_tables;
  53、显示用户为SCOTT的表
  select * from dba_tables where owner='SCOTT';
  54、显示所有用户信息
  select * from dba_users;
  55、建立用户并指定密码

  create user edpthw>  56、给用户授权
  grant connect,resource to edpthw;
  57、建立一个表
  create table a(a int);
  58、显示数据字典中表名为USER开头的表名
  select table_name from dict where table_name like 'USER%';
  59、显示当前实例
  SELECT * FROM V$INSTANCE;
  60、显示当前数据库信息
  SELECT * FROM V$DATABASE;
  61、显示当前ORACLR资料的版本
  SELECT * FROM V$VERSION;
  62、显示当前的选项
  SELECT * FROM V$OPTION;
  63、显示当前实例的初始化参数
  SELECT * FROM V$PARAMETER;
  64、显示数据文件
  SELECT * FROM V$DATAFILE;
  65、显示日志文件
  SELECT * FROM V$LOGFILE;
  66、显示控制文件
  SELECT * FROM V$CONTROLFILE;
  67、显示当有有哪些会话
  SELECT * FROM V$SESSION;
  68、显示当前有哪些进程
  SELECT * FROM V$PROCESS;
  69、显示当前后台进程
  SELECT * FROM V$BGPROCESS;
  70、显示SGA的大小
  SELECT * FROM V$SGA;
  71、显示SGA的统计数
  SELECT * FROM V$SGASTAT;
  72、显示PGA的统计数
  SELECT * FROM V$PGASTAT;
  73、显示有哪些控制文件
  SHOW PARAMETER CONTROL_FILES;
  74、增加一个控制文件一定要在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='DracleoradatathwerpCONTROL01.CTL',
  'DracleoradatathwerpCONTROL02.CTL',
  'DracleoradatathwerpCONTROL03.CTL',
  'DracleoradatathwerpCONTROL04.CTL' scope=spfile;
  75、数据重新启动
  STARTUP FORCE
  76、显示当前控制文件
  SELECT * FROM V$CONTROLFILE;
  SHOW PARAMETER CONTROL;
  77、删除一个控制文件
  alter system set control_files='D:ORADATAMYDBCONTROL01.CTL',
  'D:ORADATAMYDBCONTROL02.CTL',
  'D:ORADATAMYDBCONTROL03.CTL' SCOPE=SPFILE
  78、显示当前使用的日志
  SELECT * FROM V$LOG;
  79、显示实例的归档模式
  ARCHIVE LOG LIST;
  80、显示重做日志文件
  SELECT * FROM V$LOGFILE;
  81、手工切换重做日志文件
  ALTER SYSTEM SWITCH LOGFILE;
  82、发出检查点
  ALTER SYSTEM CHECKPOINT;
  83、显示重做日期的历史记录
  select * from v$log_history;
  84、更改会语的日期格式
  alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
  85、增加日志组

  ALTER DATABASE ADD LOGFILE GROUP 4 ( 'D:ORADATAMYDBredo4.log')>  86、删除日志组
  ALTER DATABASE DROP LOGFILE GROUP 4 ;
  87、增加日志组成员
  ALTER DATABASE ADD LOGFILE MEMBER 'D:ORADATAMYDBredo11.log' TO GROUP 1;
  88、删除日志组成员
  ALTER DATABASE DROP LOGFILE MEMBER 'D:ORADATAMYDBredo14.log' ;
  89、显示系统表空间
  select * from dba_tablespaces;
  90、显示系统表空间所拥有的文件
  select * from dba_data_files;
  91、显示系统临时表空间
  select * from dba_temp_files;
  92、显示表空间的已被使用多少
  select tablespace_name,sum(bytes)/1024/1024 m
  from dba_data_files group by tablespace_name;
  93、显示表空间还有多少没有使用
  select tablespace_name,
  sum(bytes)/1024/1024 m
  from dba_free_space group by tablespace_name;
  94、创建表空间

  10G CREATE BIGFILE TABLESPACE "MYTBS1" DATAFILE 'D:ORADATAMYDBmytbs_01.dbf'>
  9I CREATE TABLESPACE "MYTBS1" DATAFILE 'DracleORADATAthwerpmytbs_01.dbf'>
  CREATE SMALLFILE TABLESPACE "MYTBS1" DATAFILE 'D:ORADATAMYDBmytbs_01.dbf'>  95、在指字表空间里建表
  create table t1 (a int) tablespace mytbs1;
  96、在指字表空间里建索引
  create index t1_ind on t1(a) tablespace mytbs1;
  97、在指定表空间里增加数据文件

  ALTER TABLESPACE "MYTBS1" ADD DATAFILE 'D:ORADATAMYDBmytbs03.dbf'>  98、修改表空间的大小
  ALTER DATABASE DATAFILE 'D:ORADATAMYDBMYTBS_01.DBF' RESIZE 200M
  99、表空间改文件的自动扩展
  ALTER DATABASE DATAFILE 'D:ORADATAMYDBMYTBS03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED
  100、删除表空间和表空间所属文件
  drop tablespace mytbs1 including contents and datafiles;
  101、建立临时表空间

  CREATE SMALLFILE TEMPORARY TABLESPACE "MYTEMP" TEMPFILE 'DracleORADATAthwerpmytemp01.dbf'>
  CREATE TEMPORARY TABLESPACE "MYTEMP" TEMPFILE 'DracleORADATAthwerpmytemp01.dbf'>  102、更改用户的临时表空间
  ALTER USER "test" TEMPORARY TABLESPACE "MYTEMP"
  103、设置成默认的表空间
  ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "MYTEMP"
  104、创建临时表空间组
  ALTER TABLESPACE MYTEMP TABLESPACE GROUP MYTEMP_GROUP
  ALTER TABLESPACE TEMP TABLESPACE GROUP MYTEMP_GROUP
  105、创建重做表空间

  CREATE UNDO TABLESPACE "MYUNDO" DATAFILE 'D:ORADATAMYDBmyundo01.dbf'>  106、显示重做参数
  show parameter undo
  107、回滚段的使用情况
  select * from dba_rollback_segs;
  108、更改重做表空间
  alter system set undo_tablespace=myundo;
  109、建立一个表
  create table a tablespace users as select * from dba_objects;
  110、插入一些记录
  insert into a select * from a;
  111、有条件查询表名放在哪个表空间
  select * from dba_tables where table_name='A' and owner='SYS';
  112、有条件查询段名放在哪个表空间
  select * from dba_segments where segment_name='A' and owner='SYS';
  113、查询有哪些段类型
  select distinct segment_type from dba_segments;
  114、查询段和表空间的对应关系
  select * from dba_extents where segment_name='A' and owner='SYS';
  115、建立一个16K表空间

  CREATE TABLESPACE "MYTBS3" DATAFILE 'D:oracleORADATAthwerpmytbs3.dbf'>  116、指字参数建立表
  create table b (a int,b varchar2(10)) tablespace users INITRANS 2 PCTFREE 5;
  117、显示当前所使用的块大小
  show parameter block_size;
  118、释放表的高水位的空间
  alter table a deallocate unused;
  119、高水位前移.速度快
  truncate table a;
  120、分配空间给表

  alter table a allocate extent (datafile 'D:ORADATAMYDBusers01.dbf'>  121、指定参数建立表
  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)
  122、生成一个测试表
  create table a tablespace users as select * from dba_objects;
  123、查看表行的物理地址
  select rowid form a;
  124、用包的命令查看表行的物理地址
  select DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID),DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID),DBMS_ROWID.ROWID_ROW_NUMBER(ROWID) FROM A
  125、建立表索引
  CREATE INDEX A_IND ON A(OBJECT_NAME) TABLESPACE MYTBS2;
  126、查看表的索引
  SELECt * FROM DBA_INDEXES WHERE TABLE_NAME='A';
  SELECT * FROM DBA_SEGMENTS WHERE SEGMENT_NAME='A_IND';
  127、移动重组表空间
  ALTER TABLE A MOVE TABLESPACE USERS;
  128、重建表索引
  ALTER INDEX A_IND REBUILD;
  129、设置行可以内部移动属性
  ALTER TABLE A ENABLE ROW MOVEMENT;
  130、在原地进行行的移动
  ALTER TABLE A SHRINK SPACE;
  131、查看表所存储的信息
  SELECT BYTES FORM DBA_SEGMENTS WHERE SEGMENT_NAME='A';
  SELECT OWNER,SEGMENT_NAME,BYTES FROM DBA_SEGMENTS WHERE SEGMENT_NAME='A';
  132、截取表
  TRUNCATE TABLE A;
  133、删除表
  DROP TABLE A CASCADE CONSTRAINTS;
  134、显示垃圾桶(10G才有)
  show recyclebin
  SELECT * FROM DBA_RECYCLEBIN;
  SELECT * FROM USER_RECYCLEBIN;
  135、恢复已删除的表
  flashback table a to before drop;
  136、恢复较早已前的已删除的表
  flashback table "BIN$hWrBq1irS0COp10n22NZJg==$0" to before drop rename to a1;
  137、查询指定表的索引
  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>  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>  163 锁用户
  alter user edpthw account lock;
  164 使密码过期,迫使改下一次进入改密码
  alter user edpthw password expire;
  165 取消限额
  alter user edpthw quota unlimited on mytbs2;
  166 删除用户
  drop user testTable cascade;
  167 授权用户
  grant create session,create table,create view to edpthw;
  168 分别授权
  GRANT CREATE ANY TABLE TO "testTable"
  GRANT CREATE TABLE TO "testTable"
  GRANT DROP ANY TABLE TO "testTable"
  GRANT SELECT ANY TABLE TO "testTable"
  169 折消授权
  REVOKE UNLIMITED TABLESPACE FROM "testTable"
  170 对象授权
  GRANT SELECT ON "testTable"."A" TO "edpthw"
  171 折消对象授权
  REVOKE SELECT ON "testTable"."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 testTable;
  175 取消指定用户的sysdba权限
  revoke sysdba from testTable;
  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 testTable>  179 授权连接给指定用户
  GRANT "CONNECT" TO "testTable";
  GRANT UNLIMITED TABLESPACE,CONNECT,RESOURCE TO testTable;
  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/testdb1@192.168.100.80: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'>  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=test.dmp owner=test,wei direct=y log=test
  exp userid=system/oracle file=test.dmp owner=test direct=y log=test.log
  268 导出指定表
  exp userid=system/oracle file=test_a.dmp tables=test.a direct=y log=test
  269 导出指定表
  exp userid=system/oracle file=test_a1.dmp tables=test.a query='where owner=''test''' log=test.LOG
  270 查看导出的帮助信息
  exp -help
  271 删除test的用户
  drop user test cascade;
  272 重建用户test

  CREATE USER "test" PROFILE "DEFAULT">  273 授权用户test
  GRANT UNLIMITED TABLESPACE,CONNECT,RESOURCE TO "test";
  274 导入用户test的数据
  imp userid=system/oracle fromuser=test touser=test show=y
  imp userid=system/oracle fromuser=test touser=test file=full.dmp log=imp.log
  imp userid=system/oracle fromuser=test touser=wei file=test.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 test;
  278 导出数据
  expdp userid=test/test dumpfile=test directory=mydir PARALLEL=2 schemas=test job_name=test_job
  expdp userid=test/test attach=test_job
  268 查询任务
  SELECT * FROM V$DATAPUMP_JOB;
  269 导入数据
  impdp userid=system/oracle dumpfile=test directory=mydir job_name=test_job

页: [1]
查看完整版本: 收集的Oracle操作常用命令