oracle数据库安装配置,开机自动启动数据库启监听,自增ID设置

1.数据库安装参考以下链接,说的非常的全:

linux安装Oracle11G - 淼淼之森 - 博客园

比如下载oracle11g ,linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip这两个压缩包都要下载。

2.数据库安装好、数据库用户创建好后,设置开机启动以及开机监听。

安装上面的教程装好后,是没有设置开机启动的,我上网搜了下方法但是没成功,如下:

Linux下oracle自动启动监听及服务_SKY的专栏-CSDN博客 (你们自己试下,看能不能成功)

需要注意的是在rc.local文件添加的lsnrctl start 和 dbstart前面的路径要改成Oracle实际安装的目录,自己试下那两句命令能不能走得通,实际他的意思就是切换到oracle用户然后执行lsnrctl start和dbstart命令,我手动执行没问题,但重启服务器没执行到,我也不知道为啥。

后面我是通过自己写了个开机或重启执行sh脚本解决的,命令如下:

1.touch /oracle.sh    #在根目录新建sh脚本   

2.vi /oracle.sh  #打开文件,在里面添加以下内容然后保存:

#!/bin/sh
su -l oracle <<EOF
    lsnrctl start
    sqlplus / as sysdba
    CONNECT / AS SYSDBA
    STARTUP
    exit
EOF

代码意思是切换到oracle用户执行:监听启动命令、打开数据库控制台、使用SYSDBA进行连接、启动数据库、关闭数据库控制台。

3.crontab -e  #打开linux定时任务文件编辑保存

SHELL=/bin/bash
#开机或重启时执行
@reboot /bin/bash /oracle.sh

然后重启测试下。用界面化数据库连接看能不能连上或netstat -nultp 看有没监听1521端口。

3.oracle数据导入导出

详细介绍:oracle11g数据库导入导出方法教程_xinxiaoyong的博客-CSDN博客_oracle 导入

expdb/impdp 方式导入导出

1.创建逻辑目录

# 服务器创建目录:
mkdir /opt/expdpdata

# 给目录修改用户和用户组
chown -R oracle:oinstall /opt/expdpdata/

# 给目录读写权限
chmod -R 775 /opt/expdpdata/

# 切换到oracle用户
su -l oracle

# 打开sqlplus
sqlplus / as sysdba

# 创建逻辑目录(目录名称:dp)
create or replace directory dp as '/opt/expdpdata/';

# 给用户(MMZSIT)授权操作该目录
grant read,write on directory dp to mmzsit;

# 导入导出在Linux终端执行######################
# 导出用户表的数据
expdp mmzsit/mmzsit tables=users dumpfile=users.dmp directory=dp

# 导入数据(dmp文件要放到逻辑目录dp映射的实际目录中去/opt/expdpdata/,LOG_SERVICE/Waner123456=用户名/密码),table_exists_action=truncate 的意思是数据旧的修改、新的追加,
impdp mmzsit/mmzsit directory=dp dumpfile=FULLEXPDP.DMP full=y table_exists_action=truncate  

注意:导出导入时,必须确认客户端和服务端数据库字符集相同,不然如果存在中文列,中文会乱码为问号导致报列重复的错误。

4.常用命令(在oracle用户下使用)

lsnrctl start|stop|status  //监听oracle端口 开启|停止|状态 
sqlplus / as sysdba  //打开数据库控制台
sql> connect / as sysdba  //切换到总权限账号
sql> STARTUP   //启动数据库
sql> shutdown immediate  //停止数据库
sql> select username from dba_users;   //oracle查看数据库用户
sql> drop user mmzsit;  //删除mmzsit用户
sql> drop user mmzsit cascade;  //删除mmzsit用户名下的所有表和视图
sql> select userenv('language') from dual; //查看oracle数据库字符集,设置字符集方法:
将Oracle的字符集由AMERICAN_AMERICA.ZHS16GBK修改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK_范一刀的博客-CSDN博客_american字符集

5.ORACLE中创建自增的ID字段

-- 1.创建序列(SET_USERS_ID),其中 INCREMENT 为步长 ; START WITH 为开始的数值 ; MINVALUE 为最小值; MAXVALUE 为最大值 ; NOCYCLE 为不进行循环。
CREATE SEQUENCE "SET_USERS_ID"  INCREMENT BY 1  START WITH 2 MINVALUE 1 MAXVALUE 1.0E28 NOCYCLE;

-- 2.为USERS表ID字段 创建触发器 (TR_USERS_ID)
CREATE OR REPLACE TRIGGER TR_USERS_ID
BEFORE INSERT ON USERS FOR EACH ROW
BEGIN
SELECT SET_USERS_ID.NEXTVAL INTO:NEW.ID FROM DUAL;
END;

--其中NEXTVAL是指序列 SET_USERS_ID 的下一个值 , NEW 表示USERS表的新的一条记录。

参考:oracle 自增类型,ORACLE 中实现自增字段类型_性主神的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值