oracle学习笔记_1 sqlplus

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 打开刚才保存的结果集

 

 

你可能感兴趣的:(oracle,sql,C++,c,dos)