Linux oracle命令大全

来源:互联网 发布:鱼缸怎么卖的淘宝 编辑:程序博客网 时间:2024/05/21 06:32

一、启动:

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语句所作的更改将会被持久化到文件中。

 

原创粉丝点击