oracle
1.文件:.CTL控制文件,.DBF数据文件,REDO.LOG日志文件,
联机日志文件非归档REDO.LOG,归档日志文件(热备份归档方式)
控制文件-->打开数据文件
1.2.登录到sqlplus
运行--cmd--cd\--sqlplus "sys test123 as sysdba"
1.3.查看文件(v$controlfile/v$datafile/v$logfile)
desc v$controlfile -->select status,name from v$controlfile;
1.4.oracle先进先出
DB buffer高速缓存区:不用每次都从磁盘读取(保持缓存池-代码表、再生缓存池-频繁访问的大表、默认缓存池)
共享池:库缓存区(共享SQL区、PL/SQL区)、字典缓存区
1.5.块(8k)--盘区--段--表空间--数据文件
####注意:dos里写sql语句要以分号结尾。isqlplus里写sql语句可以省略分号。
2.SQL*PLUS启退
2.1 SQL*PLUS启动、退出、注册用户
* dos下,直接使用管理员sys登录sqlplus:运行-->cmd-->cd\-->sqlplus "sys/sa as sysdba"
* dos下,先scott身份登录,再以sysdba身份登录:运行-->cmd-->cd\-->sqlplus scott/tiger -->以sysdba身份登录: connect sys/sa as sysdba
* dos下,切换用户连接:connect sys/sa as sysdba || connect scott/tiger
* dos下,退出sqlplus: 登录后输入exit
* dos下,实例没打开可以使用nolog模式打开:运行-->cmd-->cd\-->sqlplus/nolog-->connect sys/sa as sysdba
* 浏览器打开iSQL*PLUS:http://localhost:5560/isqlplus
* 显示log列表:archive log list
* startup ,先启动实例-->打开控制文件-->数据文件
* startup mount ,只打开控制文件
* shutdown immediate建议用这个,迫使每个用户执行完当前sql语句立即断开连接
* shutdown ,正常关闭,极少用,等所有用户断开连接才关闭数据库,如有空闲用户没断开,导致长时间无法关闭数据库
* shutdown transactional ,迫使用户在当前执行完成后断开连接
* shutdown abort ,强行关闭数据库、关闭实例(除非灾难时不用)
#热备份不能在非归档(No Archive Mode)方式进行,改为规范方式,所以应该先关闭-->start mount-->alter database archivelog-->alter database open
3.2SQL*PLUS帮助命令
* 运行-->cmd-->cd\-->sqlplus scott/tiger --> help index -->列出所有帮助命令--> ? set -->查看set命令
* 设置sql语句可以换行:输入 set sqlblanklines on ,空格行sql语句可以支持了。
4.3SQL*PLUS编辑命令
* oracle支持替代变量的方式(oracle安排一个执行计划):
select * from dept where deptno=&tt; --->提示Enter value for tt:10 ,即查询deptno=10的数据。
* 行编辑命令[l]缓冲区数据查看加入: 使用list,简写为l查看缓冲区中我们曾写的命令,输入: l 2 4 ,即查看2-4行的命令;l 即全部显示。
* change替换命令[c]: 例如输入 fron错误了, 可以: l --> c/fron/from --> l --> / (斜杠表示执行缓冲区中命令)。 (sql语句用分号表示结束)
* 删除命令[del]: del 2 4 ,删除缓冲区2-4行数据
* 追加命令[a]: l-->a from dept --> / ,追加了from dept
* 保存命令[save]: save c:\oracle\test.txt
* 执行保存的文件[@路径名]: @c:\oracle\test.txt || get c:\oracle\test.txt
* 编辑命令[edit],默认打开记事本,将缓冲区内数据读入供你编辑。不关闭不能返回dos。
* 给列加标签[column,简col]: col deptno heading "编号" ,仅在当前会话有效
* 查看表各字段的类型Type[desc]: desc dept ,查看dept表各字段的Type。
* 以格式化形式输出,10个字符[format]: col dname format A10 ,dname显示10个字符
* 以格式化形式输出,数值整形的[format]: col deptno format 999,999,999 ,deptno数值格式
* 格式化+标签: col dname format A10 heading "部门名称"
5.4SQL*PLUS报表命令
* 给报表加主题(ttitle、btitle),使用'-'可以换行写
set linesize 50
ttitle center "我的标题" skip 1 -
left "测试报表" right "页码" -
format 999 SQL.PNO skip 2
* 关掉报表标签: ttitle off
* 报表制作命令break,让deptno字段重复的只显示一条[break]:break on deptno
* 报表制作命令comp,统计[comp]: comp count lable "书名记数" of book_name on pub (为book_name列做一个统计,显示在pub列)
* 保存报表结果集[spool]: spool c:\oracle\spool.txt --> select * from dept; -->spool off -->deit c:\oracle\spool.txt 打开刚才保存的结果集