日期:2014-05-16 浏览次数:20591 次
oracle基本语法 
ORACLE内部培训资料 
Oracle 服务器 
实例Instance,数据库Database 
Instance:内存结构memory structure(SGA),后台进程backgroundprocess 
-SGA:高速缓存,重做日志缓存区,共享池 
-后台进程:SMON,PMON,DBWR,LGWR,CKPT,ARCH 
Database-dada file,log file,control file 
启动过程 
nomount----->mount----->open //oracle启动过程实例-->控制文件-->表 
startup force pfile=c:\oracle\admin\bsstest\pfile\init.ora mount;//只启动到mount 
文件路径 
c:\oracle\ora92\database\spfilesid.ora 
c:\oracle\admin\bsstest\pfile\init.ora 
c:\oracle\ora92\database\pwdbsstest.ora 
C:\oracle\ora92\rdbms\admin\catproc.sql // 重建程序包 
在UNIX下安装oracle时设置环境变量 
setenv oracle_base=c:\oracle 
setenv oracle_home=c:\oracle\ora92 
setenv oracle_sid= 
setenv oracle_nls33= 
setenv path= 
setenv ld_library_path= 
set arraysize 25 //设置数组提取尺寸为25 
set autocommit on //自动提交DML语句 
set colsep | //设置分隔符 
set heading on //显示标头 
set time on // 显示系统时间 
数据字典和动态性能视图 
数据字典信息从数据文件中取得,动态性能视图信息从sga和控制文件中取得 
只读表和视图的集合,所有者为sys用户,数据被存放在system表空间上。 
select dbms_metadata.get_ddl(‘table’,’emp’) ddl fromdual; 
select user form dual; 
select * from global_name; 
v$controlfile v$database v$datafile v$dbfile v$lock v$tablespacev$session 
基本控制语句 
sqlplusw scott/tiger@bss //启动sqlplus进程 
lsnrctr status / lsnrctl start //查看tnslistener状态,启动 
dbca //启动 Database Configuration Assistant,创建数据库 
alter system enable restricted session 
//则普通用户不能登陆如maple,除非grant restricted session tomaple; 
set linesize 200 
show parameter sga //查看sga_max_size 
show parameter log_buffer //查看log_buffer大小 
alter session set nls_language=american; //设置提示语言 
alter system set db_cache_size=64m; 
oracle/admin/fox/pfile/init//database块大小,db_block_size大小 
alter system set db_cache_advice=on;//oracle自动分配cache建议 
select * from v$version; //查看oracle版本,64-bit/32-bit 
select machine,terminal from v$session;//查看某用户是从哪台机器登陆oracle 
select username from v$session;//查看当前有哪些用户在使用数据库 
select * from v$parameter where name like ‘proc%’; 
show parameter processes //查看最大会话数 
select * from v$license; //查看曾到达的最大会话数 
select name from v$database; //查看数据库sid 
alter system kill session ‘sid,serir#’; //解锁 
@$path/filename.sql //执行sql脚本文件 
spool c:\abcd.txt; select * from table_name; spool off;//把select结果导出为文本 
修改口令文件 
orapwd file=c:\oracle\ora92\database\pwdbsstest.ora password=adminenties=10; 
//修改口令文件,如删除口令文件并将remote_login_passwordfile设置为none,那么只能用os方式登陆数据库 
*在修改口令文件后必须删除c:\oracle\ora92\network\admin\sqlnet.ora中的 
SQLNET.AUTHENTICATION_SERVICES= (NTS)或加注释 # 
* select * from v$pwfile_users; //查看sysdba和sysoper的用户 
* Enterprise Manager Console独立登陆时不能对数据库进行备分 
* 用Enterprise Manager ConfigurationAssistant创建一个资料档案库,然后可以登陆到oracle managermentserver,初始用户名sysman密码oem_temp 
*如果无法以sysdba身份远程登陆,修改数据库初始化参数文件中的remote_login_passwordfile设置为exclusive或shared 
日志模式 
Select log_mode from v$database; 
archive log list//查看归档模式,默认为非归档,用以下步骤转换为归档模式 
1)? shutdown immediate 
2)? startup mount 
3)? alter databasearchivelog/noarchivelog; 
4)? alter database open; 
5)? full database backup 
alter system archive log start; 
alter system set log_archive_start=true scope=spfile;//开启自动存档 
日志分析(Logmnr) 
1)? 设置目录c:\oracle\admin\bsstest\pfile\init.ora的参数 
utl_file_dir=c:\oracle\admin\bsstest\cdump 
2)? 重启oracle 
3)? 建立目录文件 
executedbms_logmnr_d.build('bsstestdict.ora','C:\oracle\admin\bsstest\cdump'); 
4)? 添加日志文件 
dbms_logmnr.add_logfile(’c:\oracle\oradata\bsstest\redo03.log’,dbms_logmnr.new); 
5)? 启动logmnr 
excuted bms_logmnr.start_logmnr 
(dictfilename=>’c:\oracle\admin\bsstest