2019独角兽企业重金招聘Python工程师标准>>>
说明:该教程转自CSDN,大体流程是正确的,但是里面有写路径配置是混乱的,先转过来,等有时间了再改下。
根据这个教程,阿里云上面已经配置好了oracle,系统是centos 6.5
listen.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ***.***.***.***)(PORT = 1521))
)
)
~
sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (all)
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
ADR_BASE = /home/oracle/app
创建用户和表空间
--1.表空间
CREATE TABLESPACE sdt DATAFILE '/home/oracle/tablespace/mdata' size 400M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--2.建用户
create user aslan identified by aslan default tablespace sdt;
--3.赋权
grant connect,resource to aslan ;
grant create any sequence to aslan ;
grant create any table to aslan ;
grant delete any table to aslan ;
grant insert any table to aslan ;
grant select any table to aslan ;
grant unlimited tablespace to aslan ;
grant execute any procedure to aslan ;
grant update any table to aslan ;
grant create any view to aslan ;
删除用户和表空间命令:
步骤一: 删除user
drop user ×× cascade
说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。
步骤二: 删除tablespace
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
查询表空间:
select ts#,name from v$tablespace;
开放1521端口号:
#vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
proc编程:
通过proc方式连接oracle数据库,读取,插入数据。
本文借鉴了以下作者的文章:http://www.cnblogs.com/zhangyongli2011/archive/2012/04/04/2431953.html 和 http://blog.csdn.net/lnwf5188588/article/details/8683887
阿里云SUSE Linux安装oracle11g
安装环境
Linux服务器:SuSe11 sp2 64位
Oracle服务器:Oracle11gR2 64位
系统要求
- Linux安装Oracle系统要求
系统要求 |
说明 |
内存 |
必须高于1G的物理内存 |
交换空间 |
可以不用交换空间,目前阿里云默认没有开启,也可以安装。(开启方法:http://blog.csdn.net/u012203437/article/details/49737365) |
硬盘 |
5G以上 |
2.修改操作系统核心参数
在Root用户下执行以下步骤:
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047 |
编辑完成后按Esc键,输入“:wq”存盘退出
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.so |
编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744 |
编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
linux:~ # sysctl -p net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 |
5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ]; then fi |
编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建用户,输入命令: groupadd oinstall 创建Oracle用户和密码,输入命令: useradd -g oinstall -g dba -m oracle passwd oracle 然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认 |
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令: mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product |
8)更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
|
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022 export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib |
编辑完成后按Esc键,输入“:wq”存盘退出
安装过程(静默安装)
1.解压安装文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
2.准备db_install.rsp响应文件
cat /home/oracle/database/response/db_install.rsp |grep -v '#' > /home/oracle/db_install.rsp
修改下列参数:
vim /home/oracle/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=calvin1.sink.com
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/data/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.password.ALL=oracle
DECLINE_SECURITY_UPDATES=true
3. 准备dbca.rsp响应文件
cp /home/oracle/database/response/dbca.rsp /home/oracle/
vi dbca.rsp 修改以下内容
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
如果需要使用Oracle Enterprise Manager,则还需要修改以下参数如下:
EMCONFIGURATION="LOCAL"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
4.准备监听响应文件
cat /home/oracle/database/response/netca.rsp |grep -v '#' >/home/oracle/netca.rsp
修改以下内容
vi /home/oracle/netca.rsp/netca.rsp
INSTALL_TYPE=""custom""
5.安装oracle11g
/soft/database/runInstaller -silent -responseFile /home/oracle/db_install.rsp
安装说明:
a. 选项-silent表示静默安装,免安装交互,大部分安装信息也不输出
b. 选项-responseFile指定应答文件,要求用绝对路径
c. 执行./runInstaller -help可以查看安装帮助
d. 若忽略-silent选项,将会允许交互,对于应答文件中未设置的项可以再手工指定
e. 若添加-noconfig选项,可以忽略应答文件中的安装类型,而仅安装数据库软件
安装后运行
/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
/home/oracle/app/oracle/oraInventory/orainstRoot.sh
6.创建数据库
dbca -silent -cloneTemplate -responseFile /home/oracle/dbca.rsp
7.创建监听
netca /silent /responseFile /home/oracle/netca.rsp
8.修改三个数据库配置文件(listener.ora, sqlnet.ora, tnsnames.ora)
listener.ora
# listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = iZ23cugu66kZ)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /home/oracle/app
sqlnet.ora
# sqlnet.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
#NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
ADR_BASE = /home/oracle/app
tnsnames.ora
# tnsnames.ora Network Configuration File:
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = iZ23cugu66kZ)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
其中HOST就是主机名,可以到/etc/hosts进行查看
9.开启oracle监听
lsnrctl start
dbstart $ORACLE_HOME
10.创建表空间及用户
/*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace user_data logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */ create user username identified by password default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */ grant connect,resource,dba to username;
至此,数据库安装完成。
提醒一点,在阿里云服务器上运行服务,最好关闭ping功能,防止ping攻击
下面关闭Linux服务器的ICMP协议。用根用户登录系统,然后输入命令“echo "1" >/proc/sys/net/ipv4/icmp_echo_ignore_all”编辑配置文件。
这里小编要说明的是当前用户必须是root也就是根用户,否则没有权限修改配置文件。