CentOS 7静默安装Oracle 11g
资源自取:
https://pan.baidu.com/s/1zHk3cdAAbMr9phxAXaUdAQ
提取码:ilza
- 切换root用户
su root
- 在/etc/hosts文件中添加本机IP跟主机名
更改主机名称:/etc/sysconfig/network /etc/hosts(需要重启)
查看主机名称:hostname
查看主机ip:hostname -i 或 ip addr 或 ifconfig
vim /etc/hosts
在文件最后添加centos系统的ip地址和主机名称两者用空格间隔
- 关闭selinux
vi /etc/selinux/config
设置SELINUX= enforcing 为SELINUX=disabled
- 关闭防火墙
systemctl disable firewalld
- 安装Oracle 11g依赖包
yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static elfutils-libelf-devel ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel libXp*
- 修改内核参数
vi /etc/sysctl.conf
添加内容:
io-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
参数生效:
sysctl -p
- 修改用户的限制文件
vi /etc/security/limits.conf
添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
使配置生效
source /etc/security/limits.conf
- 修改login文件
vi /etc/pam.d/login
添加内容如下:
session required /lib64/security/pam_limits.so
session required pam_limits.so
- 修改/etc/profile文件
vi /etc/profile
添加以下内容:
if [ $USER = "oracle" ]; then
ulimit -u 16384 -n 65536
fi
使配置生效
source /etc/profile
- 添加oinstall 、dba 组,新建oracle用户并加入oinstall、dba组中
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
-更改oracle用户密码
passwd oracle
- 创建安装目录、修改文件权限
mkdir -p /u01/app/oracle/product/11.2.0
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/inventory
mkdir -p /u01/app/oracle/fast_recovery_area
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app/
- 上传oracle软件包到 /tmp目录下
- 解压oracle软件包
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
- 切换到oracle用户,设置oracle用户环境变量
su - oracle
vi .bash_profile
添加以下内容:
export PATH
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
- 编辑静默安装响应文件
- 切换root用户
su root
- 进入oracle安装包解压后的目录并备份db_install.rsp文件
cd /tmp/database/response/
cp db_install.rsp db_install.rsp.bank
- 编辑db_install.rsp文件
vi db_install.rsp
修改以下参数(注意是修改)
查找等号前面的内容后将原文件等号后面的值改成下面相应的值
有的会出现多次请全部替换
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
- 切换oracle用户
su - oracle
- 根据响应文件安装oracle 11g
unset DISPLAY
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
安装成功界面
- 按照提示切换root用户运行脚本
su root
sh /u01/app/oracle/inventory/orainstRoot.sh
sh /u01/app/oracle/product/11.2.0/root.sh
- 切换oracle用户配置监听
su - oracle
export DISPLAY=localhost:0.0
netca -silent -responseFile /tmp/database/response/netca.rsp
成功运行后,会在/u01/app/oracle/product/11.2.0/network/admin/ 中生成listener.ora和sqlnet.ora两个文件
- 查看监听端口:
netstat -tnulp | grep 1521
监听开启截图:
- 建立新库,同时建立对应的实例
切换到root用户,编辑 /tmp/database/response/dbca.rsp
su root
vi /tmp/database/response/dbca.rsp
修改以下内容:
同样找到对应内容修改等号后面的值,可能内容出现多次都做相应修改就行
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"
- 进行静默配置
su - oracle
dbca -silent -responseFile /tmp/database/response/dbca.rsp
配置成功截图:
- 完成建库后进行实例检查
ps -ef | grep ora_ | grep -v grep
- 登录sqlplus启动数据库
sqlplus / as sysdba
- 启动数据库:
SQL> startup
看到以下信息,表明数据库实例已经启动成功,至此,oracle 11g静默安装完成结束。
shell脚本安装oracle11g
脚本适用centOS6.8上安装oracle11g
1.将Oracle安装文件上传到/tmp目录下(不要解压更改名称)
2.切换root用户运行oracle11g.sh文件
[root@localhost ~]# sh oracle11g.sh
链接:https://pan.baidu.com/s/1kAx5czdymsKZwXGUmaFUMA
提取码:zpyo
数据库使用常用代码:
- 1.启动监听器
lsnrctl start --启动监听器
lsnrctl stop --关闭监听器
lsnrctl status --查看监听器的状态
监听文件oracle路径下的 /product/112010/db_1/network/admin/listener.ora - 2.启动数据库
SQL>startup
关闭数据库
SQL>shutdown immediate - 3.centos6.8关闭防火墙:service iptables stop
centos7查看防火墙状态:systemctl status firewalld
centos7停止防火墙:systemctl stop firewalld
Redhat安装图形界面
- 挂载
mount /dev/cdrom /mnt/cdrom
- 修改yum配置文件
vi /etc/yum.repos.d/redhat.repo
添加代码:
[cdrom]
name=RedhatEnterprise Linux 7.0 for Local Media
baseurl=file:///mnt/cdrom
enable=1
gpkcheck=0
- 保存后运行
yum group list
出现Done
- 安装GUI
yum -y groupinstall "Server with GUI"
- 启动:
startx
- 设置启动模式是图形界面:
不要使用 cat /etc/inittab后,inittab会改到systemd下面
rm /etc/systemd/system/default.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
ubuntu上搭建SVN:
- 查看是否安装SVN:
svn
- 卸载SVN:
sudo apt-get remove --purge subversion
- 安装SVN:
先更新后安装:
sudo apt-get update
sudo apt-get install subversion
- 创建SVN版本库:
①创建svn的repository文件夹并更改权限:
sudo mkdir /home/svn/repository
sudo chmod -R 777 /home/svn/repository
②创建版本库:
sudo svnadmin create /home/svn/repository
会在rep文件夹下生成db等文件然后对db进行权限设置
sudo chmod -R 777 db
③编辑conf文件夹下authz文件:
[groups]末尾下添加:
admin = 用户名 //用户smwang属于admin权限组
# [/foo/bar]末尾添加:
[/]
@admin = rw //admin权限组的权限是读和写
# [repository:/baz/fuz]末尾添加:权限可以自己定义
[repos:/]
@admin = rw
* = rw //所有的组都具有读权限和写权限
④编辑svnserve.conf文件:
auth-access = write
password-db = passwd
authz-db = authz
realm = repos
⑤添加访问用户编辑passwd文件:
文件末尾添加:用户名 = 密码 例如:liubaosong = liubs
- 启动svn服务:
svnserve -d -r /home/svn
//-d:表示在后台运行 ,-r:指定服务器的根目录(服务器路径)
- 查看svnserve是否已经运行:
ps aux | grep svnserve
- 停止svn服务:
killall svnserve
- 访问地址:
svn://服务器ip地址/repository
忘记密码
- Ubuntu
开机按e键编辑启动项,找到root=UUID=将ro及后面的内容更改为 rw single init=/bin/bash 保存重启机器并重新设置密码 - CentOS
开机按e键得到下图
按上下键选择中间项然后按e键会得到下图,在后面加一个1会进入single模式回车就行
然后按b键后会进入单用户模式输入passwd就可以更改密码了
- Redhat
开机出现引导界面时按e键进入内核编辑界面在linux16参数这行的最后追加rd.break,然后按Ctrl+X 组合键来运行修改过的内核
大概30秒进入紧急救援模式输入下面的命令
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit
reboot
CentOS6.8上安装MySQL
- 下载MySQL
https://dev.mysql.com/downloads/file/?id=413140
- 使用Xftp上传到/tmp文件下
如果是在虚拟机中可以将压缩包放到共享文件下 - 进入/tmp路径下解压并文件
cd /tmp
tar -zvxf mysql-5.6.12-linux-glibc2.5-x86_64.tar.gz
执行上面两个代码
得到文件 mysql-5.6.12-linux-glibc2.5-x86_64(图中第一个文件)
- 将mysql-5.6.12-linux-glibc2.5-x86_64 文件复制到/usr/local/mysql文件下
cp -r mysql-5.6.12-linux-glibc2.5-x86_64 /usr/local/mysql
- 接下来创建mysql用户和组
groupadd mysql
useradd -r -g mysql mysql
我的之前创建过所以提示已存在
- 进入到/usr/local/mysql文件夹下执行下面的代码初始化MySQL
cd /usr/local/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql
截图如下
可能结果中有警告(我当时是第一次安装失败了的截图)解决方法:
mv /etc/my.cnf /etc/my.cnf.bank
- 继续
chown -R root:root ./
chown -R mysql:mysql data
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 2345 mysqld on
- 启动MySQL服务
service mysqld start
出现错误(网上有好多解决方法但是找到适合自己的才行)
Starting MySQL… ERROR! The server quit without updating PID file (/var/lib/mysql/liubs_oracle.pid).
解决方法:
mv /etc/my.cnf /etc/my.cnf.bank
再次启动mysql服务就没问题了(如果还有问题就自行百度)
ps -ef|grep mysql 查看mysql进程
- 设置mysql用户名及密码
./bin/mysqladmin -u root password '密码'
./mysql -u root -p '密码'
- 建立软连接
ln -s /usr/local/mysql/bin/mysql /usr/bin
- 登录mysql输入用户名及密码
mysql -uroot -p
不出意外又会报错
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
解决代码:
cd /tmp
touch mysql.sock
chmod 777 mysql.sock
cd /usr/local/mysql
vim my.cnf
文件内容更改为
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
#server_id = .....
socket = /tmp/mysql.sock
文件截图:
- 然后重启mysql服务
service mysql restart
- 登录mysql
- 可以参照Oracle数据库创建emp,dept表
--查看所有数据库
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
--切换到test数据库
mysql> use test
Database changed
--查看所有表
mysql> show tables;
Empty set (0.00 sec)
--创建dept表
mysql> create table DEPT ( deptno int(2) not null, dname CHAR(14), loc CHAR(13) );
Query OK, 0 rows affected (0.05 sec)
--添加主键约束
mysql> alter table DEPT
-> add constraint PK_DEPT primary key (DEPTNO);
Query OK, 0 rows affected (0.09 sec)
Records: 0 Duplicates: 0 Warnings: 0
--查看表结构
mysql> desc DEPT;
+--------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| deptno | int(2) | NO | PRI | NULL | |
| dname | char(14) | YES | | NULL | |
| loc | char(13) | YES | | NULL | |
+--------+----------+------+-----+---------+-------+
3 rows in set (0.00 sec)
--插入数据
mysql> INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEW YORK');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DEPT VALUES(20,'RESEARCH','DALLAS');
Query OK, 1 row affected (0.01 sec)
mysql> INSERT INTO DEPT VALUES(30,'SALES','CHICAGO');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DEPT VALUES(40,'OPERATIONS','BOSTON');
Query OK, 1 row affected (0.00 sec)
--创建EMP表
mysql> create table EMP (
empno INT(4) not null,
ename CHAR(10),
job CHAR(9),
mgr INT(4),
hiredate DATE,
sal INT(7),
comm INT(7),
deptno INT(2) );
Query OK, 0 rows affected (0.05 sec)
--添加约束
mysql> alter table EMP
-> add constraint PK_EMP primary key (EMPNO);
mysql> alter table EMP
-> add constraint FK_DEPTNO foreign key (DEPTNO)
-> references DEPT (DEPTNO);
--插入数据
mysql>insert into EMP values(7369,'SMITH','CLERK',7902,19801217,800,null,20);
insert into EMP values(7499,'ALLEN','SALESMAN',7698,19810220,1600,300,30);
insert into EMP values(7521,'WARD','SALESMAN',7698,19810222,1250,500,30);
insert into EMP values(7566,'JONES','MANAGER',7839,19810402,2975,null,20);
insert into EMP values(7654,'MARTIN','SALESMAN',7698,19810928,1250,1400,30);
insert into EMP values(7698,'BLAKE','MANAGER',7839,19810501,2850,null,30);
insert into EMP values(7782,'CLARK','MANAGER',7839,19810609,2450,null,10);
insert into EMP values(7788,'SCOTT','ANALYST',7566,19870419,3000,null,20);
insert into EMP values(7839,'KING','PRESIDENT',null,19811117,5000,null,10);
insert into EMP values(7844,'TURNER','SALESMAN',7698,19810908,1500,0,30);
insert into EMP values(7876,'ADAMS','CLERK',7788,19870523,1100,null,20);
insert into EMP values(7900,'JAMES','CLERK',7698,19811203,950,null,30);
insert into EMP values(7902,'FORD','ANALYST',7566,19811203,3000,null,20);
insert into EMP values(7934,'MILLER','CLERK',7782,19820123,1300,null,10);
--查看EMP表
mysql> select * from EMP;
+-------+------------+-----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+------------+-----------+------+------------+------+------+--------+
| 7000 | liubaosong | MANAGER | 7369 | 2014-09-01 | 5000 | NULL | 30 |
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
+-------+------------+-----------+------+------------+------+------+--------+
14 rows in set (0.00 sec)
远程无法访问mysql解决方法:
1.登录mysql:
mysql -u root -p123456
2.授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
3.刷新一下权限:
flush privileges;