美文网首页
Oracle系列三:在Centos下静默部署oracle11g

Oracle系列三:在Centos下静默部署oracle11g

作者: 进击的杰克马 | 来源:发表于2019-04-02 19:37 被阅读0次

测试oracle

sqlplus / as sysdba
image.png
select status from v$instance;
image.png

navicat连接报错解决

image.png

OCI下载地址:
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

值得注意的是不管你使用的是32位系统还是64位系统,都应该下载32位的Install Client.

还有一点要注意,Oracle9i或以上版本的,要安装Install Client11或以下;Oracle8或8i服务器,需要安装Install Client10或以下。这个问题不大,因为我们现在的Oracle都是10或11了,注意一下就好。
然后选择左边选项卡中的其他-OCI.


image.png image.png

重启软件后即可连接

常用相关sql

--首先查看用户名和用户状态
SELECT username,account_status FROM dba_users ORDER BY username;  

--解锁
ALTER USER SCOTT ACCOUNT UNLOCK 

--通过修改密码来改变状态
ALTER USER "SCOTT" IDENTIFIED BY "oracle"

# 下面是相反的步骤

--使其密码过期
ALTER USER "SCOTT" PASSWORD EXPIRE

--锁住账号
ALTER USER SCOTT ACCOUNT LOCK 

关闭数据库

1)正常关闭 shutdown 
2) 立即关闭 shutdown immediate 
3) 关闭事务 shutdown transactional 
4) 强行关闭 shutdown abort,当然谁都不想碰到这种情况。 

启动数据库
启动模式有3种:

Startup nomount (nomount模式)启动实例不加载数据库。 
Startup mount (mount模式)启动实例加载数据库但不打开数据库 
Startup (open 模式)启动实例加载并打开数据库,就是我们上面所用的命令 
Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,

oracle的常用命令

dbca 数据库配置器
netca 监听器配置器
netmgr 监听控制器
dbstart 开启数据库
dbshut 关闭数据库
lsnrctl start 开启监听
lsnrctl stop 关闭监听
emctl start dbconsole 开启em控制台
emctl stop dbconsole 关闭em控制台
sqlplus / as sysdba 使用sysdba权限登录当前数据库

帐户有效期

--检查该用戶的profile是哪個,一般都是DEFAULT。
SELECT username,PROFILE FROM dba_users;

--查看该DEFAULT的密码有效期配置。
SELECT * FROM dba_profiles d WHERE d.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

--將密码有效期由180天改成无期限。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;  

image.png image.png image.png image.png

到这里就已经搞定,但是这只是代表了后面用别的用户登录不会出现ORA-28002错误,但之前我们用sys用户登录该用户密码依然会在7天后过期,所以只需要我们在修改一次密码行了。

alter user sys identified by 密码

设置开机启动

[oracle@oracle ~]$ vim /oracle/product/11.2.0/dbhome_1/bin/dbstart
#将ORACLE_HOME_LISTNER=$1
#修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

[oracle@oracle ~]$ vim /oracle/product/11.2.0/dbhome_1/bin/dbshut
#将ORACLE_HOME_LISTNER=$1
#修改为ORACLE_HOME_LISTNER=$ORACLE_HOME

[oracle@oracle ~]$ vim /etc/oratab
#将orcl:oracle/product/11.2.0/dbhome_1:N中最后的N改为Y

创建启动文件

#用root用户执行
[root@oracle ~]$ vim /etc/init.d/oracle


#新增以下内容

#! /bin/bash
# chkconfig: 234 61 61
# description: Oracle 11g AutoRun Service
# /etc/rc.d/init.d/oracle
case "$1" in
    start)
        # starts oracle listener and instance
        echo "Starting Oracle Database:"
        su - oracle -lc "lsnrctl start"
        su - oracle -lc dbstart
        ;;
    stop)
        # shutdown oracle listner and instance
        echo "Shuting down Oracle Database:"
        su - oracle -lc "lsnrctl stop"
        su - oracle -lc dbshut
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
     echo "Usage: {start|stop|reload|restart}"
     exit 1
esac
exit 0

检查脚本是否能正常运行

#用root用户执行
cd /etc/rc.d/init.d

./oracle start

./oracle stop

设置启动文件权限

