(一)sqlplus连接oracle的四种方式:
1.sqlplus/assysdba
操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入
sqlplus,然后通过startup命令来启动。
2.sqlplususername/password
连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
3.sqlplususernaem/password@orcl
通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下
a.查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME
b.查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name
c.如果服务器listener进程没有问题的话,建立与listener进程的连接。
d.根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端
就连接上了数据库的serverprocess。
e.这时连接已经建立,可以操作数据库了。
4.sqlplususername/password@//host:port/sid
用sqlplus远程连接oracle命令(例:sqlplusrisenet/1@//192.168.130.99:1521/risenet)
(二)oracle启动步骤:
1.使用oracle账号登陆系统
2.连接oracle:sqlplus/nolog
然后依次在sql命令行下输入下面命令
sql>conn/assysdba
sql>startup
sql>quit
3.启动oracle监听器:lsnrctlstart
lsnrctlstatus//查看监听状态
lsnrctlstart//启动所有监听
lsnrctlstart[listener-name]//启动某个监听
lsnrctlstop//关闭监听
lsnrctlstop[listener-name]//关闭某个监听
(三)oracle关闭步骤:
$lsnrctlstop(关闭监听器,在这之前,应该先关闭应用程序)
$sqlplus/nolog
sql>shutdown其参数:shutdown有四个参数,四个参数的含义如下:
Normal需要等待所有的用户断开连接
Immediate等待用户完成当前的语句
Transactional等待用户完成当前的事务
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用
(四)查看当前oracle版本信息
select*fromv$version;
(五)oracle导出整个库
imp username/password@orclfile=fileName.dmpfull=y;
(六)脚本执行编辑
sqlplus用户名/密码@127.0.0.1:1521/orcl
1.运行sql脚本
sql>@d:\a.sql或者sql>startd:\a.sql
2.编辑指定的sql脚本
输入一个命令(如select*fromemp)
并输入sql>spooloff
(七)orcle自增字段
oracle字段没有自增类型,要实现次功能需要trigger+sequence(触发器+序列)
(八)oracle创建表空间和用户名
createtablespacets_namedatafile'/u01/app/oracle/oradata/orcl/ts_name.dbf'size50Mautoextendonnext50Mmaxsizeunlimited;
创建用户
createuserusernameidentifiedby password
defaulttablespacets_name
quotaunlimitedonts_name
accountunlock;
grantconnect,resource,dbatousername;