日期:2014-05-16  浏览次数:20561 次

BBY-Oracle笔记第一篇
select username,count(username) from v$session where username is not null group by username

查看oracle当前的连接数
select * from v$session where username is not null

Oracle导出导入
exp system/manager buffer=64000 file=./full.dmp full=y
(system/manager@vacsdb)
exp apts/oracle buffer=64000 file=./full.dmp full=y
Oracle导入
imp system/oracle buffer=64000 file=d:\full.xml full=y
或者通过pl/sql

select username,count(username) from v$session where username is not null group by username #查看不同用户的连接数
select count(*) from v$session   #总连接数
Select count(*) from v$session where status='ACTIVE' #并发连接数
show parameter processes   #最大连接数
alter system set processes = value scope = spfile;重启数据库   #修改连接
/home/oracle9i/app/oracle9i/dbs/init.ora
/home/oracle9i/app/oracle9i/dbs/spfilexxx.ora ## open_cursor

默认的用户名和密码
scott   密码是 tiger
sys     密码是 change_on_install
system  密码是 manager
sysman  密码是 oem_temp
其中直接管理模式可以为sysdba的为后面三个,要是集群的话再去掉system,每一个管用的,见下边修改。

Oracle更改用户密码
sqlplus / as sysdba 这是以SYSDBA这个角色登陆SQLPLUS,SYSDBA只是个角色,它本身并没有密码;
用sysdba进入的时候,就可以改密码了
alter  user  username account  unlock  identifed  by  password
当前登录用户
select user from dual;
查看数据库版本
show parameter compatible;
表空间查询(需要特定权限)
1、空闲表空间
select tablespace_name,file_id,block_id,bytes,blocks from dba_free_space;
2、临时表空间
Select file#,status,name from V$tempfile;
3、表空间属性修改
alter tablespace lizi read write;
创建表空间
1. create tablespace sales 
2. //datafile '/home/app/oracle/oradata/oracle8i/sales01.dbf' size 800M  datafile ‘D:\oracle\product\10.2.0\oradata\apts\apts01.dbf’ size 800M
3. autoextend on 
4. next 50M 
5. maxsize unlimited 

查询当前数据库名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。

表空间导出

只导APTS那几个
1、alter tablespace APTS_WORK read only;(其他几个空间也调为只读)
2、把这几个空间导出到一个文件exp transport_tablespace=y tablespaces=APTS_AD,APTS_GPS,APTS_HIST,APTS_INDX,APTS_WORK file=/tablespaces.dmp
提示输入用户名时:apts/oracle as sysdba
导入表空间文件
版本不一致报错,需升级compatible
http://blog.chinaunix.net/u2/65284/showart_2194509.html
Oracle重启
http://lelong.javaeye.com/blog/515063
ALTER USER username ACCOUNT UNLOCK;
su – oracle
$ lsnrctl start
$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup;

ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程 解决方法:加大PROCESSES
sessions=(1.1*process+5)
show parameter processes;
show parameter sessions;
alter system set processes=300 scope=spfile;
alter system set sessions=335 scope=spfile;
需要附加的操作:
show parameter SHARED_SERVER;
alter system set SHARED_SERVER =10 scope=spfile;
但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/proc/kernel 中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生 效。不过它的大小会受制于硬件的内存或ORACLE SGA。范围可从200——2000不等。
semmns的计算公式为:
SEMMNS>processes+instance_processes+system
processes=数据库参数processes的值
instance_processes=5(smon,pmon,dbwr,lgwr,arch)
system=系统所占用信号量。系统所占用信号量可用下列命令查出:
#ipcs -s
其中列NSEMS显示系统已占用信号量。其它一些跟连接有关的参数,如 licence_max_sessions, licence_sessions_warning 等默认设置都为零,也就是没有限制。我们可以放心大胆地使用数据库了。
ORACLE启动步骤
su – oracle
[oracle@websvr1 oracle]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup
SQL> quit
[oracle@websvr1 oracle]$ lsnrctl start
可用 [oracle@websvr1 oracle]$ lsnrctl status 查看监听是否已经启动
关闭步骤
su – oracle
[oracle@websvr1 oracle]$ lsnrctl stop
[oracle@websvr1 oracle]$ sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> qu