#用root用户执行
chmod 750 /etc/rc.d/init.d/oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle
ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle
chkconfig --level 234 oracle on
#备注:如果执行此命令出现oracle 服务不支持 chkconfig,请认真检查/etc/rc.d/init.d/oracle脚本,是否复制到时候缺少了一些字母,本人就是复制的时候少了些字符,导致出现这个问题
chkconfig --add oracle

注意:执行chkconfig时,需要在脚本中添加至少两行注释行(第3步中),第一行告诉chkconfig该服务的运行级别;第二行添加关于服务的简要说明。

重启测试

[root@oracle ~]$ reboot

su - oracle 

[oracle@oracle ems]$ lsnrctl status


#如果有未找到命令请使用
su - oracle
进行登录
而不是
su oracle
再每次
source ~/.bash_profile

重启后查看监听状态,如果这样子就是对的

image.png

Oracle Enterprise Manager实现

https://localhost:1158/em
发现登录不上去

[oracle@oracle database]$ emctl start dbconsole
Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name.

[oracle@oracle database]$ export ORACLE_UNQNAME=orcl

[oracle@oracle database]$ emctl start dbconsole
OC4J Configuration issue. /oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_DBConsole_oracle.server_orcl not found. 

其实产生的这样的情况,可能是em资料库配置不正确或者是dbcotrol没有配置好。

解决:

重建em资料

[oracle@oracle database]$ emca -repos recreate
... 
Enter the following information:
Database SID: orcl
Listener port number: 1521
Password for SYS user: oracle
Password for SYSMAN user: oracle
Do you wish to continue? [yes(Y)/no(N)]: y
    

配置dbcontrol

[oracle@oracle database]$ emca -config dbcontrol db 

登录操作

http://localhost.localdomain:1158/em/


SYS
oracle

Oracle11G的EM采用了web方式,并且分成了2个产品,database control和grid control。Grid control需要下载单独的光盘安装。在用DBCA建库的时候,可以选择是否启用dbcontrol,启用的话需要在数据库中建立一个sysman的 schema,用于保存EM的一些数据,这个就是EM的资料库(repository)。使用命令行工具emca可以创建,修改,重建或者删除 dbcontrol的配置。

emca -repos create: 创建新的 Database Control 资料档案库
emca -repos drop: 删除当前的 Database Control 资料档案库
emca -repos recreate: 删除当前的 Database Control 资料档案库并重新创建一个

emca -config dbcontrol db:配置数据库的 Database Control
emca -deconfig dbcontrol db:取消数据库的 Database Control

注:(1)如果服务器上存在多个数据库,必须在启动Database control之前设置ORACLE_SID环境变量
(2)最好使用静态IP地址来配置服务器

重启关闭后无法登陆

时区纠正为东8区

[oracle@oracle database]$ sqlplus / as sysdba

SQL> select dbtimezone from dual;

DBTIME
------
+00:00


SQL> select systimestamp from dual;

SYSTIMESTAMP
---------------------------------------------------------------------------
21-MAR-19 05.51.50.088610 PM +08:00

SQL> select u.name||'.'||o.name||'.'||c.name tsltz_column
 from sys.obj$ o,sys.col$ c,sys.user$ u
 where c.type#=231 and
       o.obj#=c.obj# and
       u.user#=o.owner#;  2    3    4    5  

no rows selected

纠正时间

SQL> alter database set time_zone='+8:00';

Database altered.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup;
ORACLE instance started.

Total System Global Area 1586708480 bytes
Fixed Size            2213736 bytes
Variable Size          973080728 bytes
Database Buffers      603979776 bytes
Redo Buffers            7434240 bytes
Database mounted.
Database opened.

SQL> select dbtimezone from dual;

DBTIME
------
+08:00

[oracle@oracle database]$ emctl start dbconsole

参考资料以及有待补全

https://www.oracle.com/technetwork/cn/articles/oem-packs-overview-195704-zhs.html

http://xuexinyu.com/2018/02/24/Linux%E9%9D%99%E9%BB%98%E6%A8%A1%E5%BC%8F%E5%AE%89%E8%A3%85oracle11g/

相关文章

网友评论

      本文标题:Oracle系列三:在Centos下静默部署oracle11g

      本文链接:https://www.haomeiwen.com/subject/ezdpmqtx.html