(一)sqlplus连接oracle的四种方式:
1. sqlplus / as sysdba
操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入
sqlplus,然后通过startup命令来启动。
2. sqlplus username/password
连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
3. sqlplus usernaem/
通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下
a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME
b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name
c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。
d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端
就连接上了数据库的server process。
e. 这时连接已经建立,可以操作数据库了。
4.sqlplus username/password@//host:port/sid
用sqlplus远程连接oracle命令(例:sqlplus risenet/1@//192.168.130.99:1521/risenet)
(二)oracle启动步骤:
1.使用oracle账号登陆系统
2.连接oracle:sqlplus / nolog
然后依次在sql命令行下输入下面命令
sql>conn / as sysdba
sql>startup
sql>quit
3.启动oracle监听器:lsnrctl start
lsnrctl status //查看监听状态
lsnrctl start //启动所有监听
lsnrctl start [listener-name] //启动某个监听
lsnrctl stop //关闭监听
lsnrctl stop [listener-name] //关闭某个监听
(三)oracle关闭步骤:
$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
$ sqlplus /nolog
sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用
(四)查看当前oracle版本信息
select * from v$version;
(五)oracle导出整个库
imp username/password file=fileName.dmp full=y;
(六)脚本执行编辑
sqlplus 用户名/密码@127.0.0.1:1521/orcl
1.运行sql脚本
sql>@ d:\a.sql 或者 sql>start d:\a.sql
2.编辑指定的sql脚本
sql>edit d:\a.sql
3.将sqlplus屏幕上的内容输出到指定的文件中
sql>spool d:b.sql
输入一个命令(如select * from emp)
并输入sql>spool off
(七)orcle自增字段
oracle字段没有自增类型,要实现次功能需要trigger+sequence(触发器+序列)
(八)oracle创建表空间和用户名
create tablespace ts_name datafile '/u01/app/oracle/oradata/orcl/ts_name.dbf' size 50M autoextend on next 50M maxsize unlimited;
创建用户
create user username identified by password
default tablespace ts_name
quota unlimited on ts_name
account unlock;
grant connect,resource,dba to username ;