科技资讯眺望|Oracle常用命令大全( 三 )



processes 的值的总和(除去最大的 Processes 参数)+最大的那个 Processes ×2 + 10×
Oracle 实例的个数 。
例子: Set semsys:seminfo_semmns=200
semmsl:
含义:一个 set 中 semaphore 的最大个数 。
设置方法:设置成为 10 +所有 Oracle 实例的 InitSID.ora 中最大的 Processes 的值 。
例子: Set semsys:seminfo_semmsl=-200
72. 怎样查看哪些用户拥有 SYSDBA 、 SYSOPER 权限?
SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS;
73. 如何单独备份一个或多个表?
exp 用户 / 密码 tables=( 表 1, ?, 表 2)
74. 如何单独备份一个或多个用户?
exp system/manager owner=( 用户 1, 用户 2, ?, 用户 n) file= 导出文件
75. 如何对 CLOB 字段进行全文检索?
SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)>0; 76. 如何显示当前连接用
户 ?
SHOW USER
77. 如何查看数据文件放置的路径 ?
col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from
dba_data_files
order by file_id;
78. 如何查看现有回滚段及其状态 ?
SQL> col segment format a30
SQL> SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE
_ID,STATUS FROM
DBA_ROLLBACK_SEGS
79. 如何改变一个字段初始定义的 Check 范围?
SQL> alter table xxx drop constraint constraint_name;
之后再创建新约束 :
SQL> alter table xxx add constraint constraint_name check();
80. Oracle 常用系统文件有哪些?
通过以下视图显示这些文件信息: v$database,v$datafile,v$logfile v$controlfile
v$parameter;
81. 内连接 INNER JOIN?
Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no;
82. 如何外连接 ?
Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+);
Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;
83. 如何执行脚本 SQL 文件 ?
SQL>@$PATH/filename.sql;
84. 如何快速清空一个大表 ?
SQL>truncate table table_name;
85. 如何查有多少个数据库实例 ?
SQL>SELECT * FROM V$INSTANCE;
86. 如何查询数据库有多少表 ?
SQL>select * from all_tables;
87. 如何测试 SQL 语句执行所用的时间 ?
SQL>set timing on ;
SQL>select * from tablename;
88. CHR() 的反函数是 ?
ASCII()
SELECT CHAR(65) FROM DUAL;
SELECT ASCII('A') FROM DUAL;
89. 字符串的连接
SELECT CONCAT(COL1,COL2) FROM TABLE ;
SELECT COL1||COL2 FROM TABLE ;
90. 怎么把 select 出来的结果导到一个文本文件中?
SQL>SPOOL C:\ABCD.TXT;
SQL>select * from table;
SQL >spool off;
91. 怎样估算 SQL 执行的 I/O 数 ?
SQL>SET AUTOTRACE ON ;
SQL>SELECT * FROM TABLE;
OR
SQL>SELECT * FROM v$filestat ;
可以查看 IO 数
92. 如何在 sqlplus 下改变字段大小 ?
alter table table_name modify (field_name varchar2(100));
改大行 , 改小不行(除非都是空的)
93. 如何查询某天的数据 ?
select * from table_name where trunc( 日期字段 ) = to_date('2003-05-02','yyyy-mm-
dd');
94. sql 语句如何插入全年日期?
create table BSYEAR (d date);
insert into BSYEAR
select to_date('20030101','yyyymmdd')+rownum-1