标签:建立 安全 nvarchar 形式 日期 最大值 nes 关系 对象
Oracle 是一个数据库管理系统,是Oracle公司的核心产品。其在数据安全性与安整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据操作能力。基于“客户端/服务器”(Client/Server)系统结构。1.支持多用户、大事务量的事务处理。
2.在保持数据安全性和完整性方面性能优越。
3.支持分布式数据处理。将公布在不同物理位置的数据库用通信网络连接起来,组成一个逻辑上统一的数据库,完成数据处理任务。
4.具有可移植性。Oracle可以在Windows、Linux等多个操作系统平台上使用。
Oracle基本概念:
1.数据库。这里的数据库是磁盘上存储数据的集合,在物理上表现为数据文件、日志文件和控制文件等。在逻辑上以表空间形式存在。必须首先创建数据库,然后才能用Oracle。可以在Database Configuation Assistant上创建。
2.全局数据库名。用于区分一个数据库的标识。它由数据库名称和域名构成,类似网络中的域名,使数据库的命名在整个网络环境中唯一。
3.数据库实例。每个启动的数据库都对应一个数据库实例,由这个实例来访问数据库中的数据。
4.表空间。每个数据库都是由若干个表空间构成的,用户在数据库中建立的所有内容都被存储到表空间中。一个表空间可以由多个数据文件组成,但一个数据文件只能属于一个表空间。
5.数据文件。扩展名是.dbf,是用于存储数据库数据的文件。一个数据文件中可能存储很多个表的数据,而一个表的数据也可以存放在多个数据文件中。数据文件和数据库表不存在一对一的关系。
6.控制文件。技展名.ctl,是一个二进制文件。控制文件是数据库启动及运行所必需的文件。存储数据文件和日志文件的名称和位置。Oracle 11g默认包含三个控制文件。
7.日志文件。扩展名.log,它记录了数据的所有更改信息,并提供了一种数据恢复机制,确保在系统崩溃或其他意外出现后重新恢复数据库。在工作过程中,多个日志文件组之间循环使用。
8.模式和模式对象。模式是数据库对象(表、索引等,也称模式对象)的集合。
1)char数据类型。当需要固定长度字符串时,使用char。长度1~2000字节。如果没有指定大小,默认1字节。如果用户输入的值小于指定的大小,系统用空格填充。如果大于,报错。
2)varchar2数据类型,支持可变长度的字符串。大小为1~4000字节。如果用户输入的值小于指定的大小,不用填充,varchar2数据类型可以节省磁盘空间。如果varchar2想根据定义的长度存储相应的汉字个数
如:varchar2(10 char)
3)nchar数据类型,即国家字符集,使用方法和char相同。用来存储Unicode字符集类型,即双字节字符数据。最小单位1字符。
4)nvarchar2与nchar类似,只是可变长度的。
number数据类型可以存储正数、负数、零、定点数、精度为38信的浮点数。
语法:number(p,s) --如果不写p,s内容,是否是没有限制?
p 为精度,表示数字的有效位数,在1~38之间,从左边第一个不为0的数算起,小数点和负号不计入有效位数。
s 为范围,表示小数右边数字的位数,在-84~+127之间。
规则:首先精确到小数中右边s位,并四舍五入。如果精确后值的有效位数<=p,则正确;否则报错。
1)date数据类型,用于存储表中的日期和时间数据。使用7字节固定长度,每个字节分别存储世纪、年、月、日、时、分和秒。sysdate函数的功能是返回当前的日期和时间。
2)timestamp数据类型,用于存储日期的年、月、日以及时间的小时、分和秒。秒值精确到小数小后6位,包含时区信息。systimestamp函数的功能是返回当前日期、时间和时区。
改变日期格式:
Oracle中的SQL窗口:alter session set nls date format=’YYYY-MM-DD HH24:MI:SS’;//只对当前窗口有效。
环境变量:键:nls_date_format
值:YYYY-MM-DD HH24:MISS
4.游标类型,SYS_REFCURSOR类型是Oracle提供的系统游标类型。
如下,过程返回一个游标类型:
CREATE OR REPLACE PROCEDURE get_sals(
cur_salary OUT SYS_REFCURSOR
)
IS
BEGIN
OPEN our_salary FOR
SELECT empno, sal FROM employee;
END;
简单介绍后我们开始安装!!!
前提条件:database包和flash-player-npapi-26.0.0.131-release.x86_64.rpm包
[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost~]#mkfs -t xfs /dev/sdb1
[root@localhost~]#mount /dev/sdb1 /orc
注:这里需要在虚拟机中添加一块不小于15G的硬盘,重启后生效
[root@localhost ~]#vim /etc/hostname //更改主机名Oracle
HOSTNAME=oracle //重启虚拟机后生效
[root@localhost ~]#vim /etc/hosts
local_host_ip Oracle //本机地址和用户,’O‘为大写
[root@localhost ~]#yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
[root@localhost ~]#vim /etc/sysctl.conf
fs.aio-max-nr = 1048576 #异步IO请求数目 推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个
fs.file-max = 6815744 #打开的文件句柄的最大数量,防止文件描述符耗尽的问题
kernel.shmall = 2097152 #共享内存总量 页为单位,内存除以4K所得
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128 #SEMMSL: 每个信号集的最大信号数量 SEMMNS:用于控制整个 Linux 系统中信号的最大数 SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量 SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量
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 #套接字发送缓冲区大小的最大值
[root@localhost ~]#sysctl -p //重新加载配置文件
[root@localhost ~]#groupadd oinstall
[root@localhost ~]#groupadd dba
[root@localhost ~]#useradd -g oinstall -G dba oracle
[root@localhost ~]#passwd oracle //密码123123
[root@localhost ~]#mkdir -p /orc/app/oracle
[root@localhost ~]#chown -R oracle:oinstall /orc/app/
[root@localhost ~]#chmod -R 755 /orc/app/oracle/
[root@localhost ~]#vim /home/oracle/.bash_profile
umask 022
ORACLE_BASE=/orc/app/oracle
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/
ORACLE_SID=orcl
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
注:这里编辑的内容在末行插入即可,不需要改变原有内容
[root@localhost ~]#vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@localhost ~]#vim /etc/security/limits.conf
oracle soft nproc 2047 #单用户可使用的进程数量
oracle hard nproc 16384
oracle soft nofile 1024 #用户可打开的文件数量
oracle hard nofile 65536
oracle soft stack 10240 #堆栈设置
[root@localhost ~]#vim /etc/profile
if [ $USER = "oracle" ]
then
if [ $SHELL = "/bin/ksh" ]
then
ulimit -p 16384 #缓冲区大小
ulimit -p 65536
else
ulimit -u 16384 -n 65536 #进程数 文件数
fi
fi
[root@localhost ~]#mount database /abc
[root@localhost ~]#xhost + //以root用户在图形化界面操作
[root@localhost ~]#su - oracle //切换oracle用户
[oracle@localhost ~]$cd /abc
[oracle@localhost abc]$export DISPLAY=:0.0
[oracle@localhost database]$./runInstall //执行安装
挂载flash的rpm包安装
[root@localhost ~]#rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm
使用火狐浏览打开
https://Oracle:5500/em
登录名:sys 密码:abc123 勾选:as sysdba
可能遇到问题的解决方案:
1、安装中在进程72%左右弹窗处理
[oracle@localhost ~]$su - root
[root@localhost ~]#/orc/app/oraInventory/orainstRoot.sh
[root@localhost ~]#/orc/app/oracle/product/12.2.0/dbhome_1/root.sh
2、报错磁盘空间不够
①检查添加硬盘的空间大小,不能小于15G
②oracle数据库安装成功后,执行./runInstall命令,可以再次安装,所以这里要避免重复安装
注意事项:
1、只有切换成oracle用户才可以安装,不要在root用户下安装
2、更改主机名时需重启生效,之前的挂载项需要重新挂载
3、界面访问登陆不上,需重新关闭防火墙和网络安全性增强功能
[root@localhost ~]#setenforce 0
标签:建立 安全 nvarchar 形式 日期 最大值 nes 关系 对象
原文地址:http://blog.51cto.com/13687553/2141313