文章目录
- 一、Oracle架构
- 1.1 Oracle SGA架构简介
- 1.2 Oracle SGA数据库运作说明
- 1.3 Oracle实体与逻辑结构
- 1.5 Oracle实体与逻辑结构
- 二、Oracle常用的一些指令
- 三、管理Oracle Instance
- 3.1 shutdown
- 3.2 startup
- 3.3 parameter files
- 四、常用Data Dictonary
- 五、network
- 六、Oracle常用工具程序
- 6.1 exp
- 6.2 imp
- 七、Backup and Resotre
- 八、重要系统变量
- 九、系统管理
- 9.1 T100系统ENT与数据库的关系
一、Oracle架构
1.1 Oracle SGA架构简介
1.2 Oracle SGA数据库运作说明
用户通过AP程序,ERP程序或SQL PLUS等其他工具来执行一段SQL指令时,Oracle数据库会产生一个User process来处理这段SQL语法,User process要通过Oracle TNS Listener监听器的服务才能正确的存取到所需要数据库的资料,Oracle数据库会根据这个User Process产生一个Server process来提供所需要的服务,以上产生的内存区域就是Program Global Area.
执行过的SQL有缓存。
1.3 Oracle实体与逻辑结构
1.5 Oracle实体与逻辑结构
二、Oracle常用的一些指令
show SGA
SELECT instance_name,status from v$instance
ps -ef | grep ora_
Database Administrator Users:
T100预设:
帐号:sys 密码: tiptop100
帐号:system 密码:tiptop100
sys:可执行Oracle数据库开启(startup)关闭(shutdown)
system: 处理oracle数据库的schema调整,查询或参数修改等日常维护管理
sqlplus system
sqlplus sys as sysdba
sqlplus / as sysdbasplplus system/tiptop100
修改sys或system的密码:
alter user system identified by manager # by 后面的manager就是设定的密码
password #登陆后也可直接password更改密码
show user
三、管理Oracle Instance
3.1 shutdown
对oracle数据库进行关闭
- Shutdown Normal:禁止user再连线到数据库,所有user都离开数据库,才会关闭oracle数据库
- Shutdown Transactional:禁止user再连线到数据库,Oracle数据库的交易都完成,进行commit或执行rollback指令后,才会关闭数据库。
- Shutdown Immediate(最常用):Oracle数据库将所有未完成的交易直接完成,若没有执行commit交易,会自动执行rollback,保持Oracle数据库的一致性,然后再关闭数据库。
- Shutdown Abort:执行shutdown immdediate无法正常关闭Oracle数据库时,可以尝试使用此指令强制关闭,再次开启时,会进行数据库的检查以及修复。
3.2 startup
对oracle数据库进行开启
- Startup:对数据库进行启动的动作。
- startup nomount:先检查所有Oracle数据库的control file,不会将oracle数据库的control file载入,直到执行Alter database mount
- alter database mount:将control file载入到oracle资料库中,检查所文件档database file,以及redo log file…
- 将oracle数据库的database file档和redo log file档载入到Oracle数据库中,对Oracle数据库进行存取的动作。
</u2/oracle/product/12.2.0/dbhome_1> export ORACLE_SID=toptst # 切换oracle实例
</u2/oracle/product/12.2.0/dbhome_1> sqlplus sys as sysdba #使用sys帐号
SQL> select instance_name,status from v$instance; #查看当前实例状态INSTANCE_NAME STATUS
---------------- ------------
toptst OPEN
SQL> shutdown immediate # 关闭实例
Database closed.
Database dismounted.
ORACLE instance shut down.SQL> startup nomount # 开启 step1
ORACLE instance started.Total System Global Area 2516582400 bytes
Fixed Size 8623832 bytes
Variable Size 939526440 bytes
Database Buffers 1560281088 bytes
Redo Buffers 8151040 bytes
SQL> select instance_name,status from v$instance;INSTANCE_NAME
------------------------------------------------
STATUS
------------------------------------
toptst
STARTEDSQL> alter database mount; # 开启 step2Database altered.SQL> select instance_name,status from v$instance;INSTANCE_NAME STATUS
---------------- ------------
toptst MOUNTEDSQL> alter database open; #开启 step3Database altered.SQL> select instance_name,status from v$instance;INSTANCE_NAME STATUS
---------------- ------------
toptst OPEN
3.3 parameter files
对oracle数据库Instance的配置进行调整
- spfile:预设是使用spfile文件内容进行数据库参数的开启与关闭,spfile是二进制文档,无法通过vi指令对spfile进行查询
- pfile:pfile是文本文件的格式,可以通过vi指令来对pfile进行修改
- $ORACLE_HOME/dbs:spfile文件内容存放的位置
注意:scpoe
1.当下立即生效,仅生效一次
show parameter process
alter system set job_queue_process=800 scope=memory
2.重新启动后才会生效,下次及每一次启动都会生效
alter system set job_queue_process=800 scope=spfile
3.当下及之后每次生效
alter system set job_queue_processes=800 scope=both
更改oracle参数
sqlplus sys as sysdba
sql> create pfile from spfile
上述命令会在$ORACLE_HOME/dbs下生成一个init+实例名.ora的文件
可以使用vi指令对init+实例名.ora进行参数调整了。
sql> create spfile from pfile
四、常用Data Dictonary
SQL> show linesize;
linesize 80
SQL> set linesize 300;
SQL> select instance_name,host_name,status from v$instance;INSTANCE_NAME HOST_NAME STATUS
---------------- ---------------------------------------------------------------- ----
toptst T100DB OPENSQL> select name, log_mode, open_mode from v$database;
NAME LOG_MODE OPEN_MODE
--------- ------------ --------------------
TOPTST NOARCHIVELOG READ WRITESQL> select username, default_tablespace,temporary_tablespace from dba_users;
SQL> select name,BLOCK_SIZE from v$controlfile;NAME BLOCK_SIZE
-----------------------------------------------------------------
/u2/oradata/toptst/control01.ctl 16384
/u2/oracle/fast_recovery_area/toptst/control02.ctl 16384
#为什么有两个,一个损坏了用另一个还原回来SQL> select tablespace_name, status, autoextensible from dba_data_files;TABLESPACE_NAME STATUS AUT
------------------------------ --------- ---
SYSTEM AVAILABLE YES
SYSAUX AVAILABLE YES
UNDOTBS1 AVAILABLE YES
USERS AVAILABLE YES
SQL> select file#,name,status from v$datafile;
五、network
$ORACLE_HOME/network/admin
- listener.ora
- tnsnames.ora
- sqlnet.ora
listener.ora:设在server端,作为Oracle数据库listen服务的启动。
tnsnames.ora:设在client端,要连结到那一个数据库中。
sqlnet.ora:设在client端,记录使用的连结方法。
ERP的AP中安装有oracle client所以也有$ORACLE_HOME
</u2/oracle/product/12.2.0/dbhome_1/network/admin> lsnrctl
六、Oracle常用工具程序
6.1 exp
exp(export) 汇出:汇出指定的DBuser、table
example1:
exp ds1/ds1 tables=cusxx_file file=ds1.dmp log=exp_ds1.log
# table名称之后加一个逗点,输入第二个table的名称,即可同时汇出2个以上的table资料
example2:
exp ds1/ds1 tables=cusxx_file file=ds1.dmp rows=n statistics=none log=exp_ds1.log
# 加rows=n备份时只备份table schema资料,再加statistics=none表示table里统计资料不会进行备份,但不影响备份完整性。
6.2 imp
imp(import)汇入:针对已备份的资料进行汇入动作
imp help=y
example1:
imp ds1/ds1 file=test.dmp tables=cusxx_file log=imp_ds1.log
# 将test.dmp文件中指定的table schema,包含table schema里面的资料汇入dbuser中。
example2:
imp system/manager file=test.dmp fromuser=ds1 touser=ds2 ignore=y statistics=none log=imp_ds1.log
七、Backup and Resotre
离线备份
关闭数据库,使用tar指令将/u1和/u2压缩备份
解压之后再使用OS cp指令还原
在线备份
/u3/bin/bak_t100erp 备份脚本
使用imp指令汇入dmp文件
crontab -l 需用root帐号执行
八、重要系统变量
ORACLE:
- ORACLE_HOME:Oracle安装目录
- ORACLE_SID:Oracle Instance Name
- ORACLE_BASE:Oracle Datafiles放置目录
- NLS_LANG:数据库语言别
- NLS_DATE_FORMAT:数据库日期格式
Genro
- FGLDIR:Genero安装路径
- FGLASDIR:Genero Application Server安装路径
- FGLASIP:Genero Application Server IP
- GSTDIR:Genero Studio安装路径
- GREDIR:Genero Report Engine安装路径
- FLMDIR:Four Js License Manager安装路径
- FGLDBPATH:Compile程式,要参考database schema文件路径
- FGLSERVER:GUI mode时,client端的IP
T100 V1.X
- TOP:T100安装目录
- APIP:T100主机IP
- TOPENT:T100企业编号
- TEMPDIR:T100执行与报表输出时的目录
- LOGDIR:T100 log暂存目录
- PATH:将$FGLDIR/bin, T O P / b i n , TOP/bin, TOP/bin,UTL/bin纳入
- CLASSPATH:T100 JAVA文件路径
- JBOSSPATH:T100整合系统目录
九、系统管理
9.1 T100系统ENT与数据库的关系
T100系统使用TOPENT区分企业编号
三个主要的DBuser对应T100系统
DS:系统资料库,是T100系统不可或缺的DBuser
Dsdemo:主要是放置测试和教育训练所使用的资料,环境
Dsdata:正式上线ERP系统时使用的真实数据库
建立新的企业编号:
azzi500 企业编号维护作业
azzi085 数据库连线设定
adzp146:数据库被不正常的锁定,或单身资料被锁定。
Linux日常管理指令:
top:查询主机的资源
ps -ef | grep fastcgi
sar 查询linux主机的使用情况
iostat 查询linux主机的IO运作情况
free 查询Linux主机内存的分布使用