在windows10上卸载oracle:
http://www.catgovind.com/oracle/how-to-completely-uninstall-oracle-database-12c-windows/
密码过期解决方案:
https://www.cnblogs.com/soar-gh/p/5949158.html
sqlplus sys/Oracle_1@orcl as sysdba;
2、查看用户密码的有效期设置(一般默认的配置文件是DEFAULT)
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
4、帐户再改一次密码
alter user 用户名 identified by 原密码;
搞定.
安装完成之后,用oracle sql developer建立连接,初次连接,需要service name为orcl,用户名只能用sys
用sqlplus登陆,可以用sqlplus / as sysdba; or sqlplus sys/Oracle_1@orcl as sysdba;
如果是Centos7,直接输入sqlplus sys@orcl as sysdba即可
我用oracle登陆进去,输入上述命令,要我输入密码,我输入Goldstar65....成功进入
用sqlplus建立另外一个用户之前,如果直接用create user aaa identified by xxxx, 会报错:ORA-65096: invalid common user or role name.
先来:alter session set "_ORACLE_SCRIPT"=true;
如果是centos,则不用输入上述命令,直接创建即可。
create user aaa identified by xxxx;
grant dba to aaa;
判断tns listener是不是在运行:
lsnrctl status
oracle SID(oracle system ID) 就是oracle系统ID用于唯一标识系统上的特定数据库。
TNS(Transparent Network Substrate)是一种专有的 oracle 计算机网络技术, 它支持在 tcp/ip、sdp 和命名管道等其他网络技术的基础上实现同质的对等连接。tns 主要用于连接到 oracle 数据库。
SYS和SYSTEM账号是安装时生成的。其中SYSTEM账号能创建其它账号。SYSTEM默认密码为MANAGER。
完全手动Windows 10上卸载Oracle 12c r2请看:http://techhowdy.com/completely-uninstall-oracle-database-12c-computer/
两种类型的数据库,container database和pluggable database,
解锁pdb插拔式数据库hr schema,12c采用的多租户架构。
首先需要获取pluggable数据库名称和服务名称
首先sqlplus / as sysdba, 没有指定任何服务,容器或者插拔式数据库名称,默认连接到根容器数据库root container database,这个库总是CDB$ROOT.
sql>show con_name;
显示系统里面的pluggable数据库
sql>select name, con_id from v$pdbs;
pluggable数据库里面有hr schema,我们需要解锁它,首先要从root cdb切换到pluggable pdb(orclpdb)
alter session set container=orclpdb;
切换之后需要打开插拔式数据库
alter pluggable database open;
最后解锁hr用户:
alter user hr identified by hr account unlock;
之后就可以用sql developer来进行访问了。
详细步骤参照:http://www.rebellionrider.com/how-to-unlock-hr-user-in-oracle-database-12c/
手动安装oracle ojdbc8
从oracle网站上www.oracle.com登录之后,下载ojdbc8.jar, 下载之后放到本机的一个目录,然后:
mvn install:install-file -Dfile="D:\requirements\jjjj\ojdbc8.jar" -DgroupId="com.oracle.jdbc" -DartifactId="ojdbc8" -Dversion="12.2.0.1" -Dpackaging=jar
=====================================================================
阿里云CentOS7上静默安装Oracle 12c r2
同事整了两天没有装好,我就接着装了一天,搞定
首先上oracle官网查看安装说明,内容太多了,官网地址如下:
查看installation checklist, 第一条对显卡有要求如下:
Server Display Cards | At least 1024 x 768 display resolution, which Oracle Universal Installer requires. |
在阿里云上提交了一个工单,回答普通的ECS没有显卡,有显卡的很贵,好几万一年。决定采用silent安装。
继续查看checklist,OpenSSH是必须的,上网搜索如何检查OpenSSH是否安装,没有的话安装。
0. ssh -V检查是否有OpenSSH安装
还有一个需要禁掉Transparent HugePages, 上网搜索如何禁掉Transparent HugePages
0. 禁掉Transparent Hugepages
# cat /sys/kernel/mm/transparent_hugepage/enabled
如果输出:
[always] madvise never
表示enable了,这时需要添加transparent_hugepage=never到GRUB_CMDLINE_LINUX选项中,这个选项在/etc/default/grub文件中
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
然后再重新编译一下/boot/grub2/grub.cfg文件
# grub2-mkconfig -o /boot/grub2/grub.cfg
然后再重启系统:
# shutdown -r now
检查一下改动是否成功:
# cat /proc/cmdline
BOOT_IMAGE=/vmlinuz-3.10.0-514.10.2.el7.x86_64 root=/dev/mapper/vg_os-lv_root ro nomodeset crashkernel=auto rd.lvm.lv=vg_os/lv_root rd.lvm.lv=vg_os/lv_swap rhgb quiet transparent_hugepage=never LANG=en_US.UTF-8
接下来主要参考如下文章进行安装:
https://www.tecmint.com/install-oracle-database-12c-on-centos-7/
静默安装还有一个文档,也一并参考:
http://dbaora.com/install-oracle-in-silent-mode-12c-release-2-12-2-on-oel7/
1. yum update -y
2. 安装所有RDBMS的依赖:
# yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip
3. 检查hostname,需要出现在/etc/hosts文件中,阿里云ECS已经设置好了
4. 添加相应的组:
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba
5. 创建oracle用户并且添加到相应的组中
useradd -u 54321 -g oinstall \
-G dba,oper,backupdba,dgdba,kmdba,racdba oracle
6. 设置oracle用户密码
passwd oracle
7. 添加内核参数到/etc/sysctl.conf文件中
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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 = 1048586
8. apply这些参数
# sysctl -p
# sysctl -a
9. 设置limits,在/etc/security/limits.conf中
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728 // 这一条我没有设置
oracle hard memlock 3145728 // 这一条我没有设置
10. 设置swap file,大小4G,主要参考一下网页:
https://linux4one.com/how-to-add-swap-space-on-centos-7/
首先swapon --show检查有没有swap file,如果没有输出,则没有,这时,请按下述步骤设置:
11. dd if=/dev/zero of=/swapfile bs=1024 count=4096k
12. chmod 600 /swapfile
13. mkswap /swapfile
14 swapon /swapfile
接下来使swapfile永久生效:
先备份一下:
15. cp /etc/fstab /etc/fstab.bak
永久生效:
16. echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab
如果在安装过程中,创建的swapfile大小不够,会提示错误,这时候要先删除swapfile然后再重新创建一个
参考如下文档如何删除swapfile
https://www.jb51.net/article/138132.htm
17. 验证是否添加swap成功,
swapon --show
18. 安装smartmontools, 找到网站:
https://centos.pkgs.org/7/centos-x86_64/smartmontools-6.5-1.el7.x86_64.rpm.html
安装方法为:
19.
# yum install smartmontools
20. 创建安装过程中的目录:
# mkdir /u01
# mkdir /u02
# chown -R oracle:oinstall /u01
# chown -R oracle:oinstall /u02
# chmod -R 775 /u01
# chmod -R 775 /u02
# chmod g+s /u01
# chmod g+s /u02
21. 然后把oracle 12c r2安装文件从官网上下载下来,3.2G,上传到/opt/oracle目录,并更改权限
22. 解压安装文件,
unzip linuxx64_12201_database.zip -d /stage/
23. 编辑response文件如下,编辑过程中参考了国产文档如下:
http://www.cnblogs.com/ivictor/p/4384583.html
实际内容如下,已经删除注释
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_AND_CONFIG
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=SE2
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rac.configurationType=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.rac.serverpoolName=
oracle.install.db.rac.serverpoolCardinality=
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.ConfigureAsContainerDB=
oracle.install.db.config.PDBName=
oracle.install.db.config.starterdb.characterSet=AL32UTF8
// 如果物理内存大于4G,下面需要改为false
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1024
oracle.install.db.config.starterdb.installExampleSchemas=
oracle.install.db.config.starterdb.password.ALL=Goldstar6**
oracle.install.db.config.starterdb.password.SYS=Goldstar6**
oracle.install.db.config.starterdb.password.SYSTEM=Goldstar6**
oracle.install.db.config.starterdb.password.DBSNMP=Goldstar6**
oracle.install.db.config.starterdb.password.PDBADMIN=Goldstar6**
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=true
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u02/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u02/app/oracle/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
COLLECTOR_SUPPORTHUB_URL=
最后安装成功
安装命令如下:
su - oracle
./runInstaller -silent -showProgress -responseFile /stage/database/response/db_install.rsp
============================================================
安装之后,要使得oracle能够运行,需要编辑oracle home目录里面的.bash_profile文件如下:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
修改完了,再reload .bash_profile用下面的命令
. ~/.bash_profile
注意前面还有一个点
然后从oracle官网上下载64位jre rpm包,上传到服务器
用下面的命令安装:
rpm -ivh jre-8u201-linux-x64.rpm
编译一个war文件:
./mvnw -Pprod package -DskipTests
上传到CentOS,然后输入:
$nohup ./aaa.war &
就切换到后台运行了,即使关了putty也没事。
杀掉aaa.war运行的进程
&ps -ef | grep "aaa*"
&kill pid
===================================================
没有严格按照流程去添加数据库表,导致liquibase不更新数据库了,找了很多资料,比如drop数据库,然后再重建
数据库,但是oracle的方法太麻烦,最后找到一个帖子:
必须要在pom文件当中设置好连接数据库的数据,比如用户名,密码,连接字符串等。
然后用mvn liquibase:dropAll来删除所有的表,但是第一次说不让删,说是没有能获取到lock
用sql developer把DATABASECHANGELOGLOCK表里面的内容删掉,然后再次运行一下上面命令就好了。
列举所有的oracle数据库:
SELECT DISTINCT OWNER FROM ALL_OBJECTS;