数据字典dict总是属于Oracle用户sys的。
1、用户:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空间:
select * from dba_data_files;
select * from dba_tablespaces;//表空间
select tablespace_name,sum(bytes), sum(blocks)
from dba_free_space group by tablespace_name;//空闲表空间
select * from dba_data_files
where tablespace_name='RBS';//表空间对应的数据文件
select * from dba_segments
where tablespace_name='INDEXS';
3、数据库对象:
select * from dba_objects;
CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、
PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
4、表:
select * from dba_tables;
analyze my_table compute statistics;->dba_tables后6列
select extent_id,bytes from dba_extents
where segment_name='CUSTOMERS' and segment_type='TABLE' ......
47. 中文是如何排序的?
Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M 按照拼音排序
48. Oracle8i中对象名可以用中文吗?
可以
49. 如何改变WIN中SQL*Plus启动选项?
SQL*PLUS自身的选项设置我们可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中设置。
50. 怎样修改oracel数据库的默认日期?
alter session set nls_date_format='yyyymmddhh24miss';
OR
可以在init.ora中加上一行
nls_date_format='yyyymmddhh24miss'
51. 如何将小表放入keep池中?
alter table xxx storage(buffer_pool keep);
52. 如何检查是否安装了某个patch?
check that oraInventory
53. 如何使select语句使查询结果自动生成序号?
select rownum,COL from table;
54. 如何知道数据裤中某个表所在的tablespace?
......
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
from all_objects
where rownum <= to_char(to_date('20031231 ......
174. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:
SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
175. /*+FIRST_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.例如:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
176. /*+CHOOSE*/
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;表明如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;例如:
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
177. /*+RULE*/
表明对语句块选择基于规则的优化方法.例如:
SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN from BSEMPMS WHERE EMP_NO='CCBZZP';
178. /*+FULL(TABLE)*/
表明对表选择全局扫描的方法.例如:
SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM from BSEMPMS A WHERE EMP_NO='CCBZZP';
179. /*+ROWID(TABLE)*/
提示明确表明对指定表根据ROWID进行访 ......
ORACLE內部函數篇 字符串
204. 如何得到字符串的第一個字符的ASCII值?
ASCII(CHAR)
SELECT ASCII('ABCDE') from DUAL;
結果: 65
205. 如何得到數值N指定的字符?
CHR(N)
SELECT CHR(68) from DUAL;
結果: D
206. 如何連接兩個字符串?
CONCAT(CHAR1,CHAR2)
SELECT CONCAT('ABC','DEFGH') from DUAL;
結果: 'ABCDEFGH'
207. 如何將列中的數值代替為字符串?
DECODE(CHAR,N1,CHAR1,N2,CHAR2...)
SELECT DECODE(DAY,1,'SUN',2,'MON') from DUAL;
208. INITCAP(CHAR)
將字符串CHAR的第一個字符為大寫,其余為小寫.
SELECT INITCAP('ABCDE') from DUAL;
209. LENGTH(CHAR)
取一字符串CHAR的長度.
SELECT LENGTH('ABCDE') from DUAL;
210. LOWER(CHAR)
將字符串CHAR全部變為小寫.
SELECT LOWER('ABCDE') from DUAL;
211. LPAD(C ......
ORACLE内部函数篇
255. CHARTOROWID(CHAR)
将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID的18字符的字符串.
SELECT NAME from BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO');
NAME : LEIXUE
256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET)
CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的
字符集
SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' from PUBS;
CONVERSION: Gross
257. HEXTORAW(CHAR)
将包含十六进制的CHAR转换为一个RAW数值.
INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') from TEST;
258. RAWTOHEX(RAW)
将RAW数值转换为一个包含十六进制的CHAR值.
SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' from BSEMPMS;
CONVERSION: 7D
259. ROWIDTOCHAR(ROWID)
将一个ROWID数值转换为VARCHAR2数据类型.
SELECT ROWID from BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%';
260. TO_MU ......