一、启动:
1.#su - oracle 切换到oracle用户且切换到它的环境
2.$lsnrctl status 查看监听及数据库状态
3.$lsnrctl start 启动监听
4.$sqlplus / as sysdba 以DBA身份进入sqlplus
5.SQL>startup 启动db
二、停止
1.#su - oracle 切换到oracle用户且切换到它的环境
2.$lsnrctl stop 停止监听
3.$sqlplus / as sysdba 以DBA身份进入sqlplus
4.SQL>SHUTDOWN IMMEDIATE 关闭db
三,查看初始化参数及修改
1.#su - oracle 切换到oracle用户且切换到它的环境
2.$sqlplus / as sysdba 以DBA身份进入sqlplus
3.SQL>show parameter session; 查看所接受的session数量
######################################################
Oracle process与session2008年12月29日 星期一 15:47
Connected to Oracle Database 10g Release 10.1.0.5.0
Connected as ifsapp
SQL> show parameter session
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
session_cached_cursors integer 0
session_max_open_files integer 10
sessions integer 225
shared_server_sessions integer
SQL> show parameters processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 3
log_archive_max_processes integer 2
processes integer 200
SQL> alter system set processes=600 scope=both;
SQL>
SQL> alter system set processes=600 scope=both;
alter system set processes=600 scope=both
ORA-02095: specified initialization parameter cannot be modified
SQL> alter system set sessions=600 scope=both;
alter system set sessions=600 scope=both
ORA-02095: specified initialization parameter cannot be modified
SQL>
SQL> alter system set processes=600 scope=spfile;
System altered
SQL> show parameters processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 3
log_archive_max_processes integer 2
processes integer 200
SQL> alter system set processes=600 scope=memory;
alter system set processes=600 scope=memory
ORA-02095: specified initialization parameter cannot be modified
重启数据库之后生效:
SQL> show parameters processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 3
log_archive_max_processes integer 2
processes integer 600
SQL> show parameter session
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions integer 0
license_sessions_warning integer 0
logmnr_max_persistent_sessions integer 1
session_cached_cursors integer 0
session_max_open_files integer 10
sessions integer 665
shared_server_sessions integer
修改Oracle process 和 session 的方法
先备份spfile
1.通过SQLPlus修改
Oracle的sessions和processes的关系是
sessions=1.1*processes + 5
使用sys,以sysdba权限登录:
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> alter system set processes=400 scope = spfile;
系统已更改。
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------
aq_tm_processes integer 1
db_writer_processes integer 1
job_queue_processes integer 10
log_archive_max_processes integer 1
processes integer 150
SQL> create pfile from spfile;
文件已创建。
重启数据库,OK!
【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】
2.通过修改oracle配置文件进行修改
修改SPFILEORCL.ORA文件中的processes的值。8.1.5中是init.ora文件,在9i中修改init.ora文件是无效的,这个文件由于是一个二进制的文件,不能直接使用notepad此类的编辑器打开。
否则会报错误ORA-27101 Shared memory realm does not exist。使用UltraEdit或者EditPlus之类的可以编辑二进制文件的编辑器打开此文件(直接编辑二进制文件),然后在Windows服务中重新启动Oracle服务器即可。
3.通过Oracle Enterprise Manager Console在图形化管理器中修改
a.以系统管理员的身份登入
b.进入数据库的例程-配置-一般信息-所有初始化参数
c.修改processes的值
d.Sessions的值由公式sessions=1.1*process + 5派生得到
一个process可以有0个,1个或多个session
=============================================
Oracle中系统process与session的关系
在实际的应用中,Shared Server中的Process与Oracle数据库中的Session并不是一一对应的,Shared Server中的Process(一个)对应着Oracle中的一个或者一个以上的Session。
在dedicated server机器上的测试如下:
数据库的session和操作系统process是对应的。
这表示一个session对应一个process,但是一个process未必对应一个session。
大家可以通过SELECT spid
FROM v$process
WHERE NOT EXISTS ( SELECT 1
FROM v$session
WHERE paddr = addr); 查看
或
SQL> select count(*) from v$process;
COUNT(*)
----------
53
SQL> select count(*) from v$session;
COUNT(*)
----------
50
oracle10g中只要指定processes,sessions就会自动计算出,所以不需要指定sessions也可,除非对sessions有特殊要求,要求其比oracle自动计算出的sessions要大,那么就需要手动指定sessions了
#########################################################
4.SQL>alter system set shared_servers=10; 将shared_servers的数量设置为10
四.数据库连接数目
其中一个数据库连接需要一个session,它的值由processes决定,session与processes通常有以下关系:
session = 1.1 * processes + 5
不过这也不是绝对的,还要受到CPU和内存等硬件条件的限制。另外processes和session不可以通过alter system语句直接修改,只可以修改服务器参数文件来更改(Server Parameter File)。如果存在一个server parameter file,通过alter system语句所作的更改将会被持久化到文件中。